From: hno <> Date: Wed, 3 Jan 2007 19:57:47 +0000 (+0000) Subject: Cleanup of AuthUserRequest->lastReply to keep ACL_AUTHENTICATED state X-Git-Tag: SQUID_3_0_PRE6~159 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a9148ea9b024fcc7e43174c290fd36097d0cdb6f;p=thirdparty%2Fsquid.git Cleanup of AuthUserRequest->lastReply to keep ACL_AUTHENTICATED state short-circuiting acl processing a bit when there is multiple auth acls involved, and preparing for future auth related work. --- diff --git a/src/AuthUserRequest.cc b/src/AuthUserRequest.cc index 8a0404f1a0..25e3353cec 100644 --- a/src/AuthUserRequest.cc +++ b/src/AuthUserRequest.cc @@ -1,6 +1,6 @@ /* - * $Id: AuthUserRequest.cc,v 1.10 2007/01/03 12:40:41 hno Exp $ + * $Id: AuthUserRequest.cc,v 1.11 2007/01/03 12:57:47 hno Exp $ * * DO NOT MODIFY NEXT 2 LINES: * arch-tag: 6803fde1-d5a2-4c29-9034-1c0c9f650eb4 @@ -562,6 +562,10 @@ AuthUserRequest::tryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_use if (!*auth_user_request) *auth_user_request = t; + if (!request->auth_user_request && t->lastReply == AUTH_AUTHENTICATED) { + request->auth_user_request = t; + t->lock(); + } return t->lastReply; } @@ -651,7 +655,8 @@ AuthUserRequest::addReplyAuthHeader(HttpReply * rep, auth_user_request_t * auth_ if (auth_user_request != NULL) { auth_user_request->addHeader(rep, accelerated); - auth_user_request->lastReply = AUTH_ACL_CANNOT_AUTHENTICATE; + if (auth_user_request->lastReply != AUTH_AUTHENTICATED) + auth_user_request->lastReply = AUTH_ACL_CANNOT_AUTHENTICATE; } }