Merge branch 'DRTVWR-489-emoji' of https://bitbucket.org/lindenlab/viewer into DRTVWR-489-emoji
commit
40e97353d5
|
|
@ -698,9 +698,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>66c308642234797ef82b1e22b96b5ae6</string>
|
||||
<string>4390c5182b5d6c397ef0396828093600</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/106497/930538/freetype-2.12.1.576084-darwin64-576084.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/106585/931193/freetype-2.12.1.576132-darwin64-576132.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin64</string>
|
||||
|
|
@ -722,9 +722,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>fb161e641d4f4bfdeefed6021c192331</string>
|
||||
<string>6ad01c23db703cd6ad2a491aae937379</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/106496/930532/freetype-2.12.1.576084-windows-576084.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/106586/931203/freetype-2.12.1.576132-windows-576132.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -734,16 +734,16 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>fe29d0aa898b534f3083ad53f04afd40</string>
|
||||
<string>db5f433b65a268a1ea601d7e29766cb1</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/106495/930523/freetype-2.12.1.576084-windows64-576084.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/106587/931202/freetype-2.12.1.576132-windows64-576132.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows64</string>
|
||||
</map>
|
||||
</map>
|
||||
<key>version</key>
|
||||
<string>2.12.1.576084</string>
|
||||
<string>2.12.1.576132</string>
|
||||
</map>
|
||||
<key>glext</key>
|
||||
<map>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
6.6.7
|
||||
6.6.8
|
||||
|
|
|
|||
|
|
@ -451,26 +451,8 @@ void LLLoginInstance::handleLoginFailure(const LLSD& event)
|
|||
|
||||
LLSD args(llsd::map( "MESSAGE", LLTrans::getString(response["message_id"]) ));
|
||||
LLSD payload;
|
||||
LLNotificationsUtil::add("PromptMFAToken", args, payload, [=](LLSD const & notif, LLSD const & response) {
|
||||
bool continue_clicked = response["continue"].asBoolean();
|
||||
std::string token = response["token"].asString();
|
||||
LL_DEBUGS("LLLogin") << "PromptMFAToken: response: " << response << " continue_clicked" << continue_clicked << LL_ENDL;
|
||||
|
||||
// strip out whitespace - SL-17034/BUG-231938
|
||||
token = boost::regex_replace(token, boost::regex("\\s"), "");
|
||||
|
||||
if (continue_clicked && !token.empty())
|
||||
{
|
||||
LL_INFOS("LLLogin") << "PromptMFAToken: token submitted" << LL_ENDL;
|
||||
|
||||
// Set the request data to true and retry login.
|
||||
mRequestData["params"]["token"] = token;
|
||||
reconnect();
|
||||
} else {
|
||||
LL_INFOS("LLLogin") << "PromptMFAToken: no token, attemptComplete" << LL_ENDL;
|
||||
attemptComplete();
|
||||
}
|
||||
});
|
||||
LLNotificationsUtil::add("PromptMFAToken", args, payload,
|
||||
boost::bind(&LLLoginInstance::handleMFAChallenge, this, _1, _2));
|
||||
}
|
||||
else if( reason_response == "key"
|
||||
|| reason_response == "presence"
|
||||
|
|
@ -547,23 +529,59 @@ void LLLoginInstance::handleIndeterminate(const LLSD& event)
|
|||
|
||||
bool LLLoginInstance::handleTOSResponse(bool accepted, const std::string& key)
|
||||
{
|
||||
if(accepted)
|
||||
{
|
||||
LL_INFOS("LLLogin") << "LLLoginInstance::handleTOSResponse: accepted" << LL_ENDL;
|
||||
if(accepted)
|
||||
{
|
||||
LL_INFOS("LLLogin") << "LLLoginInstance::handleTOSResponse: accepted " << LL_ENDL;
|
||||
|
||||
// Set the request data to true and retry login.
|
||||
mRequestData["params"][key] = true;
|
||||
reconnect();
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_INFOS("LLLogin") << "LLLoginInstance::handleTOSResponse: attemptComplete" << LL_ENDL;
|
||||
// Set the request data to true and retry login.
|
||||
mRequestData["params"][key] = true;
|
||||
|
||||
attemptComplete();
|
||||
}
|
||||
if (!mRequestData["params"]["token"].asString().empty())
|
||||
{
|
||||
// SL-18511 this TOS failure happened while we are in the middle of an MFA challenge/response.
|
||||
// the previously entered token is very likely expired, so prompt again
|
||||
LLSD args(llsd::map( "MESSAGE", LLTrans::getString("LoginFailedAuthenticationMFARequired") ));
|
||||
LLSD payload;
|
||||
LLNotificationsUtil::add("PromptMFAToken", args, payload,
|
||||
boost::bind(&LLLoginInstance::handleMFAChallenge, this, _1, _2));
|
||||
}
|
||||
else
|
||||
{
|
||||
reconnect();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_INFOS("LLLogin") << "LLLoginInstance::handleTOSResponse: attemptComplete" << LL_ENDL;
|
||||
|
||||
LLEventPumps::instance().obtain(TOS_REPLY_PUMP).stopListening(TOS_LISTENER_NAME);
|
||||
return true;
|
||||
attemptComplete();
|
||||
}
|
||||
|
||||
LLEventPumps::instance().obtain(TOS_REPLY_PUMP).stopListening(TOS_LISTENER_NAME);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LLLoginInstance::handleMFAChallenge(LLSD const & notif, LLSD const & response)
|
||||
{
|
||||
bool continue_clicked = response["continue"].asBoolean();
|
||||
std::string token = response["token"].asString();
|
||||
LL_DEBUGS("LLLogin") << "PromptMFAToken: response: " << response << " continue_clicked" << continue_clicked << LL_ENDL;
|
||||
|
||||
// strip out whitespace - SL-17034/BUG-231938
|
||||
token = boost::regex_replace(token, boost::regex("\\s"), "");
|
||||
|
||||
if (continue_clicked && !token.empty())
|
||||
{
|
||||
LL_INFOS("LLLogin") << "PromptMFAToken: token submitted" << LL_ENDL;
|
||||
|
||||
// Set the request data to true and retry login.
|
||||
mRequestData["params"]["token"] = token;
|
||||
reconnect();
|
||||
} else {
|
||||
LL_INFOS("LLLogin") << "PromptMFAToken: no token, attemptComplete" << LL_ENDL;
|
||||
attemptComplete();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
std::string construct_start_string()
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ private:
|
|||
void syncWithUpdater(ResponsePtr resp, const LLSD& notification, const LLSD& response);
|
||||
|
||||
bool handleTOSResponse(bool v, const std::string& key);
|
||||
bool handleMFAChallenge(LLSD const & notif, LLSD const & response);
|
||||
|
||||
void attemptComplete() { mAttemptComplete = true; } // In the future an event?
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue