-*- coding: utf-8 -*-
Changes with Apache 2.3.0
+ *) mod_proxy_connect: avoid segfault on DNS lookup failure.
+ PR 40756 [Trevin Beattie <tbeattie boingo.com>]
+
*) mod_proxy: enable Ignore Errors option on ProxyPass Status.
PR 43167 [Francisco Gimeno <kikov kikov.org>
/* are we connecting directly, or via a proxy? */
if (proxyname) {
- connectname = proxyname;
- connectport = proxyport;
+ connectname = proxyname;
+ connectport = proxyport;
err = apr_sockaddr_info_get(&connect_addr, proxyname, APR_UNSPEC, proxyport, 0, p);
}
else {
- connectname = uri.hostname;
- connectport = uri.port;
- connect_addr = uri_addr;
+ connectname = uri.hostname;
+ connectport = uri.port;
+ connect_addr = uri_addr;
}
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
"proxy: CONNECT: connecting to remote proxy %s on port %d", connectname, connectport);
+ if (APR_SUCCESS != err) {
+ return ap_proxyerror(r, HTTP_BAD_GATEWAY, apr_pstrcat(p,
+ "DNS lookup failure for: ",
+ uri.hostname, NULL));
+ }
+
/* check if ProxyBlock directive on this host */
if (OK != ap_proxy_checkproxyblock(r, conf, uri_addr)) {
return ap_proxyerror(r, HTTP_FORBIDDEN,