]> granicus.if.org Git - apache/commitdiff
*) core: merge AllowEncodedSlashes from the base configuration into
authorEric Covener <covener@apache.org>
Tue, 25 Jun 2013 02:48:25 +0000 (02:48 +0000)
committerEric Covener <covener@apache.org>
Tue, 25 Jun 2013 02:48:25 +0000 (02:48 +0000)
     (non-default) name-based virtual hosts. [Eric Covener]

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

CHANGES
include/ap_mmn.h
include/http_core.h
server/core.c

diff --git a/CHANGES b/CHANGES
index 6016a7bb14c715973c52f134e9d549c096f922c1..4320bb08352896229652e59b81250a7ce7daca2d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) core: merge AllowEncodedSlashes from the base configuration into
+     (non-default) name-based virtual hosts. [Eric Covener]
+
   *) mod_headers: Add 'setifempty' command to Header and RequestHeader.
      [Eric Covener]
 
index 1c98b5a4258e562829b76791c2493190685908f0..d9d668ecba4d68b3887baadbd7bb8f4c001c22bc 100644 (file)
  *                         ap_condition_if_range()
  * 20121222.13 (2.5.0-dev) Add ap_proxy_clear_connection()
  * 20121222.14 (2.5.0-dev) Add ap_map_http_request_error()
+ * 20121222.15 (2.5.0-dev) Add allow/decode_encoded_slashes_set to core_dir_config
  */
 
 #define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
 #ifndef MODULE_MAGIC_NUMBER_MAJOR
 #define MODULE_MAGIC_NUMBER_MAJOR 20121222
 #endif
-#define MODULE_MAGIC_NUMBER_MINOR 14                  /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 15                  /* 0...n */
 
 /**
  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
index d6fb3ab35716de4c019e4ef80bc26a8daa40123f..80ce6cdd96196c97c8b8322fba931959bfcd5ba3 100644 (file)
@@ -617,6 +617,8 @@ typedef struct {
     /** Max number of Range reversals (eg: 200-300, 100-125) allowed **/
     int max_reversals;
 
+    unsigned int allow_encoded_slashes_set : 1;
+    unsigned int decode_encoded_slashes_set : 1;
 } core_dir_config;
 
 /* macro to implement off by default behaviour */
index 799ce6052213a4e17e9eba387b8f83c60211703c..eda46a4794887c1ee2914672cb8f9e845d718128 100644 (file)
@@ -398,8 +398,12 @@ static void *merge_core_dir_configs(apr_pool_t *a, void *basev, void *newv)
         conf->enable_sendfile = new->enable_sendfile;
     }
 
-    conf->allow_encoded_slashes = new->allow_encoded_slashes;
-    conf->decode_encoded_slashes = new->decode_encoded_slashes;
+    if (new->allow_encoded_slashes_set) {
+        conf->allow_encoded_slashes = new->allow_encoded_slashes;
+    }
+    if (new->decode_encoded_slashes_set) {
+        conf->decode_encoded_slashes = new->decode_encoded_slashes;
+    }
 
     if (new->log) {
         if (!conf->log) {
@@ -2893,6 +2897,10 @@ static const char *set_allow2f(cmd_parms *cmd, void *d_, const char *arg)
                            cmd->cmd->name, " must be On, Off, or NoDecode",
                            NULL);
     }
+
+    d->allow_encoded_slashes_set = 1;
+    d->decode_encoded_slashes_set = 1;
+
     return NULL;
 }