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);