diff options
| -rw-r--r-- | indra/newview/llsecapi.h | 3 | ||||
| -rw-r--r-- | indra/newview/llsechandler_basic.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llsechandler_basic.h | 3 | ||||
| -rw-r--r-- | indra/newview/llstartup.cpp | 2 | 
4 files changed, 13 insertions, 0 deletions
| diff --git a/indra/newview/llsecapi.h b/indra/newview/llsecapi.h index e1320375ab..d8831fee93 100644 --- a/indra/newview/llsecapi.h +++ b/indra/newview/llsecapi.h @@ -485,6 +485,9 @@ public:  										const std::string& data_id,  										const std::string& map_elem)=0; +	// ensure protected store's map is written to storage +	virtual void syncProtectedMap() = 0; +  public:  	virtual LLPointer<LLCredential> createCredential(const std::string& grid,  													 const LLSD& identifier,  diff --git a/indra/newview/llsechandler_basic.cpp b/indra/newview/llsechandler_basic.cpp index 6b06abaf99..d0da3387ec 100644 --- a/indra/newview/llsechandler_basic.cpp +++ b/indra/newview/llsechandler_basic.cpp @@ -1608,6 +1608,11 @@ void LLSecAPIBasicHandler::removeFromProtectedMap(const std::string& data_type,      }  } +void LLSecAPIBasicHandler::syncProtectedMap() +{ +    // TODO - consider unifing these functions +    _writeProtectedData(); +}  //  // Create a credential object from an identifier and authenticator.  credentials are  // per grid. diff --git a/indra/newview/llsechandler_basic.h b/indra/newview/llsechandler_basic.h index 17e9f72f07..bd1a8f640c 100644 --- a/indra/newview/llsechandler_basic.h +++ b/indra/newview/llsechandler_basic.h @@ -278,6 +278,9 @@ public:  										const std::string& data_id,  										const std::string& map_elem); +	// ensure protected store's map is written to storage +	virtual void syncProtectedMap(); +  	// credential management routines  	virtual LLPointer<LLCredential> createCredential(const std::string& grid, diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 8b4c91615c..9a191b31bb 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -3671,6 +3671,8 @@ bool process_login_success_response()  		std::string grid(LLGridManager::getInstance()->getGridId());  		std::string user_id(gUserCredential->userID());  		gSecAPIHandler->addToProtectedMap("mfa_hash", grid, user_id, response["mfa_hash"]); +		// TODO(brad) - related to SL-17223 consider building a better interface that sync's automatically +		gSecAPIHandler->syncProtectedMap();  	}  	bool success = false; | 
