diff options
author | Igor Sysoev <igor@sysoev.ru> | 2007-08-10 13:13:28 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2007-08-10 13:13:28 +0000 |
commit | 845f6d553a48a74f12e9b80b7824d59da257bc82 (patch) | |
tree | 9b7866822b51333f875fd4bf147ebdd811b9d009 /src/core/ngx_inet.c | |
parent | 7a8e33993a1322c11c583d96c5c47498fda12859 (diff) | |
download | nginx-845f6d553a48a74f12e9b80b7824d59da257bc82.tar.gz nginx-845f6d553a48a74f12e9b80b7824d59da257bc82.zip |
ignore meaningless bits in CIDR and warn about them
Diffstat (limited to 'src/core/ngx_inet.c')
-rw-r--r-- | src/core/ngx_inet.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c index de4cae280..31094ba59 100644 --- a/src/core/ngx_inet.c +++ b/src/core/ngx_inet.c @@ -214,7 +214,13 @@ ngx_ptocidr(ngx_str_t *text, void *cidr) in_cidr->mask = htonl((ngx_uint_t) (0 - (1 << (32 - m)))); - return NGX_OK; + if (in_cidr->addr == (in_cidr->addr & in_cidr->mask)) { + return NGX_OK; + } + + in_cidr->addr &= in_cidr->mask; + + return NGX_DONE; } |