summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Kittenbrink <brad@lindenlab.com>2022-03-08 17:48:49 -0800
committerBrad Kittenbrink <brad@lindenlab.com>2022-03-09 08:29:56 -0800
commit9d1891aff1a350847b2242f341addf04b802929b (patch)
tree5b4b0269068c58819cc2cb810c089a5203e514aa
parent87b494f585f14d6ecc8dbe2d0ce26ab79b62ce30 (diff)
SL-16888 debug setting MFAHash value now gets saved to mfa_hash secure storage as well.
-rw-r--r--indra/newview/lllogininstance.cpp16
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;