git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1369
c9e4aea6-c8fd-4c43-8297-
357d70d61c8c
+2005-04-18 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/match.c (check_if_ipmask): Do not interpret masks that
+ start with . or / as IP-based host masks.
+
2005-04-17 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (mode_process_clients): Only prohibit deops of
int has_digit = 0;
const char *p;
+ /* Given the bug that inspired this test, this may seem like a hasty
+ * kludge. It isn't: Wildcard characters should be matched from the
+ * start, as when the username is the "interesting" part of the ban.
+ * Likewise, we cannot simply reject masks interpreted as */0.
+ */
+ if (mask[0] == '.' || mask[0] == '/')
+ return 0;
for (p = mask; *p; ++p)
if (*p != '*' && *p != '?' && *p != '.' && *p != '/')
{