Balancers and Workers defined in the main server. This can cause issues and
inconsistent behavior if using the Balancer Manager and so should be disabled
if using that feature.</p>
+ <p>The setting in the global server defines the default for all vhosts.</p>
</usage>
</directivesynopsis>
ps->max_balancers = 0;
ps->bal_persist = 0;
ps->inherit = 1;
+ ps->inherit_set = 0;
ps->bgrowth = 5;
ps->bgrowth_set = 0;
ps->req_set = 0;
proxy_server_conf *base = (proxy_server_conf *) basev;
proxy_server_conf *overrides = (proxy_server_conf *) overridesv;
- if (overrides->inherit || base->inherit) {
+ ps->inherit = (overrides->inherit_set == 0) ? base->inherit : overrides->inherit;
+ ps->inherit_set = overrides->inherit_set || base->inherit_set;
+
+ if (ps->inherit) {
ps->proxies = apr_array_append(p, base->proxies, overrides->proxies);
ps->sec_proxy = apr_array_append(p, base->sec_proxy, overrides->sec_proxy);
ps->aliases = apr_array_append(p, base->aliases, overrides->aliases);
ps->bgrowth_set = overrides->bgrowth_set || base->bgrowth_set;
ps->max_balancers = overrides->max_balancers || base->max_balancers;
ps->bal_persist = overrides->bal_persist;
- ps->inherit = overrides->inherit || base->inherit;
ps->recv_buffer_size = (overrides->recv_buffer_size_set == 0) ? base->recv_buffer_size : overrides->recv_buffer_size;
ps->recv_buffer_size_set = overrides->recv_buffer_size_set || base->recv_buffer_size_set;
ps->io_buffer_size = (overrides->io_buffer_size_set == 0) ? base->io_buffer_size : overrides->io_buffer_size;
ap_get_module_config(parms->server->module_config, &proxy_module);
psf->inherit = flag;
+ psf->inherit_set = 1;
return NULL;
}
unsigned int source_address_set:1;
unsigned int bgrowth_set:1;
unsigned int inherit:1;
+ unsigned int inherit_set:1;
unsigned int bal_persist:1;
} proxy_server_conf;