diff options
author | 2017-10-16 13:40:58 +0000 | |
---|---|---|
committer | 2017-10-16 13:40:58 +0000 | |
commit | 356cdcfbafcb0a510f170497e3c46288b81226ef (patch) | |
tree | bbeae93af51ae80772444e9497d90017b344a71e | |
parent | Print the correct message and return an error code when no route entry (diff) | |
download | wireguard-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.c | 8 | ||||
-rw-r--r-- | sys/net/if_gif.c | 108 | ||||
-rw-r--r-- | sys/netinet6/in6.c | 5 |
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: |