Mercurial > hg > nginx
changeset 1011:19118c44303f
test length of variable and number of connections
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 11 Jan 2007 16:50:06 +0000 |
parents | d1792e17a559 |
children | 11ffb8e4753f |
files | src/http/modules/ngx_http_limit_zone_module.c |
diffstat | 1 files changed, 20 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_limit_zone_module.c +++ b/src/http/modules/ngx_http_limit_zone_module.c @@ -131,9 +131,21 @@ ngx_http_limit_zone_handler(ngx_http_req return NGX_DECLINED; } - r->main->limit_zone_set = 1; + len = vv->len; + + if (len == 0) { + return NGX_DECLINED; + } - len = vv->len; + if (len > 255) { + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, + "the value of the \"%V\" variable " + "is more than 255 bytes: \"%V\"", + &ctx->var, vv); + return NGX_DECLINED; + } + + r->main->limit_zone_set = 1; hash = ngx_crc32_short(vv->data, len); @@ -419,6 +431,12 @@ ngx_http_limit_conn(ngx_conf_t *cf, ngx_ return NGX_CONF_ERROR; } + if (n > 65535) { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "connection limit must be less 65536"); + return NGX_CONF_ERROR; + } + lzcf->conn = n; return NGX_CONF_OK;