Skip to content
Snippets Groups Projects
Commit e6765df1 authored by AndreyL ProductEngine's avatar AndreyL ProductEngine
Browse files

Merged in lindenlab/viewer-bear

parents b0950991 02342cb9
No related branches found
No related tags found
No related merge requests found
Showing
with 233 additions and 156 deletions
...@@ -532,3 +532,4 @@ abcab37e1b29414ab8c03af9ca2ab489d809788a 5.0.7-release ...@@ -532,3 +532,4 @@ abcab37e1b29414ab8c03af9ca2ab489d809788a 5.0.7-release
505a492f30bd925bb48e2e093ae77c3c2b4c740f 5.0.8-release 505a492f30bd925bb48e2e093ae77c3c2b4c740f 5.0.8-release
40ca7118765be85a043b31b011e4ee6bd9e33c95 5.0.9-release 40ca7118765be85a043b31b011e4ee6bd9e33c95 5.0.9-release
ad0e15543836d64d6399d28b32852510435e344a 5.1.0-release ad0e15543836d64d6399d28b32852510435e344a 5.1.0-release
26d9e9bb166a9a417f35b1863223a597af8185fd 5.1.1-release
...@@ -2213,6 +2213,35 @@ ...@@ -2213,6 +2213,35 @@
<key>version</key> <key>version</key>
<string>0.9.3.506286</string> <string>0.9.3.506286</string>
</map> </map>
<key>llca</key>
<map>
<key>copyright</key>
<string>Copyright (c) 2016, Linden Research, Inc.; data provided by the Mozilla NSS Project.
</string>
<key>license</key>
<string>mit</string>
<key>license_file</key>
<string>LICENSES/ca-license.txt</string>
<key>name</key>
<string>llca</string>
<key>platforms</key>
<map>
<key>common</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>dd008981cac7ede93efa6cefe4ee61a0</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12484/73813/llca-201801172118.511910-common-511910.tar.bz2</string>
</map>
<key>name</key>
<string>common</string>
</map>
</map>
<key>version</key>
<string>201801172118.511910</string>
</map>
<key>llphysicsextensions_source</key> <key>llphysicsextensions_source</key>
<map> <map>
<key>copyright</key> <key>copyright</key>
...@@ -2991,9 +3020,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> ...@@ -2991,9 +3020,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key> <key>archive</key>
<map> <map>
<key>hash</key> <key>hash</key>
<string>8c2f921001a8ee29b826a45181465735</string> <string>511a9c3fd4b6c76a8a737d06bba1c291</string>
<key>url</key> <key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/p64_3p-slvoice/rev/314209/arch/Darwin/installer/slvoice-4.6.0017.21209.314209-darwin-314209.tar.bz2</string> <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/oz-426-slvoice/rev/330003/arch/Darwin/installer/slvoice-4.9.0002.27586.330003-darwin-330003.tar.bz2</string>
</map> </map>
<key>name</key> <key>name</key>
<string>darwin</string> <string>darwin</string>
...@@ -3003,9 +3032,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> ...@@ -3003,9 +3032,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key> <key>archive</key>
<map> <map>
<key>hash</key> <key>hash</key>
<string>c9b0d816cf14bebba138ea6f9f463553</string> <string>b1b0134bc55f55a7c1a04ee78d70c64d</string>
<key>url</key> <key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/614/1294/slvoice-4.6.0017.21209.500605-darwin64-500605.tar.bz2</string> <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12438/73598/slvoice-4.9.0002.27586.511884-darwin64-511884.tar.bz2</string>
</map> </map>
<key>name</key> <key>name</key>
<string>darwin64</string> <string>darwin64</string>
...@@ -3015,9 +3044,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> ...@@ -3015,9 +3044,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key> <key>archive</key>
<map> <map>
<key>hash</key> <key>hash</key>
<string>e5832a68562c3409a56a3583d101864b</string> <string>785c86999b56e1838cefb430f674cba7</string>
<key>url</key> <key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/p64_3p-slvoice/rev/314209/arch/Linux/installer/slvoice-3.2.0002.10426.314209-linux-314209.tar.bz2</string> <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/oz-426-slvoice/rev/330003/arch/Linux/installer/slvoice-3.2.0002.10426.330003-linux-330003.tar.bz2</string>
</map> </map>
<key>name</key> <key>name</key>
<string>linux</string> <string>linux</string>
...@@ -3039,9 +3068,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> ...@@ -3039,9 +3068,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key> <key>archive</key>
<map> <map>
<key>hash</key> <key>hash</key>
<string>3ce62e3696f26a1e09e0c769280e5608</string> <string>ec50c31efce74bdedee470b5388aeeec</string>
<key>url</key> <key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/616/1300/slvoice-4.6.0017.21209.500605-windows-500605.tar.bz2</string> <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12434/73576/slvoice-4.9.0002.27586.511884-windows-511884.tar.bz2</string>
</map> </map>
<key>name</key> <key>name</key>
<string>windows</string> <string>windows</string>
...@@ -3051,16 +3080,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> ...@@ -3051,16 +3080,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key> <key>archive</key>
<map> <map>
<key>hash</key> <key>hash</key>
<string>61c41dd565e2caa38bd0056970094749</string> <string>4bf45d641bf5b2bd6b2cc39edcb01a6e</string>
<key>url</key> <key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/615/1297/slvoice-4.6.0017.21209.500605-windows64-500605.tar.bz2</string> <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12433/73570/slvoice-4.9.0002.27586.511884-windows64-511884.tar.bz2</string>
</map> </map>
<key>name</key> <key>name</key>
<string>windows64</string> <string>windows64</string>
</map> </map>
</map> </map>
<key>version</key> <key>version</key>
<string>4.6.0017.21209.500605</string> <string>4.9.0002.27586.511884</string>
</map> </map>
<key>tut</key> <key>tut</key>
<map> <map>
......
...@@ -20,11 +20,18 @@ if(WINDOWS) ...@@ -20,11 +20,18 @@ if(WINDOWS)
set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
set(vivox_files set(vivox_files
SLVoice.exe SLVoice.exe
libsndfile-1.dll
vivoxsdk.dll
ortp.dll
vivoxoal.dll
) )
if (ADDRESS_SIZE EQUAL 64)
list(APPEND vivox_files
vivoxsdk_x64.dll
ortp_x64.dll
)
else (ADDRESS_SIZE EQUAL 64)
list(APPEND vivox_files
vivoxsdk.dll
ortp.dll
)
endif (ADDRESS_SIZE EQUAL 64)
#******************************* #*******************************
# Misc shared libs # Misc shared libs
...@@ -151,8 +158,6 @@ elseif(DARWIN) ...@@ -151,8 +158,6 @@ elseif(DARWIN)
set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
set(vivox_files set(vivox_files
SLVoice SLVoice
libsndfile.dylib
libvivoxoal.dylib
libortp.dylib libortp.dylib
libvivoxplatform.dylib libvivoxplatform.dylib
libvivoxsdk.dylib libvivoxsdk.dylib
...@@ -195,7 +200,6 @@ elseif(LINUX) ...@@ -195,7 +200,6 @@ elseif(LINUX)
libvivoxplatform.so libvivoxplatform.so
libvivoxsdk.so libvivoxsdk.so
SLVoice SLVoice
# ca-bundle.crt #No cert for linux. It is actually still 3.2SDK.
) )
# *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables
# or ARCH_PREBUILT_DIRS # or ARCH_PREBUILT_DIRS
......
# -*- cmake -*-
include(Prebuilt)
use_prebuilt_binary(llca)
2014-02-25 10:34
This diff is collapsed.
...@@ -151,7 +151,7 @@ class LLKeyframeMotion : ...@@ -151,7 +151,7 @@ class LLKeyframeMotion :
public: public:
U32 getFileSize(); U32 getFileSize();
BOOL serialize(LLDataPacker& dp) const; BOOL serialize(LLDataPacker& dp) const;
BOOL deserialize(LLDataPacker& dp); BOOL deserialize(LLDataPacker& dp, const LLUUID& asset_id);
BOOL isLoaded() { return mJointMotionList != NULL; } BOOL isLoaded() { return mJointMotionList != NULL; }
void dumpToFile(const std::string& name); void dumpToFile(const std::string& name);
......
...@@ -291,37 +291,20 @@ void LLScopedLock::unlock() ...@@ -291,37 +291,20 @@ void LLScopedLock::unlock()
//--------------------------------------------------------------------- //---------------------------------------------------------------------
bool ll_apr_warn_status(apr_status_t status) bool _ll_apr_warn_status(apr_status_t status, const char* file, int line)
{ {
if(APR_SUCCESS == status) return false; if(APR_SUCCESS == status) return false;
#if !LL_LINUX #if !LL_LINUX
char buf[MAX_STRING]; /* Flawfinder: ignore */ char buf[MAX_STRING]; /* Flawfinder: ignore */
apr_strerror(status, buf, sizeof(buf)); apr_strerror(status, buf, sizeof(buf));
LL_WARNS("APR") << "APR: " << buf << LL_ENDL; LL_WARNS("APR") << "APR: " << file << ":" << line << " " << buf << LL_ENDL;
#endif #endif
return true; return true;
} }
bool ll_apr_warn_status(apr_status_t status, apr_dso_handle_t *handle) void _ll_apr_assert_status(apr_status_t status, const char* file, int line)
{ {
bool result = ll_apr_warn_status(status); llassert(! _ll_apr_warn_status(status, file, line));
// Despite observed truncation of actual Mac dylib load errors, increasing
// this buffer to more than MAX_STRING doesn't help: it appears that APR
// stores the output in a fixed 255-character internal buffer. (*sigh*)
char buf[MAX_STRING]; /* Flawfinder: ignore */
apr_dso_error(handle, buf, sizeof(buf));
LL_WARNS("APR") << "APR: " << buf << LL_ENDL;
return result;
}
void ll_apr_assert_status(apr_status_t status)
{
llassert(! ll_apr_warn_status(status));
}
void ll_apr_assert_status(apr_status_t status, apr_dso_handle_t *handle)
{
llassert(! ll_apr_warn_status(status, handle));
} }
//--------------------------------------------------------------------- //---------------------------------------------------------------------
......
...@@ -52,12 +52,11 @@ struct apr_dso_handle_t; ...@@ -52,12 +52,11 @@ struct apr_dso_handle_t;
* APR_SUCCESS. * APR_SUCCESS.
* @return Returns <code>true</code> if status is an error condition. * @return Returns <code>true</code> if status is an error condition.
*/ */
bool LL_COMMON_API ll_apr_warn_status(apr_status_t status); #define ll_apr_warn_status(status) _ll_apr_warn_status(status, __FILE__, __LINE__)
/// There's a whole other APR error-message function if you pass a DSO handle. bool LL_COMMON_API _ll_apr_warn_status(apr_status_t status, const char* file, int line);
bool LL_COMMON_API ll_apr_warn_status(apr_status_t status, apr_dso_handle_t* handle);
void LL_COMMON_API ll_apr_assert_status(apr_status_t status); #define ll_apr_assert_status(status) _ll_apr_assert_status(status, __FILE__, __LINE__)
void LL_COMMON_API ll_apr_assert_status(apr_status_t status, apr_dso_handle_t* handle); void LL_COMMON_API _ll_apr_assert_status(apr_status_t status, const char* file, int line);
extern "C" LL_COMMON_API apr_pool_t* gAPRPoolp; // Global APR memory pool extern "C" LL_COMMON_API apr_pool_t* gAPRPoolp; // Global APR memory pool
......
...@@ -312,7 +312,7 @@ namespace ...@@ -312,7 +312,7 @@ namespace
LOG_CLASS(LogControlFile); LOG_CLASS(LogControlFile);
public: public:
static LogControlFile& fromDirectory(const std::string& dir); static LogControlFile& fromDirectory(const std::string& user_dir, const std::string& app_dir);
virtual bool loadFile(); virtual bool loadFile();
...@@ -322,13 +322,12 @@ namespace ...@@ -322,13 +322,12 @@ namespace
{ } { }
}; };
LogControlFile& LogControlFile::fromDirectory(const std::string& dir) LogControlFile& LogControlFile::fromDirectory(const std::string& user_dir, const std::string& app_dir)
{ {
std::string dirBase = dir + "/"; // NB: We have no abstraction in llcommon for the "proper"
// NB: We have no abstraction in llcommon for the "proper" // delimiter but it turns out that "/" works on all three platforms
// delimiter but it turns out that "/" works on all three platforms
std::string file = dirBase + "logcontrol-dev.xml"; std::string file = user_dir + "/logcontrol-dev.xml";
llstat stat_info; llstat stat_info;
if (LLFile::stat(file, &stat_info)) { if (LLFile::stat(file, &stat_info)) {
...@@ -336,7 +335,7 @@ namespace ...@@ -336,7 +335,7 @@ namespace
// if it doesn't exist. LLFile has no better abstraction for // if it doesn't exist. LLFile has no better abstraction for
// testing for file existence. // testing for file existence.
file = dirBase + "logcontrol.xml"; file = app_dir + "/logcontrol.xml";
} }
return * new LogControlFile(file); return * new LogControlFile(file);
// NB: This instance is never freed // NB: This instance is never freed
...@@ -363,7 +362,7 @@ namespace ...@@ -363,7 +362,7 @@ namespace
} }
LLError::configure(configuration); LLError::configure(configuration);
LL_INFOS() << "logging reconfigured from " << filename() << LL_ENDL; LL_INFOS("LogControlFile") << "logging reconfigured from " << filename() << LL_ENDL;
return true; return true;
} }
...@@ -570,9 +569,12 @@ namespace LLError ...@@ -570,9 +569,12 @@ namespace LLError
} }
#endif #endif
mFunctionString += std::string(mFunction) + ":"; mFunctionString += std::string(mFunction) + ":";
const std::string tag_hash("#");
for (size_t i = 0; i < mTagCount; i++) for (size_t i = 0; i < mTagCount; i++)
{ {
mTagString += std::string("#") + mTags[i] + ((i == mTagCount - 1) ? " " : ","); mTagString.append(tag_hash);
mTagString.append(mTags[i]);
mTagString.append((i == mTagCount - 1) ? ";" : ",");
} }
} }
...@@ -615,7 +617,7 @@ namespace ...@@ -615,7 +617,7 @@ namespace
} }
void commonInit(const std::string& dir, bool log_to_stderr = true) void commonInit(const std::string& user_dir, const std::string& app_dir, bool log_to_stderr = true)
{ {
LLError::Settings::getInstance()->reset(); LLError::Settings::getInstance()->reset();
...@@ -635,7 +637,7 @@ namespace ...@@ -635,7 +637,7 @@ namespace
LLError::addRecorder(recordToWinDebug); LLError::addRecorder(recordToWinDebug);
#endif #endif
LogControlFile& e = LogControlFile::fromDirectory(dir); LogControlFile& e = LogControlFile::fromDirectory(user_dir, app_dir);
// NOTE: We want to explicitly load the file before we add it to the event timer // NOTE: We want to explicitly load the file before we add it to the event timer
// that checks for changes to the file. Else, we're not actually loading the file yet, // that checks for changes to the file. Else, we're not actually loading the file yet,
...@@ -651,23 +653,9 @@ namespace ...@@ -651,23 +653,9 @@ namespace
namespace LLError namespace LLError
{ {
void initForServer(const std::string& identity) void initForApplication(const std::string& user_dir, const std::string& app_dir, bool log_to_stderr)
{ {
std::string dir = "/opt/linden/etc"; commonInit(user_dir, app_dir, log_to_stderr);
if (LLApp::instance())
{
dir = LLApp::instance()->getOption("configdir").asString();
}
commonInit(dir);
#if !LL_WINDOWS
LLError::RecorderPtr recordToSyslog(new RecordToSyslog(identity));
addRecorder(recordToSyslog);
#endif
}
void initForApplication(const std::string& dir, bool log_to_stderr)
{
commonInit(dir, log_to_stderr);
} }
void setPrintLocation(bool print) void setPrintLocation(bool print)
......
...@@ -60,12 +60,7 @@ class LLLineBuffer ...@@ -60,12 +60,7 @@ class LLLineBuffer
namespace LLError namespace LLError
{ {
LL_COMMON_API void initForServer(const std::string& identity); LL_COMMON_API void initForApplication(const std::string& user_dir, const std::string& app_dir, bool log_to_stderr = true);
// resets all logging settings to defaults needed by server processes
// logs to stderr, syslog, and windows debug log
// the identity string is used for in the syslog
LL_COMMON_API void initForApplication(const std::string& dir, bool log_to_stderr = true);
// resets all logging settings to defaults needed by applicaitons // resets all logging settings to defaults needed by applicaitons
// logs to stderr and windows debug log // logs to stderr and windows debug log
// sets up log configuration from the file logcontrol.xml in dir // sets up log configuration from the file logcontrol.xml in dir
......
...@@ -193,6 +193,14 @@ char* ll_pretty_print_sd(const LLSD& sd) ...@@ -193,6 +193,14 @@ char* ll_pretty_print_sd(const LLSD& sd)
return buffer; return buffer;
} }
std::string ll_stream_notation_sd(const LLSD& sd)
{
std::ostringstream stream;
stream << LLSDOStreamer<LLSDNotationFormatter>(sd);
return stream.str();
}
//compares the structure of an LLSD to a template LLSD and stores the //compares the structure of an LLSD to a template LLSD and stores the
//"valid" values in a 3rd LLSD. Default values pulled from the template //"valid" values in a 3rd LLSD. Default values pulled from the template
//if the tested LLSD does not contain the key/value pair. //if the tested LLSD does not contain the key/value pair.
......
...@@ -56,6 +56,8 @@ LL_COMMON_API char* ll_print_sd(const LLSD& sd); ...@@ -56,6 +56,8 @@ LL_COMMON_API char* ll_print_sd(const LLSD& sd);
LL_COMMON_API char* ll_pretty_print_sd_ptr(const LLSD* sd); LL_COMMON_API char* ll_pretty_print_sd_ptr(const LLSD* sd);
LL_COMMON_API char* ll_pretty_print_sd(const LLSD& sd); LL_COMMON_API char* ll_pretty_print_sd(const LLSD& sd);
LL_COMMON_API std::string ll_stream_notation_sd(const LLSD& sd);
//compares the structure of an LLSD to a template LLSD and stores the //compares the structure of an LLSD to a template LLSD and stores the
//"valid" values in a 3rd LLSD. Default values //"valid" values in a 3rd LLSD. Default values
//are pulled from the template. Extra keys/values in the test //are pulled from the template. Extra keys/values in the test
......
...@@ -437,7 +437,7 @@ LLThreadSafeRefCount::~LLThreadSafeRefCount() ...@@ -437,7 +437,7 @@ LLThreadSafeRefCount::~LLThreadSafeRefCount()
{ {
if (mRef != 0) if (mRef != 0)
{ {
LL_ERRS() << "deleting non-zero reference" << LL_ENDL; LL_ERRS() << "deleting referenced object mRef = " << mRef << LL_ENDL;
} }
} }
......
...@@ -180,6 +180,10 @@ if (DARWIN) ...@@ -180,6 +180,10 @@ if (DARWIN)
COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/libexception_handler.dylib ${LL_TEST_DESTINATION_DIR} COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/libexception_handler.dylib ${LL_TEST_DESTINATION_DIR}
DEPENDS ${AUTOBUILD_INSTALL_DIR}/lib/release/libexception_handler.dylib DEPENDS ${AUTOBUILD_INSTALL_DIR}/lib/release/libexception_handler.dylib
) )
add_custom_command(TARGET INTEGRATION_TEST_llcorehttp PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/libnghttp2*.dylib ${LL_TEST_DESTINATION_DIR}
DEPENDS ${AUTOBUILD_INSTALL_DIR}/lib/release/libnghttp2.dylib
)
foreach(expat ${EXPAT_COPY}) foreach(expat ${EXPAT_COPY})
add_custom_command(TARGET INTEGRATION_TEST_llcorehttp PRE_BUILD add_custom_command(TARGET INTEGRATION_TEST_llcorehttp PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/${expat} ${LL_TEST_DESTINATION_DIR} COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/${expat} ${LL_TEST_DESTINATION_DIR}
......
...@@ -88,15 +88,18 @@ HttpStatus HttpPolicyGlobal::set(HttpRequest::EPolicyOption opt, const std::stri ...@@ -88,15 +88,18 @@ HttpStatus HttpPolicyGlobal::set(HttpRequest::EPolicyOption opt, const std::stri
switch (opt) switch (opt)
{ {
case HttpRequest::PO_CA_PATH: case HttpRequest::PO_CA_PATH:
LL_DEBUGS("CoreHttp") << "Setting global CA Path to " << value << LL_ENDL;
mCAPath = value; mCAPath = value;
break; break;
case HttpRequest::PO_CA_FILE: case HttpRequest::PO_CA_FILE:
LL_DEBUGS("CoreHttp") << "Setting global CA File to " << value << LL_ENDL;
mCAFile = value; mCAFile = value;
break; break;
case HttpRequest::PO_HTTP_PROXY: case HttpRequest::PO_HTTP_PROXY:
mCAFile = value; LL_DEBUGS("CoreHttp") << "Setting global Proxy to " << value << LL_ENDL;
mHttpProxy = value;
break; break;
default: default:
......
...@@ -188,6 +188,7 @@ ...@@ -188,6 +188,7 @@
/// ///
#include "linden_common.h" // Modifies curl/curl.h interfaces #include "linden_common.h" // Modifies curl/curl.h interfaces
#include "llsd.h"
#include "boost/intrusive_ptr.hpp" #include "boost/intrusive_ptr.hpp"
#include "boost/shared_ptr.hpp" #include "boost/shared_ptr.hpp"
#include "boost/weak_ptr.hpp" #include "boost/weak_ptr.hpp"
...@@ -447,14 +448,14 @@ struct HttpStatus ...@@ -447,14 +448,14 @@ struct HttpStatus
mDetails->mMessage = message; mDetails->mMessage = message;
} }
/// Retrieves an optionally recorded SSL certificate. /// Retrieves data about an optionally recorded SSL certificate.
void * getErrorData() const LLSD getErrorData() const
{ {
return mDetails->mErrorData; return mDetails->mErrorData;
} }
/// Optionally sets an SSL certificate on this status. /// Optionally sets an SSL certificate on this status.
void setErrorData(void *data) void setErrorData(LLSD data)
{ {
mDetails->mErrorData = data; mDetails->mErrorData = data;
} }
...@@ -467,7 +468,7 @@ struct HttpStatus ...@@ -467,7 +468,7 @@ struct HttpStatus
mType(type), mType(type),
mStatus(status), mStatus(status),
mMessage(), mMessage(),
mErrorData(NULL) mErrorData()
{} {}
Details(const Details &rhs) : Details(const Details &rhs) :
...@@ -485,7 +486,7 @@ struct HttpStatus ...@@ -485,7 +486,7 @@ struct HttpStatus
type_enum_t mType; type_enum_t mType;
short mStatus; short mStatus;
std::string mMessage; std::string mMessage;
void * mErrorData; LLSD mErrorData;
}; };
boost::shared_ptr<Details> mDetails; boost::shared_ptr<Details> mDetails;
......
...@@ -566,7 +566,7 @@ bool LLCrashLogger::init() ...@@ -566,7 +566,7 @@ bool LLCrashLogger::init()
// We assume that all the logs we're looking for reside on the current drive // We assume that all the logs we're looking for reside on the current drive
gDirUtilp->initAppDirs("SecondLife"); gDirUtilp->initAppDirs("SecondLife");
LLError::initForApplication(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "")); LLError::initForApplication(gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, ""), gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, ""));
// Default to the product name "Second Life" (this is overridden by the -name argument) // Default to the product name "Second Life" (this is overridden by the -name argument)
mProductName = "Second Life"; mProductName = "Second Life";
......
...@@ -84,7 +84,7 @@ void logMessageSuccess(std::string logAuth, std::string url, std::string message ...@@ -84,7 +84,7 @@ void logMessageSuccess(std::string logAuth, std::string url, std::string message
void logMessageFail(std::string logAuth, std::string url, std::string message) void logMessageFail(std::string logAuth, std::string url, std::string message)
{ {
LL_WARNS("CoreHTTP") << logAuth << " Failure '" << message << "' for " << url << LL_ENDL; LL_INFOS("CoreHTTP") << logAuth << " Possible failure '" << message << "' for " << url << LL_ENDL;
} }
//========================================================================= //=========================================================================
...@@ -279,10 +279,11 @@ void HttpCoroHandler::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRespons ...@@ -279,10 +279,11 @@ void HttpCoroHandler::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRespons
result = LLSD::emptyMap(); result = LLSD::emptyMap();
LLCore::HttpStatus::type_enum_t errType = status.getType(); LLCore::HttpStatus::type_enum_t errType = status.getType();
LL_WARNS("CoreHTTP") LL_INFOS()
<< " Error[" << status.toTerseString() << "] cannot "<< response->getRequestMethod() << "Possible failure [" << status.toTerseString() << "] cannot "<< response->getRequestMethod()
<< " to url '" << response->getRequestURL() << " url '" << response->getRequestURL()
<< "' because " << status.toString() << LL_ENDL; << "' because " << status.toString()
<< LL_ENDL;
if ((errType >= 400) && (errType < 500)) if ((errType >= 400) && (errType < 500))
{ {
LLSD body = this->parseBody(response, parseSuccess); LLSD body = this->parseBody(response, parseSuccess);
......
...@@ -160,7 +160,7 @@ int main(int argc, char **argv) ...@@ -160,7 +160,7 @@ int main(int argc, char **argv)
// Set up llerror logging // Set up llerror logging
{ {
LLError::initForApplication("."); LLError::initForApplication(".",".");
LLError::setDefaultLevel(LLError::LEVEL_INFO); LLError::setDefaultLevel(LLError::LEVEL_INFO);
// LLError::setTagLevel("Plugin", LLError::LEVEL_DEBUG); // LLError::setTagLevel("Plugin", LLError::LEVEL_DEBUG);
// LLError::logToFile("slplugin.log"); // LLError::logToFile("slplugin.log");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment