diff options
author | Joe Orton <jorton@apache.org> | 2017-02-17 18:14:47 +0000 |
---|---|---|
committer | Joe Orton <jorton@apache.org> | 2017-02-17 18:14:47 +0000 |
commit | 478b3fe508349a7a3745611bff279e62cf9a39ac (patch) | |
tree | 6f20fa0211a0bc68b699159d02087c6e370d29a7 | |
parent | ebd99cf87b9d869c541b08ac53e836e14b4d34a6 (diff) | |
download | httpd-2.2.x-merge-http-strict.tar.gz |
Merge r1783440 from 2.2.x:2.2.x-merge-http-strict
* 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
-rw-r--r-- | server/core.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/server/core.c b/server/core.c index b401d93a63..34afb347b5 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; } |