You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Rainer Scherg RTC <Ra...@rexroth.de> on 1998/02/03 15:10:00 UTC
Re: mod_proxy/1326: HTTPS - Cannot Connect! (PR#1024, PR#1105)
The following reply was made to PR mod_proxy/1326; it has been noted by GNATS.
From: Rainer.Scherg@rexroth.de (Rainer Scherg RTC)
To: apbugs@hyperreal.org, marcs@znep.com
Cc: Lars.Eilebrecht@unix-ag.org
Subject: Re: mod_proxy/1326: HTTPS - Cannot Connect! (PR#1024, PR#1105)
Date: Tue, 3 Feb 1998 15:03:54 +0100
Hi - Bugfix for PR1326 & PR1573 (I hope ...)
-------- diff for apache 1.3b3 -------------
diff proxy_util.c.org proxy_util.c
988a989,991
> if (host == NULL) /* oops! */
> return 0;
>
1137,1138c1140,1144
< int h2_len = strlen(host2);
< int h1_len = strlen(host);
---
> int h2_len;
> int h1_len;
>
> if (host == NULL || host2 == NULL)
> return 0; /* oops! */
1139a1146,1148
> h2_len = strlen(host2);
> h1_len = strlen(host);
>
------------ end ---------------
Reason for SIGSEGV and core dump:
"hosts" variable in proxy module was not checked for NULL
in proxy_match_ipaddr and proxy_match_hostname().
These functions were called from "proxy_handler()":
----------- begin ---------
[...]
int ii;
struct dirconn_entry *list = (struct dirconn_entry *) conf->dirconn-
>elts;
/* if (*++p == '/' && *++p == '/') */
for (direct_connect = ii = 0; ii < conf->dirconn->nelts &&
!direct_connect; ii++) {
direct_connect = list[ii].matcher(&list[ii], r);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ----------
aplog_error(APLOG_MARK, APLOG_DEBUG, r->server,
"URI and NoProxy: %s: %s", r->uri, list[ii].name);
}
#[...]
------------ end ------------
... hope it helps!
cu -- Rainer