From b9c226abe074b82a2bbca514ab5539ee0672fb01 Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Tue, 10 Apr 2012 13:25:53 +0000 Subject: [PATCH] Access module: fixed inheritance of allow/deny ipv6 rules. Previous (incorrect) behaviour was to inherit ipv6 rules separately from ipv4 ones. Now all rules are either inherited (if there are no rules defined at current level) or not (if there are any rules defined). --- src/http/modules/ngx_http_access_module.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/http/modules/ngx_http_access_module.c b/src/http/modules/ngx_http_access_module.c index 84a75d777..70a4262fc 100644 --- a/src/http/modules/ngx_http_access_module.c +++ b/src/http/modules/ngx_http_access_module.c @@ -351,14 +351,19 @@ ngx_http_access_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) ngx_http_access_loc_conf_t *prev = parent; ngx_http_access_loc_conf_t *conf = child; +#if (NGX_HAVE_INET6) + + if (conf->rules == NULL && conf->rules6 == NULL) { + conf->rules = prev->rules; + conf->rules6 = prev->rules6; + } + +#else + if (conf->rules == NULL) { conf->rules = prev->rules; } -#if (NGX_HAVE_INET6) - if (conf->rules6 == NULL) { - conf->rules6 = prev->rules6; - } #endif return NGX_CONF_OK;