comparison src/http/modules/ngx_http_limit_conn_module.c @ 662:e5fa0a4a7d27 NGINX_1_1_15

nginx 1.1.15 *) Feature: the "disable_symlinks" directive. *) Feature: the "proxy_cookie_domain" and "proxy_cookie_path" directives. *) Bugfix: nginx might log incorrect error "upstream prematurely closed connection" instead of correct "upstream sent too big header" one. Thanks to Feibo Li. *) Bugfix: nginx could not be built with the ngx_http_perl_module if the --with-openssl option was used. *) Bugfix: internal redirects to named locations were not limited. *) Bugfix: calling $r->flush() multiple times might cause errors in the ngx_http_gzip_filter_module. *) Bugfix: temporary files might be not removed if the "proxy_store" directive were used with SSI includes. *) Bugfix: in some cases non-cacheable variables (such as the $args variable) returned old empty cached value. *) Bugfix: a segmentation fault might occur in a worker process if too many SSI subrequests were issued simultaneously; the bug had appeared in 0.7.25.
author Igor Sysoev <http://sysoev.ru>
date Wed, 15 Feb 2012 00:00:00 +0400
parents d0f7a625f27c
children f5b859b2f097
comparison
equal deleted inserted replaced
661:b49c1751031c 662:e5fa0a4a7d27
157 157
158 if (r->main->limit_conn_set) { 158 if (r->main->limit_conn_set) {
159 return NGX_DECLINED; 159 return NGX_DECLINED;
160 } 160 }
161 161
162 r->main->limit_conn_set = 1;
163
164 lccf = ngx_http_get_module_loc_conf(r, ngx_http_limit_conn_module); 162 lccf = ngx_http_get_module_loc_conf(r, ngx_http_limit_conn_module);
165 limits = lccf->limits.elts; 163 limits = lccf->limits.elts;
166 164
167 for (i = 0; i < lccf->limits.nelts; i++) { 165 for (i = 0; i < lccf->limits.nelts; i++) {
168 ctx = limits[i].shm_zone->data; 166 ctx = limits[i].shm_zone->data;
184 "the value of the \"%V\" variable " 182 "the value of the \"%V\" variable "
185 "is more than 255 bytes: \"%v\"", 183 "is more than 255 bytes: \"%v\"",
186 &ctx->var, vv); 184 &ctx->var, vv);
187 continue; 185 continue;
188 } 186 }
187
188 r->main->limit_conn_set = 1;
189 189
190 hash = ngx_crc32_short(vv->data, len); 190 hash = ngx_crc32_short(vv->data, len);
191 191
192 shpool = (ngx_slab_pool_t *) limits[i].shm_zone->shm.addr; 192 shpool = (ngx_slab_pool_t *) limits[i].shm_zone->shm.addr;
193 193