You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rp...@apache.org on 2006/04/02 21:25:36 UTC

svn commit: r390885 - in /httpd/httpd/branches/2.2.x: STATUS modules/proxy/mod_proxy_http.c

Author: rpluem
Date: Sun Apr  2 12:25:34 2006
New Revision: 390885

URL: http://svn.apache.org/viewcvs?rev=390885&view=rev
Log:
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

Modified:
    httpd/httpd/branches/2.2.x/STATUS
    httpd/httpd/branches/2.2.x/modules/proxy/mod_proxy_http.c

Modified: httpd/httpd/branches/2.2.x/STATUS
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/STATUS?rev=390885&r1=390884&r2=390885&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/STATUS (original)
+++ httpd/httpd/branches/2.2.x/STATUS Sun Apr  2 12:25:34 2006
@@ -74,16 +74,6 @@
 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:
 

Modified: httpd/httpd/branches/2.2.x/modules/proxy/mod_proxy_http.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/proxy/mod_proxy_http.c?rev=390885&r1=390884&r2=390885&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/proxy/mod_proxy_http.c (original)
+++ httpd/httpd/branches/2.2.x/modules/proxy/mod_proxy_http.c Sun Apr  2 12:25:34 2006
@@ -987,7 +987,7 @@
      * 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 @@
 
 
     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,