--------------------- PatchSet 1907 Date: 2001/04/13 23:27:14 Author: hno Branch: authinfo Tag: (none) Log: Ported authinfo to the current HEAD version Members: src/auth/digest/auth_digest.c:1.5->1.5.22.1 Index: squid/src/auth/digest/auth_digest.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/auth/digest/auth_digest.c,v retrieving revision 1.5 retrieving revision 1.5.22.1 diff -u -r1.5 -r1.5.22.1 --- squid/src/auth/digest/auth_digest.c 3 Mar 2001 10:44:33 -0000 1.5 +++ squid/src/auth/digest/auth_digest.c 13 Apr 2001 23:27:14 -0000 1.5.22.1 @@ -617,7 +617,7 @@ int authDigestAuthenticated(auth_user_request_t * auth_user_request) { - if (auth_user_request->auth_user->flags.credentials_ok == 1) + if (auth_user_request->auth_user->credentials_status == CREDENTIALS_OK) return 1; else return 0; @@ -640,7 +640,7 @@ auth_user = auth_user_request->auth_user; /* if the check has corrupted the user, just return */ - if (auth_user_request->auth_user->flags.credentials_ok == 3) { + if (auth_user_request->auth_user->credentials_status == CREDENTIALS_FAILED) { return; } assert(auth_user->scheme_data != NULL); @@ -651,7 +651,7 @@ /* do we have the HA1 */ if (!digest_user->HA1created) { - auth_user_request->auth_user->flags.credentials_ok = 2; + auth_user_request->auth_user->credentials_status = CREDENTIALS_EVALUATING; return; } if (digest_request->nonce == NULL) { @@ -660,7 +660,7 @@ * This is probably best done with support changes at the auth_rewrite level -RBC * and can wait for auth_rewrite V2. */ - auth_user->flags.credentials_ok = 3; + auth_user->credentials_status = CREDENTIALS_FAILED; return; } DigestCalcHA1(digest_request->algorithm, NULL, NULL, NULL, @@ -675,10 +675,10 @@ "squid is = '%s'\n", digest_request->response, Response); if (strcasecmp(digest_request->response, Response)) { - auth_user->flags.credentials_ok = 3; + auth_user->credentials_status = CREDENTIALS_FAILED; return; } - auth_user->flags.credentials_ok = 1; + auth_user->credentials_status = CREDENTIALS_OK; /* password was checked and did match */ debug(29, 4) ("authenticateDigestAuthenticateuser: user '%s' validated OK\n", digest_user->username); @@ -690,26 +690,26 @@ return; } -int +authdir_result_t authenticateDigestDirection(auth_user_request_t * auth_user_request) { digest_request_h *digest_request; /* null auth_user is checked for by authenticateDirection */ - switch (auth_user_request->auth_user->flags.credentials_ok) { - case 0: /* not checked */ - return -1; - case 1: /* checked & ok */ + switch (auth_user_request->auth_user->credentials_status) { + case CREDENTIALS_UNKNOWN: /* not checked */ + return AUTHDIR_REVALIDATE; + case CREDENTIALS_OK: /* checked & ok */ digest_request = auth_user_request->scheme_data; if (authDigestNonceIsStale(digest_request->nonce)) /* send stale response to the client agent */ - return -2; - return 0; - case 2: /* partway through checking. */ - return -1; - case 3: /* authentication process failed. */ - return -2; + return AUTHDIR_FAILED; + return AUTHDIR_OK; + case CREDENTIALS_EVALUATING: /* partway through checking. */ + return AUTHDIR_REVALIDATE; + case CREDENTIALS_FAILED: /* authentication process failed. */ + default: + return AUTHDIR_FAILED; } - return -2; } /* add the [proxy]authorisation header */ @@ -830,7 +830,7 @@ digest_request = auth_user_request->scheme_data; digest_user = auth_user_request->auth_user->scheme_data; if (reply && (strncasecmp(reply, "ERR", 3) == 0)) - auth_user_request->auth_user->flags.credentials_ok = 3; + auth_user_request->auth_user->credentials_status = CREDENTIALS_FAILED; else { CvtBin(reply, digest_user->HA1); digest_user->HA1created = 1;