You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2003/12/02 15:38:41 UTC

cvs commit: httpd-2.0/modules/proxy proxy_http.c

jorton      2003/12/02 06:38:41

  Modified:    .        Tag: APACHE_2_0_BRANCH CHANGES STATUS
               modules/proxy Tag: APACHE_2_0_BRANCH proxy_http.c
  Log:
  Backport from HEAD:
  
  * proxy_http.c (ap_proxy_http_process_response): Send a valid
  status-line even if the parsed status-line had no trailing spaces.
  Remove the warning for this case as triggers for valid status-lines
  too.
  
  PR: 23998
  Reviewed by: Jeff Trawick, Bill Stoddard
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.988.2.187 +3 -0      httpd-2.0/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/CHANGES,v
  retrieving revision 1.988.2.186
  retrieving revision 1.988.2.187
  diff -u -u -r1.988.2.186 -r1.988.2.187
  --- CHANGES	2 Dec 2003 14:23:22 -0000	1.988.2.186
  +++ CHANGES	2 Dec 2003 14:38:40 -0000	1.988.2.187
  @@ -1,5 +1,8 @@
   Changes with Apache 2.0.49
   
  +  *) mod_proxy: Fix cases where an invalid status-line could be sent 
  +     to the client.  PR 23998.  [Joe Orton]
  +
     *) mod_ssl: Fix segfaults at startup if other modules which use OpenSSL
        are also loaded.  [Joe Orton]
   
  
  
  
  1.751.2.570 +1 -10     httpd-2.0/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/STATUS,v
  retrieving revision 1.751.2.569
  retrieving revision 1.751.2.570
  diff -u -u -r1.751.2.569 -r1.751.2.570
  --- STATUS	2 Dec 2003 14:23:23 -0000	1.751.2.569
  +++ STATUS	2 Dec 2003 14:38:40 -0000	1.751.2.570
  @@ -80,15 +80,6 @@
         +1: stoddard
         +1 (concept): trawick (looks reasonable when compared with worker)
   
  -    * Prevent mod_proxy from sending an invalid status-line to clients
  -      in some cases.
  -      modules/proxy/proxy_http.c: r1.172
  -      +1: jorton, trawick, stoddard
  -      trawick: whoever merges this please create CHANGES entry in both
  -               "trees" and reference PR 18573; oops, Joe thought he
  -               was solving 23998 :)  So close the extra one as a dup
  -               of whichever one gets listed in CHANGES
  -
       * Fix timezone handling in mod_log_config.  PR 23642
         modules/loggers/mod_log_config.c: r1.107
         +1: jorton, stoddard, trawick
  
  
  
  No                   revision
  No                   revision
  1.164.2.4 +9 -7      httpd-2.0/modules/proxy/proxy_http.c
  
  Index: proxy_http.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/proxy/proxy_http.c,v
  retrieving revision 1.164.2.3
  retrieving revision 1.164.2.4
  diff -u -u -r1.164.2.3 -r1.164.2.4
  --- proxy_http.c	15 Apr 2003 16:36:16 -0000	1.164.2.3
  +++ proxy_http.c	2 Dec 2003 14:38:41 -0000	1.164.2.4
  @@ -756,16 +756,18 @@
               backasswards = 0;
   
               keepchar = buffer[12];
  -            if (keepchar == '\0') {
  -                ap_log_error(APLOG_MARK, APLOG_WARNING, 0,
  -                             r->server, "proxy: bad HTTP/%d.%d status line "
  -                             "returned by %s (%s)", major, minor, r->uri,
  -                             r->method);
  -            }
               buffer[12] = '\0';
               r->status = atoi(&buffer[9]);
   
  -            buffer[12] = keepchar;
  +            if (keepchar != '\0') {
  +                buffer[12] = keepchar;
  +            } else {
  +                /* 2616 requires the space in Status-Line; the origin
  +                 * server may have sent one but ap_rgetline_core will
  +                 * have stripped it. */
  +                buffer[12] = ' ';
  +                buffer[13] = '\0';
  +            }
               r->status_line = apr_pstrdup(p, &buffer[9]);