From 4e4a5fcc61c0dd527a0cbc154d8de44254f8269f Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Tue, 29 Jan 2013 23:43:20 +0100 Subject: [PATCH] Skip cidr checking for hostmask.c entries with negative cidrlen. They will be treated as hostmasks only. In the case of dlines they will be rejected as invalid. hostmask.c entries such as dlines, klines and auth blocks can only be added by opers or via ircd.conf. --- src/hostmask.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/hostmask.c b/src/hostmask.c index fb28bbbb5..7b86c1654 100644 --- a/src/hostmask.c +++ b/src/hostmask.c @@ -78,6 +78,8 @@ parse_netmask(const char *text, struct sockaddr *naddr, int *nb) *b = atoi(ptr); if(*b > 128) *b = 128; + else if(*b < 0) + return HM_HOST; } else *b = 128; if(rb_inet_pton_sock(ip, (struct sockaddr *)addr) > 0) @@ -95,6 +97,8 @@ parse_netmask(const char *text, struct sockaddr *naddr, int *nb) *b = atoi(ptr); if(*b > 32) *b = 32; + else if(*b < 0) + return HM_HOST; } else *b = 32; if(rb_inet_pton_sock(ip, (struct sockaddr *)addr) > 0)