summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuediger Pluem <rpluem@apache.org>2006-04-02 19:25:34 +0000
committerRuediger Pluem <rpluem@apache.org>2006-04-02 19:25:34 +0000
commitc39b93274c2a4f3bb1588afd1ea0663eeab5dcab (patch)
tree2147b257263397cbade59fdc79a2149caa4a4d73
parent6ec2ac8fcb16b87855b145f9d2f1256380316f9f (diff)
downloadhttpd-c39b93274c2a4f3bb1588afd1ea0663eeab5dcab.tar.gz
Merge r379237 from trunk:
* Disable persistent connections for SSL backends again as we do not handle them correctly, because we recreate backend->connection for each request and thus try to initialize an already existing SSL connection. Noticed by: jorton Submitted by: rpluem Reviewed by: rpluem, trawick, jim git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@390885 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--STATUS10
-rw-r--r--modules/proxy/mod_proxy_http.c10
2 files changed, 9 insertions, 11 deletions
diff --git a/STATUS b/STATUS
index 0ea1717c0a..16108f02f2 100644
--- a/STATUS
+++ b/STATUS
@@ -74,16 +74,6 @@ RELEASE SHOWSTOPPERS:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mod_proxy_http: Disable persistent connections for SSL backends as we do
- not handle them correctly, because we recreate backend->connection for
- each request and thus try to initialize an already existing SSL
- connection.
- Trunk version of patch:
- http://svn.apache.org/viewcvs?rev=379237&view=rev
- Backport version for 2.2.x of patch:
- Trunk version of patch works
- +1 rpluem, trawick, jim
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c
index 4d59be05ed..9d439a61ee 100644
--- a/modules/proxy/mod_proxy_http.c
+++ b/modules/proxy/mod_proxy_http.c
@@ -987,7 +987,7 @@ skip_body:
* otherwise sent Connection: Keep-Alive.
*/
if (!force10) {
- if (p_conn->close) {
+ if (p_conn->close || p_conn->close_on_recycle) {
buf = apr_pstrdup(p, "Connection: close" CRLF);
}
else {
@@ -1672,6 +1672,14 @@ static int proxy_http_handler(request_rec *r, proxy_worker *worker,
backend->is_ssl = is_ssl;
+ /*
+ * TODO: Currently we cannot handle persistent SSL backend connections,
+ * because we recreate backend->connection for each request and thus
+ * try to initialize an already existing SSL connection. This does
+ * not work.
+ */
+ if (is_ssl)
+ backend->close_on_recycle = 1;
/* Step One: Determine Who To Connect To */
if ((status = ap_proxy_determine_connection(p, r, conf, worker, backend,