summaryrefslogtreecommitdiff
path: root/modules/proxy/mod_proxy_http.c
diff options
context:
space:
mode:
authorStefan Fritsch <sf@sfritsch.de>2011-12-27 19:43:09 +0100
committerStefan Fritsch <sf@sfritsch.de>2011-12-27 19:43:09 +0100
commit5b56d06a01a150fc9685e6f913774be3f9deb49f (patch)
tree9fbfbe0313b782941f1c2c4d3cb5203817144108 /modules/proxy/mod_proxy_http.c
parent498ea95018b369e62646a98c7d7d5413b56e170c (diff)
downloadapache2-5b56d06a01a150fc9685e6f913774be3f9deb49f.tar.gz
Upstream tarball 2.2.19upstream/2.2.19
Diffstat (limited to 'modules/proxy/mod_proxy_http.c')
-rw-r--r--modules/proxy/mod_proxy_http.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c
index e0a8ae11..19c82f2c 100644
--- a/modules/proxy/mod_proxy_http.c
+++ b/modules/proxy/mod_proxy_http.c
@@ -271,10 +271,18 @@ static int pass_brigade(apr_bucket_alloc_t *bucket_alloc,
ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server,
"proxy: pass request body failed to %pI (%s)",
conn->addr, conn->hostname);
- if (origin->aborted) {
+ if (origin->aborted) {
+ const char *ssl_note;
+
+ if (((ssl_note = apr_table_get(origin->notes, "SSL_connect_rv"))
+ != NULL) && (strcmp(ssl_note, "err") == 0)) {
+ return ap_proxyerror(r, HTTP_INTERNAL_SERVER_ERROR,
+ "Error during SSL Handshake with"
+ " remote server");
+ }
return APR_STATUS_IS_TIMEUP(status) ? HTTP_GATEWAY_TIME_OUT : HTTP_BAD_GATEWAY;
}
- else {
+ else {
return HTTP_BAD_REQUEST;
}
}