httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cove...@apache.org
Subject svn commit: r1204341 - /httpd/httpd/trunk/modules/generators/mod_autoindex.c
Date Mon, 21 Nov 2011 03:29:12 GMT
Author: covener
Date: Mon Nov 21 03:29:12 2011
New Revision: 1204341

URL: http://svn.apache.org/viewvc?rev=1204341&view=rev
Log:
PR51471: IndexIgnore doesn't work in DirectoryMatch.


Modified:
    httpd/httpd/trunk/modules/generators/mod_autoindex.c

Modified: httpd/httpd/trunk/modules/generators/mod_autoindex.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/generators/mod_autoindex.c?rev=1204341&r1=1204340&r2=1204341&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/generators/mod_autoindex.c (original)
+++ httpd/httpd/trunk/modules/generators/mod_autoindex.c Mon Nov 21 03:29:12 2011
@@ -326,7 +326,7 @@ static const char *add_desc(cmd_parms *c
 
 static const char *add_ignore(cmd_parms *cmd, void *d, const char *ext)
 {
-    push_item(((autoindex_config_rec *) d)->ign_list, 0, ext, cmd->path, NULL);
+    push_item(((autoindex_config_rec *) d)->ign_list, cmd->info, ext, cmd->path,
NULL);
     return NULL;
 }
 
@@ -587,7 +587,7 @@ static const command_rec autoindex_cmds[
                       "one or more index options [+|-][]"),
     AP_INIT_TAKE2("IndexOrderDefault", set_default_order, NULL, DIR_CMD_PERMS,
                   "{Ascending,Descending} {Name,Size,Description,Date}"),
-    AP_INIT_ITERATE("IndexIgnore", add_ignore, NULL, DIR_CMD_PERMS,
+    AP_INIT_ITERATE("IndexIgnore", add_ignore, BY_PATH, DIR_CMD_PERMS,
                     "one or more file extensions"),
     AP_INIT_FLAG("IndexIgnoreReset", ap_set_flag_slot,
                  (void *)APR_OFFSETOF(autoindex_config_rec, ign_noinherit),
@@ -876,30 +876,13 @@ static int ignore_entry(autoindex_config
 {
     apr_array_header_t *list = d->ign_list;
     struct item *items = (struct item *) list->elts;
-    char *tt;
     int i;
 
-    if ((tt = strrchr(path, '/')) == NULL) {
-        tt = path;
-    }
-    else {
-        tt++;
-    }
-
     for (i = 0; i < list->nelts; ++i) {
         struct item *p = &items[i];
-        char *ap;
-
-        if ((ap = strrchr(p->apply_to, '/')) == NULL) {
-            ap = p->apply_to;
-        }
-        else {
-            ap++;
-        }
 
 #ifndef CASE_BLIND_FILESYSTEM
-        if (!ap_strcmp_match(path, p->apply_path)
-            && !ap_strcmp_match(tt, ap)) {
+        if (!ap_strcmp_match(path, p->apply_to)) {
             return 1;
         }
 #else  /* !CASE_BLIND_FILESYSTEM */
@@ -908,8 +891,7 @@ static int ignore_entry(autoindex_config
          * a factor of the filesystem involved, but we can't detect that
          * reliably - so we have to granularise at the OS level.
          */
-        if (!ap_strcasecmp_match(path, p->apply_path)
-            && !ap_strcasecmp_match(tt, ap)) {
+        if (!ap_strcasecmp_match(path, p->apply_to)) {
             return 1;
         }
 #endif /* !CASE_BLIND_FILESYSTEM */



Mime
View raw message