svn commit: r228574 - in head: sbin/ifconfig sys/netinet
Gleb Smirnoff
glebius at FreeBSD.org
Fri Dec 16 13:30:17 UTC 2011
Author: glebius
Date: Fri Dec 16 13:30:17 2011
New Revision: 228574
URL: http://svn.freebsd.org/changeset/base/228574
Log:
Since size of struct in_aliasreq has just been changed in r228571,
and thus ifconfig(8) needs recompile, it is a good chance to make
parameter checks on SIOCAIFADDR arguments more strict.
Modified:
head/sbin/ifconfig/af_inet.c
head/sys/netinet/in.c
Modified: head/sbin/ifconfig/af_inet.c
==============================================================================
--- head/sbin/ifconfig/af_inet.c Fri Dec 16 12:53:15 2011 (r228573)
+++ head/sbin/ifconfig/af_inet.c Fri Dec 16 13:30:17 2011 (r228574)
@@ -126,6 +126,7 @@ in_getaddr(const char *s, int which)
*p = '/';
errx(1, "%s: bad value (width %s)", s, errstr);
}
+ min->sin_family = AF_INET;
min->sin_len = sizeof(*min);
min->sin_addr.s_addr = htonl(~((1LL << (32 - masklen)) - 1) &
0xffffffff);
Modified: head/sys/netinet/in.c
==============================================================================
--- head/sys/netinet/in.c Fri Dec 16 12:53:15 2011 (r228573)
+++ head/sys/netinet/in.c Fri Dec 16 13:30:17 2011 (r228574)
@@ -253,16 +253,10 @@ in_control(struct socket *so, u_long cmd
sizeof(struct sockaddr_in) ||
ifra->ifra_broadaddr.sin_family != AF_INET))
return (EINVAL);
-#if 0
- /*
- * ifconfig(8) historically doesn't set af_family for mask
- * for unknown reason.
- */
if (ifra->ifra_mask.sin_len != 0 &&
(ifra->ifra_mask.sin_len != sizeof(struct sockaddr_in) ||
ifra->ifra_mask.sin_family != AF_INET))
return (EINVAL);
-#endif
break;
case SIOCSIFADDR:
case SIOCSIFBRDADDR:
More information about the svn-src-head
mailing list