]> git.pld-linux.org Git - packages/apache.git/blob - apache-normalize-path.patch
- todo security
[packages/apache.git] / apache-normalize-path.patch
1 ===================================================================
2 RCS file: /home/cvspublic/httpd-2.0/server/protocol.c,v
3 retrieving revision 1.156
4 retrieving revision 1.157
5 diff -u -r1.156 -r1.157
6 --- httpd-2.0/server/protocol.c 2004/10/25 06:40:08     1.156
7 +++ httpd-2.0/server/protocol.c 2004/10/25 10:24:17     1.157
8 @@ -502,6 +502,16 @@
9  
10      r->unparsed_uri = apr_pstrdup(r->pool, uri);
11  
12 +    /* http://issues.apache.org/bugzilla/show_bug.cgi?id=31875
13 +     * http://issues.apache.org/bugzilla/show_bug.cgi?id=28450
14 +     *
15 +     * This is not in fact a URI, it's a path.  That matters in the
16 +     * case of a leading double-slash.  We need to resolve the issue
17 +     * by normalising that out before treating it as a URI.
18 +     */
19 +    while ((uri[0] == '/') && (uri[1] == '/')) {
20 +        ++uri ;
21 +    }
22      if (r->method_number == M_CONNECT) {
23          status = apr_uri_parse_hostinfo(r->pool, uri, &r->parsed_uri);
24      }
This page took 0.026494 seconds and 3 git commands to generate.