git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1480
c9e4aea6-c8fd-4c43-8297-
357d70d61c8c
+2005-09-12 Michael Poole <mdpoole@troilus.org>
+
+ * RELEASE.NOTES: Note the resolution of ambiguous ipmasks.
+
+ * ircd/ircd_string.c (ipmask_parse): Implement it.
+
2005-09-12 Michael Poole <mdpoole@troilus.org>
* ircd/m_join.c (m_join): If we find an empty key, null out the
IP masks (as used in bans, G-lines, etc) are now parsed in a more
forgiving manner. 127.0.0.0/8, 127.* and 127/8 are all accepted and
-mean the same thing.
+mean the same thing. Ambiguous expressions like 127/8 are interpreted
+as IPv4 masks; to interpret it as an IPv6 mask, use 127:/8.
Configuration Changes:
ip->in6_16[colon + jj] = 0;
}
return pos;
- } else if (dot) {
+ } else if (dot || strchr(input, '/')) {
unsigned int addr;
int len = ircd_aton_ip4(input, &addr, pbits);
if (len) {
*keys++ = '\0';
/* Empty keys are the same as no keys. */
- if (!key[0])
+ if (key && !key[0])
key = 0;
clean_channelname(name);