From 1f02c1dd32cb5ebb2eb6e9186d1f62710ceb09cf Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Wed, 19 May 2010 01:15:15 -0700 Subject: DEV-50239 - windows 2.0 viewer using 'ruth' as default avatar on SLE grids The problem, llstartup was parsing the login response indicating the newuser-config (which contains the default avs) incorrectly. The response is returned as a map within an array (...) We were parsing it as a simple map. --- indra/newview/llstartup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index a84bb98a90..0a464b3b6c 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -3041,7 +3041,7 @@ bool process_login_success_response() // Default male and female avatars allowing the user to choose their avatar on first login. // These may be passed up by SLE to allow choice of enterprise avatars instead of the standard // "new ruth." Not to be confused with 'initial-outfit' below - LLSD newuser_config = response["newuser-config"]; + LLSD newuser_config = response["newuser-config"][0]; if(newuser_config.has("DefaultFemaleAvatar")) { gSavedSettings.setString("DefaultFemaleAvatar", newuser_config["DefaultFemaleAvatar"].asString()); -- cgit v1.2.3 From ca9737d6d6efac7ce9aba1f9686a86b7f6863636 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Wed, 19 May 2010 15:22:46 -0700 Subject: The certificate hostname verification was not taking into account changes in hostname due to a redirect which is handled via curl. I turned off the secapi hostname verification just allowing libcurls hostname verification, as it's better anyway (it handles alt names) --- indra/newview/llsecapi.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llsecapi.cpp b/indra/newview/llsecapi.cpp index 89b799f297..1caeec5b04 100644 --- a/indra/newview/llsecapi.cpp +++ b/indra/newview/llsecapi.cpp @@ -121,7 +121,10 @@ int secapiSSLCertVerifyCallback(X509_STORE_CTX *ctx, void *param) validation_params[CERT_HOSTNAME] = uri.hostName(); try { - chain->validate(VALIDATION_POLICY_SSL, store, validation_params); + // we rely on libcurl to validate the hostname, as libcurl does more extensive validation + // leaving our hostname validation call mechanism for future additions with respect to + // OS native (Mac keyring, windows CAPI) validation. + chain->validate(VALIDATION_POLICY_SSL & (~VALIDATION_POLICY_HOSTNAME), store, validation_params); } catch (LLCertValidationTrustException& cert_exception) { -- cgit v1.2.3 From da09b1dde1e09cd5c43114321479da3b22df1355 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Wed, 19 May 2010 18:36:51 -0700 Subject: EXT-7388 - --grid command line argument doesn't do anything. Grid selection code was looking up the grid by grid host id not grid label. As SLE grids use their dns name as their lable, it worked there. However, the beta grids use a short label. --- indra/newview/llviewernetwork.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp index 7812867667..c76eee80f7 100644 --- a/indra/newview/llviewernetwork.cpp +++ b/indra/newview/llviewernetwork.cpp @@ -257,7 +257,11 @@ void LLGridManager::initialize(const std::string& grid_file) // load a grid from the command line. // if the actual grid name is specified from the command line, // set it as the 'selected' grid. - mGrid = gSavedSettings.getString("CmdLineGridChoice"); + std::string cmd_line_grid = gSavedSettings.getString("CmdLineGridChoice"); + if(!cmd_line_grid.empty()) + { + mGrid = getGridByLabel(cmd_line_grid); + } LL_INFOS("GridManager") << "Grid Name: " << mGrid << LL_ENDL; // If a command line login URI was passed in, so we should add the command -- cgit v1.2.3 From d4b37309cb00108a761259d570ae9057658ad215 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Thu, 20 May 2010 00:02:26 -0700 Subject: EXT-6734 - Unable to run several copies of viewer On startup, a piece of code in llappviewer.cpp checks for the existence and validity of a slurl entered on the command line. If there is a slurl, then the slurl is sent to another instance of the viewer if one is running (for windows and linux only.) After the SLE refactor of slurls, the startup slurl was set to LAST by default. As this is a valid slurl the call to pass the slurl to another viewer was made, ignoring the codepath that checks for multiple viewer launches. The fix defaults the startup slurl to INVALID. Now, when no slurl is passed in on the command line, the code that sends the slurl to another instance is skipped and the 'multiple' flag is checked appropriately. --- indra/newview/llslurl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llslurl.h b/indra/newview/llslurl.h index 28c23561cf..1210c398f1 100644 --- a/indra/newview/llslurl.h +++ b/indra/newview/llslurl.h @@ -65,7 +65,7 @@ public: }; - LLSLURL(): mType(LAST_LOCATION) { } + LLSLURL(): mType(INVALID) { } LLSLURL(const std::string& slurl); LLSLURL(const std::string& grid, const std::string& region); LLSLURL(const std::string& region, const LLVector3& position); -- cgit v1.2.3