]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Combine Basic auth credentials_checkedtime with auth expiretime fields.
authorAmos Jeffries <squid3@treenet.co.nz>
Wed, 5 May 2010 13:47:23 +0000 (01:47 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Wed, 5 May 2010 13:47:23 +0000 (01:47 +1200)
src/auth/basic/auth_basic.cc
src/auth/basic/auth_basic.h
src/auth/basic/basicUserRequest.cc

index 163392b98024da817bf8eb54b994f3770bf16d5f..590e280ccc0f2c8519ff3de8a92b35c1b86fe005 100644 (file)
@@ -98,17 +98,16 @@ BasicUser::ttl() const
     if (flags.credentials_ok != 1)
         return -1; // TTL is obsolete NOW.
 
-    int32_t basic_ttl = credentials_checkedtime - squid_curtime + static_cast<AuthBasicConfig*>(config)->credentialsTTL;
+    int32_t basic_ttl = expiretime - squid_curtime + static_cast<AuthBasicConfig*>(config)->credentialsTTL;
     int32_t global_ttl = static_cast<int32_t>(expiretime - squid_curtime + Config.authenticateTTL);
 
     return min(basic_ttl, global_ttl);
 }
 
-
 bool
 BasicUser::authenticated() const
 {
-    if ((flags.credentials_ok == 1) && (credentials_checkedtime + static_cast<AuthBasicConfig*>(config)->credentialsTTL > squid_curtime))
+    if ((flags.credentials_ok == 1) && (expiretime + static_cast<AuthBasicConfig*>(config)->credentialsTTL > squid_curtime))
         return true;
 
     debugs(29, 4, "User not authenticated or credentials need rechecking.");
@@ -197,7 +196,7 @@ authenticateBasicHandleReply(void *data, char *reply)
             r->auth_user_request->setDenyMessage(t);
     }
 
-    basic_auth->credentials_checkedtime = squid_curtime;
+    basic_auth->expiretime = squid_curtime;
 
     if (cbdataReferenceValidDone(r->data, &cbdata))
         r->handler(cbdata, NULL);
@@ -306,7 +305,7 @@ BasicUser::deleteSelf() const
     delete this;
 }
 
-BasicUser::BasicUser(AuthConfig *aConfig) : AuthUser(aConfig) , passwd (NULL), credentials_checkedtime(0), auth_queue(NULL), cleartext(NULL), currentRequest(NULL), httpAuthHeader(NULL)
+BasicUser::BasicUser(AuthConfig *aConfig) : AuthUser(aConfig) , passwd (NULL), auth_queue(NULL), cleartext(NULL), currentRequest(NULL), httpAuthHeader(NULL)
 {
     flags.credentials_ok = 0;
 }
index 992b56aa5fcfbcaf5772453a217d988dc71bce76..c6ccdd193c5cdbefa72be1f50cf719d25982e625 100644 (file)
@@ -48,7 +48,6 @@ public:
     virtual int32_t ttl() const;
 
     char *passwd;
-    time_t credentials_checkedtime;
 
     struct {
         unsigned int credentials_ok:2; /* 0=unchecked, 1=ok, 2=failed */
index f8829dcf54aa93f0b991e886cc475304cb58930d..b5cb0d4b57ab814e8d684d9741bb7982268ceb2d 100644 (file)
@@ -30,7 +30,7 @@ AuthBasicUserRequest::authenticate(HttpRequest * request, ConnStateData * conn,
         return;
 
     /* are we about to recheck the credentials externally? */
-    if ((basic_auth->credentials_checkedtime + static_cast<AuthBasicConfig*>(AuthConfig::Find("basic"))->credentialsTTL) <= squid_curtime) {
+    if ((basic_auth->expiretime + static_cast<AuthBasicConfig*>(AuthConfig::Find("basic"))->credentialsTTL) <= squid_curtime) {
         debugs(29, 4, "authBasicAuthenticate: credentials expired - rechecking");
         return;
     }
@@ -59,7 +59,7 @@ AuthBasicUserRequest::module_direction()
 
     case 1:                     /* checked & ok */
 
-        if (basic_auth->credentials_checkedtime + static_cast<AuthBasicConfig*>(AuthConfig::Find("basic"))->credentialsTTL <= squid_curtime)
+        if (basic_auth->expiretime + static_cast<AuthBasicConfig*>(AuthConfig::Find("basic"))->credentialsTTL <= squid_curtime)
             return -1;
 
         return 0;