Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv15164/src
Modified Files:
Tag: rel-1_0
tools.c
Log Message:
do ircu-style ip mask matching, rather than network-style ip mask matching
Index: tools.c
===================================================================
RCS file: /cvsroot/srvx/services/src/tools.c,v
retrieving revision 1.73.2.25
retrieving revision 1.73.2.26
diff -C2 -r1.73.2.25 -r1.73.2.26
*** tools.c 2001/08/14 15:31:38 1.73.2.25
--- tools.c 2001/08/16 03:15:52 1.73.2.26
***************
*** 505,514 ****
if (isdigit(*glob) && !glob[strspn(glob, "0123456789./*?")]) {
/* Looks like an IP-based mask */
! unsigned long addr, mask;
! if (!parse_ipmask(glob, &addr, &mask)) {
! log(MAIN_LOG, LOG_WARNING, "Glob \"%s\" looked like it had an IP hostmask, but parse_ipmask failed\n", glob);
! return 0;
! }
! return !((addr ^ user->ip) & mask);
} else {
/* The host part of the mask isn't IP-based */
--- 505,511 ----
if (isdigit(*glob) && !glob[strspn(glob, "0123456789./*?")]) {
/* Looks like an IP-based mask */
! unsigned char userip[20];
! sprintf(userip, "%ld.%ld.%ld.%ld", (user->ip >> 24) & 255, (user->ip >> 16) & 255, (user->ip >> 8) & 255, user->ip & 255);
! return match_ircglob(userip, glob);
} else {
/* The host part of the mask isn't IP-based */
|