1 Index: squid/lib/rfc2617.c
2 diff -c squid/lib/rfc2617.c:1.5 squid/lib/rfc2617.c:1.5.2.1
3 *** squid/lib/rfc2617.c:1.5 Wed Oct 17 07:30:50 2001
4 --- squid/lib/rfc2617.c Tue Sep 23 10:05:41 2003
9 for (i = 0; i < HASHHEXLEN; i++) {
11 if (('0' <= j) && (j <= '9'))
12 ! Bin[i / 2] |= ((j - '0') << ((i % 2 == 0) ? 4 : 0));
14 ! Bin[i / 2] |= ((j - 'a' + 10) << ((i % 2 == 0) ? 4 : 0));
21 for (i = 0; i < HASHHEXLEN; i++) {
24 if (('0' <= j) && (j <= '9'))
29 ! Bin[i / 2] = n << 4;
35 Index: squid/src/auth/digest/auth_digest.c
36 diff -c squid/src/auth/digest/auth_digest.c:1.10.2.7 squid/src/auth/digest/auth_digest.c:1.10.2.8
37 *** squid/src/auth/digest/auth_digest.c:1.10.2.7 Sun Aug 10 01:31:33 2003
38 --- squid/src/auth/digest/auth_digest.c Tue Sep 23 10:05:41 2003
41 debug(29, 9) ("\nResponse = '%s'\n"
42 "squid is = '%s'\n", digest_request->response, Response);
44 ! if (strcasecmp(digest_request->response, Response)) {
45 if (digestConfig->PostWorkaround && request->method != METHOD_GET) {
46 /* Ugly workaround for certain very broken browsers using the
47 * wrong method to calculate the request-digest on POST request.
49 debug(29, 9) ("\nResponse = '%s'\n"
50 "squid is = '%s'\n", digest_request->response, Response);
52 ! if (strcasecmp(digest_request->response, Response) != 0) {
53 ! if (!digest_request->flags.helper_queried) {
54 ! /* Query the helper in case the password has changed */
55 ! digest_request->flags.helper_queried = 1;
56 ! digest_request->flags.credentials_ok = 2;
59 if (digestConfig->PostWorkaround && request->method != METHOD_GET) {
60 /* Ugly workaround for certain very broken browsers using the
61 * wrong method to calculate the request-digest on POST request.
62 Index: squid/src/auth/digest/auth_digest.h
63 diff -c squid/src/auth/digest/auth_digest.h:1.5.2.3 squid/src/auth/digest/auth_digest.h:1.5.2.4
64 *** squid/src/auth/digest/auth_digest.h:1.5.2.3 Sun May 18 15:49:20 2003
65 --- squid/src/auth/digest/auth_digest.h Tue Sep 23 10:05:42 2003
69 unsigned int authinfo_sent:1;
70 unsigned int credentials_ok:2; /*0=unchecked,1=ok,2=helper,3=failed */
71 unsigned int nonce_stale:1;
72 + unsigned int helper_queried:1;
74 digest_nonce_h *nonce;