]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Let mod_autoindex show filenames containing special chars like %.
authorAndré Malo <nd@apache.org>
Sun, 14 Dec 2003 16:21:44 +0000 (16:21 +0000)
committerAndré Malo <nd@apache.org>
Sun, 14 Dec 2003 16:21:44 +0000 (16:21 +0000)
PR: 13598
Reviewed by: Ian Holsman, Jeff Trawick

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@102057 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
server/request.c

diff --git a/CHANGES b/CHANGES
index 09f9e7f2267b6050b6e261be5dcecca66c3a2ba8..649c3cb700bb1875ca8d248799ba75ae7f4f1585 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,8 @@
 Changes with Apache 2.0.49
 
+  *) mod_autoindex / core: Don't fail to show filenames containing
+     special characters like '%'. PR 13598.  [André Malo]
   *) mod_status: Report total CPU time accurately when using a threaded
      MPM.  PR 23795.  [Jeff Trawick]
 
diff --git a/STATUS b/STATUS
index fa2ac8abf72d5c826acb5dd427cd5b4056a9631a..c9c930f35a41a27fe68499da02578af83131f71e 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -1,5 +1,5 @@
 APACHE 2.0 STATUS:                                              -*-text-*-
-Last modified at [$Date: 2003/12/14 14:18:35 $]
+Last modified at [$Date: 2003/12/14 16:21:43 $]
 
 Release:
 
@@ -292,11 +292,6 @@ PATCHES TO BACKPORT FROM 2.1
          nd replies: But if it can't be 0 the alternatives thereafter make no
            sense anymore, right?
 
-    * Let mod_autoindex show filenames containing special characters.
-      PR 13598.
-        server/request.c: r1.130
-      +1: nd, ianh, trawick
-
     * mod_setenvif: Fix optimizer to treat regexps as such even if they
       only contain anchors like \b. PR 24219.
         modules/metadata/mod_setenvif.c: r1.44
index 9b0704661cb4855d963e6ce72575c86c859b2d32..fb93bf4cd6433af8d1865f4288fd0da9a94fbc10 100644 (file)
@@ -1694,10 +1694,13 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent,
             rnew->uri = ap_make_full_path(rnew->pool, rnew->uri, r->path_info + 1);
             rnew->path_info = apr_pstrdup(rnew->pool, r->path_info);
         }
+        rnew->uri = ap_escape_uri(rnew->pool, rnew->uri);
     }
     else {
         udir = ap_make_dirstr_parent(rnew->pool, r->uri);
-        rnew->uri = ap_make_full_path(rnew->pool, udir, dirent->name);
+        rnew->uri = ap_escape_uri(rnew->pool, ap_make_full_path(rnew->pool,
+                                                                udir,
+                                                                dirent->name));
     }
 
     fdir = ap_make_dirstr_parent(rnew->pool, r->filename);