]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 3290: authenticate_ttl not working for digest authentication
authorGarri Djavadyan <garryd@comnet.uz>
Sat, 17 Dec 2016 10:03:37 +0000 (23:03 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Sat, 17 Dec 2016 10:03:37 +0000 (23:03 +1300)
src/auth/digest/UserRequest.cc
src/auth/digest/auth_digest.cc

index 3305db575fc45dd6ef6ad5f94519d5bba602e9d3..af28d952fb0e9166568f496e27731fe6a720df98 100644 (file)
@@ -158,12 +158,7 @@ Auth::Digest::UserRequest::authenticate(HttpRequest * request, ConnStateData * c
     auth_user->credentials(Auth::Ok);
 
     /* password was checked and did match */
-    debugs(29, 4, HERE << "user '" << auth_user->username() << "' validated OK");
-
-    /* auth_user is now linked, we reset these values
-     * after external auth occurs anyway */
-    auth_user->expiretime = current_time.tv_sec;
-    return;
+    debugs(29, 4, "user '" << auth_user->username() << "' validated OK");
 }
 
 Auth::Direction
index 2178098d23b7c7ba812f340c1907270f0c07b562..ff21099c7f954b3546586b7397fea64092194c20 100644 (file)
@@ -1091,6 +1091,10 @@ Auth::Digest::Config::decode(char const *proxy_auth)
          * the user agent won't change user name without warning.
          */
         authDigestUserLinkNonce(digest_user, nonce);
+
+        /* auth_user is now linked, we reset these values
+         * after external auth occurs anyway */
+        auth_user->expiretime = current_time.tv_sec;
     } else {
         debugs(29, 9, HERE << "Found user '" << username << "' in the user cache as '" << auth_user << "'");
         digest_user = static_cast<Auth::Digest::User *>(auth_user.getRaw());