SL-2364 Fixed Viewer Caches Login Host DNS Entries Indefinetely
parent
8a92a771ba
commit
d785c87d62
|
|
@ -555,6 +555,11 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service)
|
|||
// about 700 or so requests and starts issuing TCP RSTs to
|
||||
// new connections. Reuse the DNS lookups for even a few
|
||||
// seconds and no RSTs.
|
||||
//
|
||||
// -1 stores forever
|
||||
// 0 never stores
|
||||
// any other positive number specifies seconds
|
||||
// supposedly curl 7.62.0 can use TTL by default, otherwise default is 60 seconds
|
||||
check_curl_easy_setopt(mCurlHandle, CURLOPT_DNS_CACHE_TIMEOUT, dnsCacheTimeout);
|
||||
|
||||
if (gpolicy.mUseLLProxy)
|
||||
|
|
|
|||
|
|
@ -63,6 +63,9 @@
|
|||
#include <sstream>
|
||||
|
||||
const S32 LOGIN_MAX_RETRIES = 3;
|
||||
const F32 LOGIN_SRV_TIMEOUT_MIN = 10;
|
||||
const F32 LOGIN_SRV_TIMEOUT_MAX = 120;
|
||||
const F32 LOGIN_DNS_TIMEOUT_FACTOR = 0.9; // make DNS wait shorter then retry time
|
||||
|
||||
class LLLoginInstance::Disposable {
|
||||
public:
|
||||
|
|
@ -232,8 +235,10 @@ void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credentia
|
|||
|
||||
// Specify desired timeout/retry options
|
||||
LLSD http_params;
|
||||
http_params["timeout"] = gSavedSettings.getF32("LoginSRVTimeout");
|
||||
F32 srv_timeout = llclamp(gSavedSettings.getF32("LoginSRVTimeout"), LOGIN_SRV_TIMEOUT_MIN, LOGIN_SRV_TIMEOUT_MAX);
|
||||
http_params["timeout"] = srv_timeout;
|
||||
http_params["retries"] = LOGIN_MAX_RETRIES;
|
||||
http_params["DNSCacheTimeout"] = srv_timeout * LOGIN_DNS_TIMEOUT_FACTOR; //Default: indefinite
|
||||
|
||||
mRequestData.clear();
|
||||
mRequestData["method"] = "login_to_simulator";
|
||||
|
|
|
|||
|
|
@ -362,6 +362,10 @@ void LLXMLRPCTransaction::Impl::init(XMLRPC_REQUEST request, bool useGzip, const
|
|||
{
|
||||
httpOpts->setRetries(httpParams["retries"].asInteger());
|
||||
}
|
||||
if (httpParams.has("DNSCacheTimeout"))
|
||||
{
|
||||
httpOpts->setDNSCacheTimeout(httpParams["DNSCacheTimeout"].asInteger());
|
||||
}
|
||||
|
||||
bool vefifySSLCert = !gSavedSettings.getBOOL("NoVerifySSLCert");
|
||||
mCertStore = gSavedSettings.getString("CertStore");
|
||||
|
|
|
|||
Loading…
Reference in New Issue