diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index 6f177fe3d0..464b140e01 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -483,6 +483,7 @@ static void * create_proxy_config(apr_pool_t *p, server_rec *s) ps->maxfwd = DEFAULT_MAX_FORWARDS; ps->maxfwd_set = 0; ps->error_override = 0; + ps->error_override_set = 0; return ps; } @@ -505,6 +506,7 @@ static void * merge_proxy_config(apr_pool_t *p, void *basev, void *overridesv) ps->req = (overrides->req_set == 0) ? base->req : overrides->req; ps->recv_buffer_size = (overrides->recv_buffer_size_set == 0) ? base->recv_buffer_size : overrides->recv_buffer_size; ps->maxfwd = (overrides->maxfwd_set == 0) ? base->maxfwd : overrides->maxfwd; + ps->error_override = (overrides->error_override_set == 0) ? base->error_override : overrides->error_override; return ps; } @@ -767,6 +769,7 @@ static const char * ap_get_module_config(parms->server->module_config, &proxy_module); psf->error_override = flag; + psf->error_override_set = 1; return NULL; } diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h index 55c98c85e3..91e661dbe7 100644 --- a/modules/proxy/mod_proxy.h +++ b/modules/proxy/mod_proxy.h @@ -186,6 +186,7 @@ typedef struct { * returned from the rest of the system */ int error_override; + int error_override_set; } proxy_server_conf;