From: Amos Jeffries Date: Sat, 6 Mar 2010 03:42:04 +0000 (+1300) Subject: Author: Henrik Nordstrom X-Git-Tag: SQUID_3_1_0_18~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6f24d4ee8f96071318e48505554a7910ff122449;p=thirdparty%2Fsquid.git Author: Henrik Nordstrom Bug 2367: Fix stale=true on digest requests with unknown nonce 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. --- diff --git a/src/auth/digest/auth_digest.cc b/src/auth/digest/auth_digest.cc index db5de66f09..ce1c9cf96a 100644 --- a/src/auth/digest/auth_digest.cc +++ b/src/auth/digest/auth_digest.cc @@ -1298,6 +1298,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); }