Merge remote-tracking branch 'github/master'
This commit is contained in:
@@ -1432,7 +1432,6 @@ bool idle_startup()
|
||||
LL_DEBUGS("AppInit") << "downloading..." << LL_ENDL;
|
||||
return FALSE;
|
||||
}
|
||||
Debug(if (gCurlIo) dc::curlio.off()); // Login succeeded: restore dc::curlio to original state.
|
||||
LLStartUp::setStartupState( STATE_LOGIN_PROCESS_RESPONSE );
|
||||
progress += 0.01f;
|
||||
set_startup_status(progress, LLTrans::getString("LoginProcessingResponse"), auth_message);
|
||||
@@ -1469,6 +1468,7 @@ bool idle_startup()
|
||||
{
|
||||
// Yay, login!
|
||||
successful_login = true;
|
||||
Debug(if (gCurlIo) dc::curlio.off()); // Login succeeded: restore dc::curlio to original state.
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1548,13 +1548,12 @@ bool idle_startup()
|
||||
}
|
||||
}
|
||||
break;
|
||||
case LLUserAuth::E_COULDNT_RESOLVE_HOST:
|
||||
case LLUserAuth::E_SSL_PEER_CERTIFICATE:
|
||||
case LLUserAuth::E_UNHANDLED_ERROR:
|
||||
case LLUserAuth::E_SSL_CACERT:
|
||||
case LLUserAuth::E_SSL_CONNECT_ERROR:
|
||||
default:
|
||||
if (LLViewerLogin::getInstance()->tryNextURI())
|
||||
{
|
||||
static int http_failures = 0;
|
||||
http_failures = (error == LLUserAuth::E_HTTP_SERVER_ERROR) ? http_failures + 1 : 0;
|
||||
if ((error == LLUserAuth::E_HTTP_SERVER_ERROR && http_failures <= 3) ||
|
||||
LLViewerLogin::getInstance()->tryNextURI())
|
||||
{
|
||||
static int login_attempt_number = 0;
|
||||
std::ostringstream s;
|
||||
@@ -1569,6 +1568,7 @@ bool idle_startup()
|
||||
emsg << "Unable to connect to " << gHippoGridManager->getCurrentGrid()->getGridName() << ".\n";
|
||||
emsg << LLUserAuth::getInstance()->errorMessage();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -323,7 +323,16 @@ LLUserAuth::UserAuthcode LLUserAuth::parseResponse()
|
||||
// will all be string => string pairs.
|
||||
UserAuthcode rv = E_UNHANDLED_ERROR;
|
||||
XMLRPC_REQUEST response = mResponder->response();
|
||||
if(!response) return rv;
|
||||
if(!response)
|
||||
{
|
||||
U32 status = mResponder->http_status();
|
||||
// Is it an HTTP error?
|
||||
if (!(200 <= status && status < 400))
|
||||
{
|
||||
rv = E_HTTP_SERVER_ERROR;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
// clear out any old parsing
|
||||
mResponses.clear();
|
||||
|
||||
@@ -88,6 +88,7 @@ public:
|
||||
E_SSL_PEER_CERTIFICATE,
|
||||
E_SSL_CACERT,
|
||||
E_SSL_CONNECT_ERROR,
|
||||
E_HTTP_SERVER_ERROR,
|
||||
E_UNHANDLED_ERROR,
|
||||
E_LAST // never use!
|
||||
} UserAuthcode;
|
||||
|
||||
@@ -99,6 +99,8 @@ private:
|
||||
XMLRPC_REQUEST mResponse;
|
||||
|
||||
public:
|
||||
XMLRPCResponder(void) : mBufferSize(0), mReceivedHTTPHeader(false), mResponse(NULL) { }
|
||||
|
||||
// Accessors.
|
||||
F64 transferRate(void) const;
|
||||
bool is_downloading(void) const { return mReceivedHTTPHeader; }
|
||||
|
||||
Reference in New Issue
Block a user