minfrin 2003/04/15 09:01:03
Modified: . CHANGES
modules/proxy proxy_util.c
Log:
Fixed a segfault when multiple ProxyBlock directives were used.
PR: 19023
Submitted by: Sami Tikka <sami.tikka@f-secure.com>
Revision Changes Path
1.1142 +3 -0 httpd-2.0/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/httpd-2.0/CHANGES,v
retrieving revision 1.1141
retrieving revision 1.1142
diff -u -r1.1141 -r1.1142
--- CHANGES 12 Apr 2003 17:28:55 -0000 1.1141
+++ CHANGES 15 Apr 2003 16:01:00 -0000 1.1142
@@ -163,6 +163,9 @@
Changes with Apache 2.0.46
+ *) Fixed a segfault when multiple ProxyBlock directives were used.
+ PR: 19023 [Sami Tikka <sami.tikka@f-secure.com>]
+
*) SECURITY [CAN-2003-0134] OS2: Fix a Denial of Service vulnerability
identified and reported by Robert Howard <rihoward@rawbw.com> that
where device names faulted the running OS2 worker process.
1.101 +2 -0 httpd-2.0/modules/proxy/proxy_util.c
Index: proxy_util.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/proxy/proxy_util.c,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -r1.100 -r1.101
--- proxy_util.c 3 Feb 2003 17:53:11 -0000 1.100
+++ proxy_util.c 15 Apr 2003 16:01:02 -0000 1.101
@@ -1015,10 +1015,12 @@
apr_sockaddr_t *uri_addr)
{
int j;
+ apr_sockaddr_t * src_uri_addr = uri_addr;
/* XXX FIXME: conf->noproxies->elts is part of an opaque structure */
for (j = 0; j < conf->noproxies->nelts; j++) {
struct noproxy_entry *npent = (struct noproxy_entry *) conf->noproxies->elts;
struct apr_sockaddr_t *conf_addr = npent[j].addr;
+ uri_addr = src_uri_addr;
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
"proxy: checking remote machine [%s] against [%s]", uri_addr->hostname,
npent[j].name);
if ((npent[j].name && ap_strstr_c(uri_addr->hostname, npent[j].name))
|