1
#! /bin/sh /usr/share/dpatch/dpatch-run
2
# Description: fix denial of service via crafted auth header
3
# Origin: upstream, http://www.squid-cache.org/cgi-bin/cvsweb.cgi/squid/src/HttpHeaderTools.c.diff?r1=1.37.2.3&r2=1.37.2.4
4
# Bug: http://bugs.squid-cache.org/show_bug.cgi?id=2541
5
# Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=534982
8
diff -urNad squid-2.7.STABLE3~/src/HttpHeaderTools.c squid-2.7.STABLE3/src/HttpHeaderTools.c
9
--- squid-2.7.STABLE3~/src/HttpHeaderTools.c 2008-04-01 21:00:11.000000000 -0400
10
+++ squid-2.7.STABLE3/src/HttpHeaderTools.c 2010-02-12 13:01:59.000000000 -0500
12
strListGetItem(const String * str, char del, const char **item, int *ilen, const char **pos)
15
+ /* ',' is always enabled as field delimiter as this is required for
16
+ * processing merged header values properly, even if Cookie normally
17
+ * uses ';' as delimiter.
19
static char delim[3][8] =
23
/* find next delimiter */
25
*pos += strcspn(*pos, delim[quoted]);
32
- if (quoted && **pos == '\\') {
33
+ } else if (quoted && **pos == '\\') {
38
+ break; /* Delimiter found, marking the end of this value */
41
len = *pos - *item; /* *pos points to del or '\0' */