From f5071e48bfbf73d694e7493e4bd506fef6c51782 Mon Sep 17 00:00:00 2001 From: Eric Covener Date: Wed, 7 Jun 2017 00:52:10 +0000 Subject: [PATCH] allow quoted paths in The boilerplate code for config sections conflicts with TAKE1 because of the trailing stuff to terminate the opening tag. Change from TAKE1 to RAW_ARGS and call ap_getword_conf() directly. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1797844 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 4 ++++ server/core.c | 17 ++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index 20fc656c5e..65fdf0beee 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) Allow the argument to , , , , + and to be quoted. This is primarily for the benefit of + . [Eric Covener] + *) Introduce request taint checking framework to prevent privilege hijacking through .htaccess. [Nick Kew] diff --git a/server/core.c b/server/core.c index 4bdcb8fded..cf2c28f5f0 100644 --- a/server/core.c +++ b/server/core.c @@ -2779,6 +2779,7 @@ static const char *start_cond_section(cmd_parms *cmd, void *mconfig, const char const char *endp = ap_strrchr_c(arg, '>'); int result, not = (arg[0] == '!'); test_cond_section_fn testfn = (test_cond_section_fn)cmd->info; + const char *arg1; if (endp == NULL) { return unclosed_directive(cmd); @@ -2790,11 +2791,13 @@ static const char *start_cond_section(cmd_parms *cmd, void *mconfig, const char arg++; } - if (!arg[0]) { + arg1 = ap_getword_conf(cmd->temp_pool, &arg); + + if (!arg1[0]) { return missing_container_arg(cmd); } - result = testfn(cmd, arg); + result = testfn(cmd, arg1); if ((!not && result) || (not && !result)) { ap_directive_t *parent = NULL; @@ -4457,19 +4460,19 @@ AP_INIT_RAW_ARGS("