From: Nick Kew Date: Sun, 23 Aug 2009 02:00:43 +0000 (+0000) Subject: Return consistent error status for proxy unable to connect X-Git-Tag: 2.3.3~381 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=93cdac913c3697d21e10f6d58e0c245c19b71835;p=apache Return consistent error status for proxy unable to connect PR 46971 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@806920 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 6c96a6be4d..bb20d9da7e 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,10 @@ Changes with Apache 2.3.3 + *) Proxy: unable to connect to a backend is SERVICE_UNAVAILABLE, + rather than BAD_GATEWAY or (especially) NOT_FOUND. + PR 46971 [evanc nortel.com] + *) Various modules: Do better checking of pollset operations in order to avoid segmentation faults if they fail. PR 46467 [Stefan Fritsch ] diff --git a/modules/proxy/mod_proxy_connect.c b/modules/proxy/mod_proxy_connect.c index 8f55e911f3..c7225c51b6 100644 --- a/modules/proxy/mod_proxy_connect.c +++ b/modules/proxy/mod_proxy_connect.c @@ -199,7 +199,7 @@ static int proxy_connect_handler(request_rec *r, proxy_worker *worker, return DECLINED; } else { - return HTTP_BAD_GATEWAY; + return HTTP_SERVICE_UNAVAILABLE; } } diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c index bdfe594d69..f5be7c5f56 100644 --- a/modules/proxy/mod_proxy_http.c +++ b/modules/proxy/mod_proxy_http.c @@ -1972,10 +1972,7 @@ static int proxy_http_handler(request_rec *r, proxy_worker *worker, /* Step Two: Make the Connection */ if (ap_proxy_connect_backend(proxy_function, backend, worker, r->server)) { - if (r->proxyreq == PROXYREQ_PROXY) - status = HTTP_NOT_FOUND; - else - status = HTTP_SERVICE_UNAVAILABLE; + status = HTTP_SERVICE_UNAVAILABLE; goto cleanup; }