diff src/core/ngx_inet.c @ 1380:b590a528fd41

ignore meaningless bits in CIDR and warn about them
author Igor Sysoev <igor@sysoev.ru>
date Fri, 10 Aug 2007 13:13:28 +0000
parents db7c468c447d
children fe11e2a3946d
line wrap: on
line diff
--- 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;
 }