Index: squid/src/authenticate.c diff -c squid/src/authenticate.c:1.36.2.11 squid/src/authenticate.c:1.36.2.12 *** squid/src/authenticate.c:1.36.2.11 Wed Feb 4 10:42:28 2004 --- squid/src/authenticate.c Thu Feb 12 05:49:36 2004 *************** *** 402,411 **** } static auth_user_request_t * ! authTryGetUser(auth_user_request_t ** auth_user_request, ConnStateData * conn) { if (*auth_user_request) return *auth_user_request; else if (conn) return conn->auth_user_request; else --- 402,413 ---- } static auth_user_request_t * ! authTryGetUser(auth_user_request_t ** auth_user_request, ConnStateData * conn, request_t * request) { if (*auth_user_request) return *auth_user_request; + else if (request && request->auth_user_request) + return request->auth_user_request; else if (conn) return conn->auth_user_request; else *************** *** 445,451 **** * authenticated connection so we test for an authenticated * connection when we recieve no authentication header. */ ! if (((proxy_auth == NULL) && (!authenticateUserAuthenticated(authTryGetUser(auth_user_request, conn)))) || (conn && conn->auth_type == AUTH_BROKEN)) { /* no header or authentication failed/got corrupted - restart */ if (conn) --- 447,453 ---- * authenticated connection so we test for an authenticated * connection when we recieve no authentication header. */ ! if (((proxy_auth == NULL) && (!authenticateUserAuthenticated(authTryGetUser(auth_user_request, conn, request)))) || (conn && conn->auth_type == AUTH_BROKEN)) { /* no header or authentication failed/got corrupted - restart */ if (conn) *************** *** 590,596 **** authenticateTryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_user_request, http_hdr_type headertype, request_t * request, ConnStateData * conn, struct in_addr src_addr) { /* If we have already been called, return the cached value */ ! auth_user_request_t *t = authTryGetUser(auth_user_request, conn); auth_acl_t result; if (t && t->lastReply != AUTH_ACL_CANNOT_AUTHENTICATE && t->lastReply != AUTH_ACL_HELPER) { --- 592,598 ---- authenticateTryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_user_request, http_hdr_type headertype, request_t * request, ConnStateData * conn, struct in_addr src_addr) { /* If we have already been called, return the cached value */ ! auth_user_request_t *t = authTryGetUser(auth_user_request, conn, request); auth_acl_t result; if (t && t->lastReply != AUTH_ACL_CANNOT_AUTHENTICATE && t->lastReply != AUTH_ACL_HELPER) { *************** *** 600,606 **** } /* ok, call the actual authenticator routine. */ result = authenticateAuthenticate(auth_user_request, headertype, request, conn, src_addr); ! t = authTryGetUser(auth_user_request, conn); if (t && result != AUTH_ACL_CANNOT_AUTHENTICATE && result != AUTH_ACL_HELPER) t->lastReply = result; --- 602,608 ---- } /* ok, call the actual authenticator routine. */ result = authenticateAuthenticate(auth_user_request, headertype, request, conn, src_addr); ! t = authTryGetUser(auth_user_request, conn, request); if (t && result != AUTH_ACL_CANNOT_AUTHENTICATE && result != AUTH_ACL_HELPER) t->lastReply = result;

AltStyle によって変換されたページ (->オリジナル) /