svn commit: r265692 - stable/9/sbin/ipfw
Alexander V. Chernikov
melifaro at FreeBSD.org
Thu May 8 18:06:45 UTC 2014
Author: melifaro
Date: Thu May 8 18:06:44 2014
New Revision: 265692
URL: http://svnweb.freebsd.org/changeset/base/265692
Log:
Merge r258677.
Fix key lookup in ipfw(8) broken since r232865.
Print warning for IPv4 address strings which are valid in
inet_aton() but not valid in inet_pton(). (1)
Found by: Özkan KIRIK <ozkan.kirik at gmail.com>
Submitted by: Ian Smith <smithi at nimnet.asn.au> (1)
Modified:
stable/9/sbin/ipfw/ipfw2.c
Directory Properties:
stable/9/sbin/ (props changed)
stable/9/sbin/ipfw/ (props changed)
Modified: stable/9/sbin/ipfw/ipfw2.c
==============================================================================
--- stable/9/sbin/ipfw/ipfw2.c Thu May 8 17:27:46 2014 (r265691)
+++ stable/9/sbin/ipfw/ipfw2.c Thu May 8 18:06:44 2014 (r265692)
@@ -4263,13 +4263,24 @@ table_fill_xentry(char *arg, ipfw_table_
addrlen = sizeof(struct in6_addr);
} else {
/* Port or any other key */
- key = strtol(arg, &p, 10);
/* Skip non-base 10 entries like 'fa1' */
- if (p != arg) {
+ key = strtol(arg, &p, 10);
+ if (*p == '\0') {
pkey = (uint32_t *)paddr;
*pkey = htonl(key);
type = IPFW_TABLE_CIDR;
+ masklen = 32;
addrlen = sizeof(uint32_t);
+ } else if ((p != arg) && (*p == '.')) {
+ /*
+ * Warn on IPv4 address strings
+ * which are "valid" for inet_aton() but not
+ * in inet_pton().
+ *
+ * Typical examples: '10.5' or '10.0.0.05'
+ */
+ errx(EX_DATAERR,
+ "Invalid IPv4 address: %s", arg);
}
}
}
More information about the svn-src-stable-9
mailing list