]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix stale=true on digest requests with unknown nonce
authorHenrik Nordstrom <henrik@henriknordstrom.net>
Fri, 5 Mar 2010 23:13:33 +0000 (00:13 +0100)
committerHenrik Nordstrom <henrik@henriknordstrom.net>
Fri, 5 Mar 2010 23:13:33 +0000 (00:13 +0100)
The nonce staleness check only worked if the stale nonce had not yet
been garbage collected, often resulting in incorrect stale=false
responses and resulting auth popups when using digest auth.

Note: this fix is different from how it's done in squid-2 where fixHeader
is called on all schemes in such conditions but only the active one with
and auth_user_request. Not entirely sure why that is done, but commit
message says something about Negotiate authentication.

src/auth/digest/auth_digest.cc

index d3b896f5281dc12d9734352219ca9b98a4cdcbea..18c0c2ddc1b28cc47c317005a2052a06d494b9b1 100644 (file)
@@ -1294,6 +1294,7 @@ AuthDigestConfig::decode(char const *proxy_auth)
     if (!nonce) {
         /* we couldn't find a matching nonce! */
         debugs(29, 2, "authenticateDigestDecode: Unexpected or invalid nonce received");
+        digest_request->credentials(AuthDigestUserRequest::Failed);
         return authDigestLogUsername(username, digest_request);
     }