diff options
author | Brad Kittenbrink <brad@lindenlab.com> | 2022-03-08 17:48:49 -0800 |
---|---|---|
committer | Brad Kittenbrink <brad@lindenlab.com> | 2022-03-09 08:29:56 -0800 |
commit | 9d1891aff1a350847b2242f341addf04b802929b (patch) | |
tree | 5b4b0269068c58819cc2cb810c089a5203e514aa /indra | |
parent | 87b494f585f14d6ecc8dbe2d0ce26ab79b62ce30 (diff) |
SL-16888 debug setting MFAHash value now gets saved to mfa_hash secure storage as well.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/lllogininstance.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index 06dbf97e51..fd186fcddc 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -231,11 +231,19 @@ void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credentia LL_DEBUGS("LLLogin") << "Login parameters: " << LLSDOStreamer<LLSDNotationFormatter>(request_params) << LL_ENDL; std::string mfa_hash = gSavedPerAccountSettings.getString("MFAHash"); //non-persistent to enable testing - if(mfa_hash.empty()) + LLPointer<LLSecAPIHandler> basic_secure_store = getSecHandler(BASIC_SECHANDLER); + std::string grid(LLGridManager::getInstance()->getGridId()); + if (basic_secure_store) { - LLPointer<LLSecAPIHandler> basic_secure_store = getSecHandler(BASIC_SECHANDLER); - std::string grid(LLGridManager::getInstance()->getGridId()); - mfa_hash = basic_secure_store->getProtectedData("mfa_hash", grid).asString(); + if (mfa_hash.empty()) + { + mfa_hash = basic_secure_store->getProtectedData("mfa_hash", grid).asString(); + } + else + { + // SL-16888 the mfa_hash is being overridden for testing so save it for consistency for future login requests + basic_secure_store->setProtectedData("mfa_hash", grid, mfa_hash); + } } request_params["mfa_hash"] = mfa_hash; |