]> git.pld-linux.org Git - packages/apache.git/blob - httpd-2.0.45-proxy.patch
- new
[packages/apache.git] / httpd-2.0.45-proxy.patch
1
2 Fix handling of status-line without trailing space. (2.0.49)
3
4 Fix leak in reverse proxy request body handling. (2.0.49)
5
6 --- httpd-2.0.46/modules/proxy/proxy_http.c.proxy
7 +++ httpd-2.0.46/modules/proxy/proxy_http.c
8 @@ -665,7 +665,8 @@
9              }
10  
11              /* We can't pass this EOS to the output_filters. */
12 -            APR_BUCKET_REMOVE(APR_BRIGADE_LAST(bb));
13 +            e = APR_BRIGADE_LAST(bb);
14 +            apr_bucket_delete(e);
15              seen_eos = 1;
16          }
17  
18 @@ -756,16 +757,18 @@
19              backasswards = 0;
20  
21              keepchar = buffer[12];
22 -            if (keepchar == '\0') {
23 -                ap_log_error(APLOG_MARK, APLOG_WARNING, 0,
24 -                             r->server, "proxy: bad HTTP/%d.%d status line "
25 -                             "returned by %s (%s)", major, minor, r->uri,
26 -                             r->method);
27 -            }
28              buffer[12] = '\0';
29              r->status = atoi(&buffer[9]);
30  
31 -            buffer[12] = keepchar;
32 +            if (keepchar != '\0') {
33 +                buffer[12] = keepchar;
34 +            } else {
35 +                /* 2616 requires the space in Status-Line; the origin
36 +                 * server may have sent one but ap_rgetline_core will
37 +                 * have stripped it. */
38 +                buffer[12] = ' ';
39 +                buffer[13] = '\0';
40 +            }
41              r->status_line = apr_pstrdup(p, &buffer[9]);
42              
43  
This page took 0.037778 seconds and 4 git commands to generate.