--------------------- PatchSet 10431 Date: 2008/01/25 04:15:39 Author: adri Branch: s27_adri Tag: (none) Log: Begin fixing the digest authentication code. Members: src/auth/digest/auth_digest.c:1.24.10.2->1.24.10.3 Index: squid/src/auth/digest/auth_digest.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/auth/digest/auth_digest.c,v retrieving revision 1.24.10.2 retrieving revision 1.24.10.3 diff -u -r1.24.10.2 -r1.24.10.3 --- squid/src/auth/digest/auth_digest.c 5 Jan 2008 09:42:42 -0000 1.24.10.2 +++ squid/src/auth/digest/auth_digest.c 25 Jan 2008 04:15:39 -0000 1.24.10.3 @@ -726,7 +726,8 @@ auth_user_request->message = xstrdup("Incorrect password"); return; } else { - const char *useragent = httpHeaderGetStr(&request->header, HDR_USER_AGENT); + /* XXX weak string reference */ + String *useragent = httpHeaderGetString(&request->header, HDR_USER_AGENT); static struct in_addr last_broken_addr; static int seen_broken_client = 0; @@ -735,7 +736,7 @@ seen_broken_client = 1; } if (memcmp(&last_broken_addr, &request->client_addr, sizeof(last_broken_addr)) != 0) { - debug(29, 1) ("\nDigest POST bug detected from %s using '%s'. Please upgrade browser. See Bug #630 for details.\n", inet_ntoa(request->client_addr), useragent ? useragent : "-"); + debug(29, 1) ("\nDigest POST bug detected from %s using '%.*s'. Please upgrade browser. See Bug #630 for details.\n", inet_ntoa(request->client_addr), useragent ? strLen2(*useragent) : 1, useragent ? strBuf2(*useragent) : "-"); last_broken_addr = request->client_addr; } }