Mercurial > hg > nginx
comparison src/http/modules/ngx_http_access_module.c @ 4580:ae60a1085c82
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).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 10 Apr 2012 13:25:53 +0000 |
parents | d620f497c50f |
children | 00dbfac67e48 |
comparison
equal
deleted
inserted
replaced
4579:778ea2f7268c | 4580:ae60a1085c82 |
---|---|
349 ngx_http_access_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) | 349 ngx_http_access_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) |
350 { | 350 { |
351 ngx_http_access_loc_conf_t *prev = parent; | 351 ngx_http_access_loc_conf_t *prev = parent; |
352 ngx_http_access_loc_conf_t *conf = child; | 352 ngx_http_access_loc_conf_t *conf = child; |
353 | 353 |
354 #if (NGX_HAVE_INET6) | |
355 | |
356 if (conf->rules == NULL && conf->rules6 == NULL) { | |
357 conf->rules = prev->rules; | |
358 conf->rules6 = prev->rules6; | |
359 } | |
360 | |
361 #else | |
362 | |
354 if (conf->rules == NULL) { | 363 if (conf->rules == NULL) { |
355 conf->rules = prev->rules; | 364 conf->rules = prev->rules; |
356 } | 365 } |
357 | 366 |
358 #if (NGX_HAVE_INET6) | |
359 if (conf->rules6 == NULL) { | |
360 conf->rules6 = prev->rules6; | |
361 } | |
362 #endif | 367 #endif |
363 | 368 |
364 return NGX_CONF_OK; | 369 return NGX_CONF_OK; |
365 } | 370 } |
366 | 371 |