]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
* server/core.c (merge_core_server_configs): Fix merging of
authorJoe Orton <jorton@apache.org>
Fri, 17 Feb 2017 18:03:43 +0000 (18:03 +0000)
committerJoe Orton <jorton@apache.org>
Fri, 17 Feb 2017 18:03:43 +0000 (18:03 +0000)
  HttpProtocolOptions from global to vhost context.

Reviewed by: jorton, wrowe, covener

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

CHANGES
server/core.c

diff --git a/CHANGES b/CHANGES
index f2ca90ff0f5c4d584b53b207a43d1f3a34170938..7a950e52a67b199296f3ac7e8c1b811f660a807d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,7 +1,8 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.2.33
 
-
+  *) Fix HttpProtocolOptions to inherit from global to VirtualHost scope.
+     [Joe Orton]
 
 Changes with Apache 2.2.32
 
index b401d93a637c454500bc6754a00c0c591221cf5f..34afb347b54322ceb2e77d79de6a41f1bacceab2 100644 (file)
@@ -546,15 +546,19 @@ static void *merge_core_server_configs(apr_pool_t *p, void *basev, void *virtv)
                            ? virt->merge_trailers
                            : base->merge_trailers;
 
-    if (virt->http09_enable != AP_HTTP09_UNSET)
-        conf->http09_enable = virt->http09_enable;
+    if (conf->http09_enable == AP_HTTP09_UNSET)
+        conf->http09_enable = base->http09_enable;
 
-    if (virt->http_conformance != AP_HTTP_CONFORMANCE_UNSET)
-        conf->http_conformance = virt->http_conformance;
+    if (conf->http_conformance == AP_HTTP_CONFORMANCE_UNSET)
+        conf->http_conformance = base->http_conformance;
 
-    if (virt->http_methods != AP_HTTP_METHODS_UNSET)
-        conf->http_methods = virt->http_methods;
+    if (conf->http_methods == AP_HTTP_METHODS_UNSET)
+        conf->http_methods = base->http_methods;
 
+    /* N.B. If you backport things here from 2.4, note that the
+     * merging logic needs to be inverted, since conf is initially a
+     * copy of vertv not basev. */
+    
     return conf;
 }