You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by mi...@apache.org on 2001/04/02 22:55:26 UTC
cvs commit: httpd-proxy/module-2.0 proxy_http.c
minfrin 01/04/02 13:55:25
Modified: . CHANGES
module-2.0 proxy_http.c
Log:
Fixed problem where responses without entity bodies would cause
the directly following proxy keepalive request to fail.
Revision Changes Path
1.11 +4 -0 httpd-proxy/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/httpd-proxy/CHANGES,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- CHANGES 2001/04/02 17:04:15 1.10
+++ CHANGES 2001/04/02 20:55:19 1.11
@@ -1,6 +1,10 @@
mod_proxy changes for 2.0.15 current
+ *) Fixed problem where responses without entity bodies would cause
+ the directly following proxy keepalive request to fail.
+ [Graham Leggett <mi...@sharp.fm>]
+
*) Added support for downstream keepalives in mod_proxy.
[Graham Leggett <mi...@sharp.fm>]
1.37 +13 -5 httpd-proxy/module-2.0/proxy_http.c
Index: proxy_http.c
===================================================================
RCS file: /home/cvs/httpd-proxy/module-2.0/proxy_http.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- proxy_http.c 2001/04/02 17:04:18 1.36
+++ proxy_http.c 2001/04/02 20:55:23 1.37
@@ -322,7 +322,10 @@
/* use previous keepalive socket */
origin = conf->origin;
sock = origin->client_socket;
+ origin->aborted = 0;
+ origin->keepalive = 1;
origin->keepalives++;
+ origin->remain = 0;
new = 0;
/* XXX FIXME: If the socket has since closed, change new to 1 so
@@ -388,11 +391,6 @@
origin->keepalive = 1;
origin->keepalives = 1;
- /* set up the connection filters */
- ap_add_output_filter("CORE", NULL, NULL, origin);
- ap_add_input_filter("HTTP_IN", NULL, NULL, origin);
- ap_add_input_filter("CORE_IN", NULL, NULL, origin);
-
/* if we get here, all is well */
failed = 0;
break;
@@ -416,6 +414,15 @@
* Send the HTTP/1.1 request to the remote server
*/
+ /* set up the connection filters */
+ origin->input_filters = NULL;
+ ap_add_input_filter("HTTP_IN", NULL, NULL, origin);
+ ap_add_input_filter("CORE_IN", NULL, NULL, origin);
+
+ origin->output_filters = NULL;
+ ap_add_output_filter("CORE", NULL, NULL, origin);
+
+
/* strip connection listed hop-by-hop headers from the request */
/* even though in theory a connection: close coming from the client
* should not affect the connection to the server, it's unlikely
@@ -571,6 +578,7 @@
* Get response from the remote server, and pass it up the
* filter chain
*/
+
rp = make_fake_req(origin, r);