changeset 4440:97995d63aa36 stable-1.0

Merge of r4381, r4400: Fixed limit_conn_log_level/limit_req_log_level inheritance. The directives did not work if there were no limit_conn/limit_req specified on the same level. The code for limit_conn is different in 1.0.x, conflict resolved manually.
author Maxim Dounin <mdounin@mdounin.ru>
date Sun, 05 Feb 2012 15:47:58 +0000
parents 5c97978d2717
children e30845779761
files src/http/modules/ngx_http_limit_req_module.c src/http/modules/ngx_http_limit_zone_module.c
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/modules/ngx_http_limit_req_module.c
+++ b/src/http/modules/ngx_http_limit_req_module.c
@@ -569,7 +569,9 @@ ngx_http_limit_req_merge_conf(ngx_conf_t
     ngx_http_limit_req_conf_t *conf = child;
 
     if (conf->shm_zone == NULL) {
-        *conf = *prev;
+        conf->shm_zone = prev->shm_zone;
+        conf->burst = prev->burst;
+        conf->nodelay = prev->nodelay;
     }
 
     ngx_conf_merge_uint_value(conf->limit_log_level, prev->limit_log_level,
--- a/src/http/modules/ngx_http_limit_zone_module.c
+++ b/src/http/modules/ngx_http_limit_zone_module.c
@@ -421,7 +421,8 @@ ngx_http_limit_zone_merge_conf(ngx_conf_
     ngx_http_limit_zone_conf_t *conf = child;
 
     if (conf->shm_zone == NULL) {
-        *conf = *prev;
+        conf->shm_zone = prev->shm_zone;
+        conf->conn = prev->conn;
     }
 
     ngx_conf_merge_uint_value(conf->log_level, prev->log_level, NGX_LOG_ERR);