From: Joe Orton Date: Fri, 17 Feb 2017 18:14:47 +0000 (+0000) Subject: Merge r1783440 from 2.2.x: X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2F2.2.x-merge-http-strict;p=thirdparty%2Fapache%2Fhttpd.git Merge r1783440 from 2.2.x: * server/core.c (merge_core_server_configs): Fix merging of 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-merge-http-strict@1783441 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/core.c b/server/core.c index b401d93a637..34afb347b54 100644 --- a/server/core.c +++ b/server/core.c @@ -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; }