From 6c2475f70e0416dfc00c13d04c221f2d81f80c22 Mon Sep 17 00:00:00 2001 From: Eric Covener Date: Mon, 21 Nov 2011 01:03:15 +0000 Subject: [PATCH] PR39923: Allow AddDescription to work with absolute filesystem paths, by not adding "*/" to their prefix (intended for relative paths) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1204307 13f79535-47bb-0310-9956-ffa450edef68 --- modules/generators/mod_autoindex.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/generators/mod_autoindex.c b/modules/generators/mod_autoindex.c index b688867363..1007b8e7db 100644 --- a/modules/generators/mod_autoindex.c +++ b/modules/generators/mod_autoindex.c @@ -300,6 +300,7 @@ static const char *add_desc(cmd_parms *cmd, void *d, const char *desc, autoindex_config_rec *dcfg = (autoindex_config_rec *) d; ai_desc_t *desc_entry; char *prefix = ""; + int is_abspath = ap_os_is_path_absolute(cmd->temp_pool, to); desc_entry = (ai_desc_t *) apr_array_push(dcfg->desc_list); desc_entry->full_path = (ap_strchr_c(to, '/') == NULL) ? 0 : 1; @@ -307,7 +308,12 @@ static const char *add_desc(cmd_parms *cmd, void *d, const char *desc, || desc_entry->full_path || apr_fnmatch_test(to)); if (desc_entry->wildcards) { - prefix = desc_entry->full_path ? "*/" : "*"; + if (desc_entry->full_path && !is_abspath) { + prefix = "*/"; + } + else if (WILDCARDS_REQUIRED) { + prefix = "*"; + } desc_entry->pattern = apr_pstrcat(dcfg->desc_list->pool, prefix, to, "*", NULL); } -- 2.40.0