summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2017-10-16 13:40:58 +0000
committermpi <mpi@openbsd.org>2017-10-16 13:40:58 +0000
commit356cdcfbafcb0a510f170497e3c46288b81226ef (patch)
treebbeae93af51ae80772444e9497d90017b344a71e
parentPrint the correct message and return an error code when no route entry (diff)
downloadwireguard-openbsd-356cdcfbafcb0a510f170497e3c46288b81226ef.tar.xz
wireguard-openbsd-356cdcfbafcb0a510f170497e3c46288b81226ef.zip
Remove kernel support for the following ioctl(2)s, deprecated since 2001:
- SIOCSIFPHYADDR - SIOCSIFPHYADDR_IN6 - SIOCGIFPSRCADDR - SIOCGIFPSRCADDR_IN6 - SIOCGIFPDSTADDR - SIOCGIFPDSTADDR_IN6 ok bluhm@
-rw-r--r--sys/net/if.c8
-rw-r--r--sys/net/if_gif.c108
-rw-r--r--sys/netinet6/in6.c5
3 files changed, 5 insertions, 116 deletions
diff --git a/sys/net/if.c b/sys/net/if.c
index 206fffdbb07..58935f4e59a 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if.c,v 1.518 2017/10/16 13:24:26 mpi Exp $ */
+/* $OpenBSD: if.c,v 1.519 2017/10/16 13:40:58 mpi Exp $ */
/* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */
/*
@@ -2003,11 +2003,7 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p)
rtm_ifchg(ifp);
break;
- case SIOCSIFPHYADDR:
case SIOCDIFPHYADDR:
-#ifdef INET6
- case SIOCSIFPHYADDR_IN6:
-#endif
case SIOCSLIFPHYADDR:
case SIOCSLIFPHYRTABLE:
case SIOCSLIFPHYTTL:
@@ -2021,8 +2017,6 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p)
if ((error = suser(p, 0)) != 0)
break;
/* FALLTHROUGH */
- case SIOCGIFPSRCADDR:
- case SIOCGIFPDSTADDR:
case SIOCGLIFPHYADDR:
case SIOCGLIFPHYRTABLE:
case SIOCGLIFPHYTTL:
diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c
index fa06072f877..3baba5f9729 100644
--- a/sys/net/if_gif.c
+++ b/sys/net/if_gif.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_gif.c,v 1.99 2017/08/11 21:24:19 mpi Exp $ */
+/* $OpenBSD: if_gif.c,v 1.100 2017/10/16 13:40:58 mpi Exp $ */
/* $KAME: if_gif.c,v 1.43 2001/02/20 08:51:07 itojun Exp $ */
/*
@@ -335,33 +335,9 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
case SIOCDELMULTI:
break;
- case SIOCSIFPHYADDR:
-#ifdef INET6
- case SIOCSIFPHYADDR_IN6:
-#endif /* INET6 */
case SIOCSLIFPHYADDR:
- switch (cmd) {
- case SIOCSIFPHYADDR:
- src = sintosa(
- &(((struct in_aliasreq *)data)->ifra_addr));
- dst = sintosa(
- &(((struct in_aliasreq *)data)->ifra_dstaddr));
- break;
-#ifdef INET6
- case SIOCSIFPHYADDR_IN6:
- src = sin6tosa(
- &(((struct in6_aliasreq *)data)->ifra_addr));
- dst = sin6tosa(
- &(((struct in6_aliasreq *)data)->ifra_dstaddr));
- break;
-#endif
- case SIOCSLIFPHYADDR:
- src = sstosa(&(((struct if_laddrreq *)data)->addr));
- dst = sstosa(&(((struct if_laddrreq *)data)->dstaddr));
- break;
- default:
- return (EINVAL);
- }
+ src = sstosa(&(((struct if_laddrreq *)data)->addr));
+ dst = sstosa(&(((struct if_laddrreq *)data)->dstaddr));
/* sa_family must be equal */
if (src->sa_family != dst->sa_family)
@@ -397,23 +373,6 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
return (EAFNOSUPPORT);
}
- /* check sa_family looks sane for the cmd */
- switch (cmd) {
- case SIOCSIFPHYADDR:
- if (src->sa_family == AF_INET)
- break;
- return (EAFNOSUPPORT);
-#ifdef INET6
- case SIOCSIFPHYADDR_IN6:
- if (src->sa_family == AF_INET6)
- break;
- return (EAFNOSUPPORT);
-#endif /* INET6 */
- case SIOCSLIFPHYADDR:
- /* checks done in the above */
- break;
- }
-
LIST_FOREACH(sc2, &gif_softc_list, gif_list) {
if (sc2 == sc)
continue;
@@ -470,7 +429,6 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
error = 0;
break;
-#ifdef SIOCDIFPHYADDR
case SIOCDIFPHYADDR:
if (sc->gif_psrc) {
free((caddr_t)sc->gif_psrc, M_IFADDR, 0);
@@ -482,66 +440,6 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
}
/* change the IFF_{UP, RUNNING} flag as well? */
break;
-#endif
-
- case SIOCGIFPSRCADDR:
-#ifdef INET6
- case SIOCGIFPSRCADDR_IN6:
-#endif /* INET6 */
- if (sc->gif_psrc == NULL) {
- error = EADDRNOTAVAIL;
- goto bad;
- }
- src = sc->gif_psrc;
- switch (cmd) {
- case SIOCGIFPSRCADDR:
- dst = &ifr->ifr_addr;
- size = sizeof(ifr->ifr_addr);
- break;
-#ifdef INET6
- case SIOCGIFPSRCADDR_IN6:
- dst = sin6tosa(
- &(((struct in6_ifreq *)data)->ifr_addr));
- size = sizeof(((struct in6_ifreq *)data)->ifr_addr);
- break;
-#endif /* INET6 */
- default:
- error = EADDRNOTAVAIL;
- goto bad;
- }
- if (src->sa_len > size)
- return (EINVAL);
- bcopy((caddr_t)src, (caddr_t)dst, src->sa_len);
- break;
-
- case SIOCGIFPDSTADDR:
-#ifdef INET6
- case SIOCGIFPDSTADDR_IN6:
-#endif /* INET6 */
- if (sc->gif_pdst == NULL) {
- error = EADDRNOTAVAIL;
- goto bad;
- }
- src = sc->gif_pdst;
- switch (cmd) {
- case SIOCGIFPDSTADDR:
- dst = &ifr->ifr_addr;
- size = sizeof(ifr->ifr_addr);
- break;
-#ifdef INET6
- case SIOCGIFPDSTADDR_IN6:
- dst = sin6tosa(&(((struct in6_ifreq *)data)->ifr_addr));
- size = sizeof(((struct in6_ifreq *)data)->ifr_addr);
- break;
-#endif /* INET6 */
- default:
- error = EADDRNOTAVAIL;
- goto bad;
- }
- if (src->sa_len > size)
- return (EINVAL);
- bcopy((caddr_t)src, (caddr_t)dst, src->sa_len);
- break;
case SIOCGLIFPHYADDR:
if (sc->gif_psrc == NULL || sc->gif_pdst == NULL) {
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index a51374d8c11..4b6ed78ef91 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: in6.c,v 1.211 2017/08/15 06:08:52 florian Exp $ */
+/* $OpenBSD: in6.c,v 1.212 2017/10/16 13:40:58 mpi Exp $ */
/* $KAME: in6.c,v 1.372 2004/06/14 08:14:21 itojun Exp $ */
/*
@@ -250,15 +250,12 @@ in6_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp, int privileged)
*/
switch (cmd) {
case SIOCAIFADDR_IN6:
- case SIOCSIFPHYADDR_IN6:
sa6 = &ifra->ifra_addr;
break;
case SIOCGIFADDR_IN6:
case SIOCGIFDSTADDR_IN6:
case SIOCGIFNETMASK_IN6:
case SIOCDIFADDR_IN6:
- case SIOCGIFPSRCADDR_IN6:
- case SIOCGIFPDSTADDR_IN6:
case SIOCGIFAFLAG_IN6:
case SIOCSNDFLUSH_IN6:
case SIOCSPFXFLUSH_IN6: