]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 3628: Digest auth sending stale=false on nonce mismatch
authorHenrik Nordstrom <hno@squid-cache.org>
Thu, 20 Feb 2014 01:50:39 +0000 (18:50 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 20 Feb 2014 01:50:39 +0000 (18:50 -0700)
src/auth/UserRequest.cc

index e9359acfc79fca9400963b909387977908e9e78a..07172fb5494b0a30147ac91024e2e4806d72e767 100644 (file)
@@ -525,9 +525,12 @@ Auth::UserRequest::addReplyAuthHeader(HttpReply * rep, Auth::UserRequest::Pointe
             for (Auth::ConfigVector::iterator  i = Auth::TheConfig.begin(); i != Auth::TheConfig.end(); ++i) {
                 Auth::Config *scheme = *i;
 
-                if (scheme->active())
-                    scheme->fixHeader(NULL, rep, type, request);
-                else
+                if (scheme->active()) {
+                    if (auth_user_request != NULL && auth_user_request->scheme()->type() == scheme->type())
+                        scheme->fixHeader(auth_user_request, rep, type, request);
+                    else
+                        scheme->fixHeader(NULL, rep, type, request);
+                } else
                     debugs(29, 4, HERE << "Configured scheme " << scheme->type() << " not Active");
             }
         }