Fix CAN-2005-3352 (http://www.FreeBSD.org/ports/portaudit/9fff8dc8-7aa7-11da-bf72-00123f589060.html).
Patch was borrowed from `www/apache13' port.
This commit is contained in:
parent
879e335dc3
commit
92480f1db3
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=152672
2 changed files with 36 additions and 0 deletions
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
PORTNAME= apache
|
PORTNAME= apache
|
||||||
PORTVERSION= ${APACHE_VERSION}+${RA_VERSION}
|
PORTVERSION= ${APACHE_VERSION}+${RA_VERSION}
|
||||||
|
PORTREVISION?= 1
|
||||||
CATEGORIES= russian www
|
CATEGORIES= russian www
|
||||||
MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD}
|
MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD}
|
||||||
DISTNAME= ${PORTNAME}_${APACHE_VERSION}
|
DISTNAME= ${PORTNAME}_${APACHE_VERSION}
|
||||||
|
|
35
russian/apache13/files/patch-secfix-CAN-2005-3352
Normal file
35
russian/apache13/files/patch-secfix-CAN-2005-3352
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
--- src/main/util.c (original)
|
||||||
|
+++ src/main/util.c Mon Dec 12 08:36:54 2005
|
||||||
|
@@ -1722,6 +1722,8 @@
|
||||||
|
j += 3;
|
||||||
|
else if (s[i] == '&')
|
||||||
|
j += 4;
|
||||||
|
+ else if (s[i] == '"')
|
||||||
|
+ j += 5;
|
||||||
|
|
||||||
|
if (j == 0)
|
||||||
|
return ap_pstrndup(p, s, i);
|
||||||
|
@@ -1739,6 +1741,10 @@
|
||||||
|
else if (s[i] == '&') {
|
||||||
|
memcpy(&x[j], "&", 5);
|
||||||
|
j += 4;
|
||||||
|
+ }
|
||||||
|
+ else if (s[i] == '"') {
|
||||||
|
+ memcpy(&x[j], """, 6);
|
||||||
|
+ j += 5;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
x[j] = s[i];
|
||||||
|
|
||||||
|
--- src/modules/standard/mod_imap.c (original)
|
||||||
|
+++ src/modules/standard/mod_imap.c Mon Dec 12 08:36:54 2005
|
||||||
|
@@ -328,7 +328,7 @@
|
||||||
|
if (!strcasecmp(value, "referer")) {
|
||||||
|
referer = ap_table_get(r->headers_in, "Referer");
|
||||||
|
if (referer && *referer) {
|
||||||
|
- return ap_pstrdup(r->pool, referer);
|
||||||
|
+ return ap_escape_html(r->pool, referer);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/* XXX: This used to do *value = '\0'; ... which is totally bogus
|
||||||
|
|
Loading…
Reference in a new issue