diff options
author | 1997-09-27 02:35:57 +0000 | |
---|---|---|
committer | 1997-09-27 02:35:57 +0000 | |
commit | 886848364523e42ed4d287c12f35311994bef80b (patch) | |
tree | b3318e14b58bbdc88433aa0385d556ab064ceac3 | |
parent | oops (diff) | |
download | wireguard-openbsd-886848364523e42ed4d287c12f35311994bef80b.tar.xz wireguard-openbsd-886848364523e42ed4d287c12f35311994bef80b.zip |
undo previous AF_UNSPEC change. analyze two alternatives: AF_SOMETHINGNEW,
or how much work it would be fix everything that uses AF_UNSPEC.
-rw-r--r-- | sys/net/if_ethersubr.c | 21 | ||||
-rw-r--r-- | sys/net/if_fddisubr.c | 43 |
2 files changed, 28 insertions, 36 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 744941d4891..6fd2a7ffd30 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ethersubr.c,v 1.23 1997/07/27 05:28:34 deraadt Exp $ */ +/* $OpenBSD: if_ethersubr.c,v 1.24 1997/09/27 02:35:57 deraadt Exp $ */ /* $NetBSD: if_ethersubr.c,v 1.19 1996/05/07 02:40:30 thorpej Exp $ */ /* @@ -183,7 +183,7 @@ ether_output(ifp, m0, dst, rt0) { u_int16_t etype; int s, error = 0; - u_char edst[6], esrc[6]; + u_char edst[6]; register struct mbuf *m = m0; register struct rtentry *rt; struct mbuf *mcopy = (struct mbuf *)0; @@ -230,7 +230,7 @@ ether_output(ifp, m0, dst, rt0) #ifdef NS case AF_NS: etype = htons(ETHERTYPE_NS); - bcopy((caddr_t)&(((struct sockaddr_ns *)dst)->sns_addr.x_host), + bcopy((caddr_t)&(((struct sockaddr_ns *)dst)->sns_addr.x_host), (caddr_t)edst, sizeof (edst)); if (!bcmp((caddr_t)edst, (caddr_t)&ns_thishost, sizeof(edst))) return (looutput(ifp, m, dst, rt)); @@ -242,7 +242,7 @@ ether_output(ifp, m0, dst, rt0) #ifdef IPX case AF_IPX: etype = ETHERTYPE_IPX; - bcopy((caddr_t)&satosipx(dst)->sipx_addr.ipx_host, + bcopy((caddr_t)&satosipx(dst)->sipx_addr.ipx_host, (caddr_t)edst, sizeof (edst)); if (!bcmp((caddr_t)edst, (caddr_t)&ipx_thishost, sizeof(edst))) return (looutput(ifp, m, dst, rt)); @@ -387,8 +387,7 @@ ether_output(ifp, m0, dst, rt0) case AF_UNSPEC: eh = (struct ether_header *)dst->sa_data; - bcopy((caddr_t)eh->ether_dhost, (caddr_t)edst, sizeof (edst)); - bcopy((caddr_t)eh->ether_shost, (caddr_t)esrc, sizeof (esrc)); + bcopy((caddr_t)eh->ether_dhost, (caddr_t)edst, sizeof (edst)); /* AF_UNSPEC doesn't swap the byte order of the ether_type. */ etype = eh->ether_type; break; @@ -412,13 +411,9 @@ ether_output(ifp, m0, dst, rt0) eh = mtod(m, struct ether_header *); bcopy((caddr_t)&etype,(caddr_t)&eh->ether_type, sizeof(eh->ether_type)); - bcopy((caddr_t)edst, (caddr_t)eh->ether_dhost, sizeof (edst)); - if (dst->sa_family == AF_UNSPEC) - bcopy((caddr_t)esrc, (caddr_t)eh->ether_shost, - sizeof(eh->ether_shost)); - else - bcopy((caddr_t)ac->ac_enaddr, (caddr_t)eh->ether_shost, - sizeof(eh->ether_shost)); + bcopy((caddr_t)edst, (caddr_t)eh->ether_dhost, sizeof (edst)); + bcopy((caddr_t)ac->ac_enaddr, (caddr_t)eh->ether_shost, + sizeof(eh->ether_shost)); s = splimp(); /* * Queue message on interface, and start output if interface diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c index cb67ed47f8f..44458f8cf32 100644 --- a/sys/net/if_fddisubr.c +++ b/sys/net/if_fddisubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_fddisubr.c,v 1.13 1997/07/27 05:28:35 deraadt Exp $ */ +/* $OpenBSD: if_fddisubr.c,v 1.14 1997/09/27 02:35:58 deraadt Exp $ */ /* $NetBSD: if_fddisubr.c,v 1.5 1996/05/07 23:20:21 christos Exp $ */ /* @@ -131,7 +131,7 @@ fddi_output(ifp, m0, dst, rt0) { u_int16_t type; int s, error = 0; - u_char edst[6], esrc[6]; + u_char edst[6]; register struct mbuf *m = m0; register struct rtentry *rt; struct mbuf *mcopy = (struct mbuf *)0; @@ -178,7 +178,7 @@ fddi_output(ifp, m0, dst, rt0) #ifdef IPX case AF_IPX: type = htons(ETHERTYPE_IPX); - bcopy((caddr_t)&(((struct sockaddr_ipx*)dst)->sipx_addr.x_host), + bcopy((caddr_t)&(((struct sockaddr_ipx*)dst)->sipx_addr.x_host), (caddr_t)edst, sizeof (edst)); if (!bcmp((caddr_t)edst, (caddr_t)&ipx_thishost, sizeof(edst))) return (looutput(ifp, m, dst, rt)); @@ -190,7 +190,7 @@ fddi_output(ifp, m0, dst, rt0) #ifdef NS case AF_NS: type = htons(ETHERTYPE_NS); - bcopy((caddr_t)&(((struct sockaddr_ns *)dst)->sns_addr.x_host), + bcopy((caddr_t)&(((struct sockaddr_ns *)dst)->sns_addr.x_host), (caddr_t)edst, sizeof (edst)); if (!bcmp((caddr_t)edst, (caddr_t)&ns_thishost, sizeof(edst))) return (looutput(ifp, m, dst, rt)); @@ -288,10 +288,8 @@ fddi_output(ifp, m0, dst, rt0) case AF_UNSPEC: { struct ether_header *eh; - eh = (struct ether_header *)dst->sa_data; - bcopy((caddr_t)eh->ether_dhost, (caddr_t)edst, sizeof (edst)); - bcopy((caddr_t)eh->ether_shost, (caddr_t)esrc, sizeof (esrc)); + bcopy((caddr_t)eh->ether_dhost, (caddr_t)edst, sizeof (edst)); if (*edst & 1) m->m_flags |= (M_BCAST|M_MCAST); type = TYPEHTONS(eh->ether_type); @@ -304,24 +302,28 @@ fddi_output(ifp, m0, dst, rt0) fh = mtod(m, struct fddi_header *); error = EPROTONOSUPPORT; switch (fh->fddi_fc & (FDDIFC_C|FDDIFC_L|FDDIFC_F)) { - case FDDIFC_LLC_ASYNC: + case FDDIFC_LLC_ASYNC: { /* legal priorities are 0 through 7 */ if ((fh->fddi_fc & FDDIFC_Z) > 7) - goto bad; + goto bad; break; - case FDDIFC_LLC_SYNC: + } + case FDDIFC_LLC_SYNC: { /* FDDIFC_Z bits reserved, must be zero */ if (fh->fddi_fc & FDDIFC_Z) goto bad; break; - case FDDIFC_SMT: + } + case FDDIFC_SMT: { /* FDDIFC_Z bits must be non zero */ if ((fh->fddi_fc & FDDIFC_Z) == 0) goto bad; break; - default: + } + default: { /* anything else is too dangerous */ - goto bad; + goto bad; + } } error = 0; if (fh->fddi_dhost[0] & 1) @@ -346,8 +348,7 @@ fddi_output(ifp, m0, dst, rt0) l = mtod(m, struct llc *); l->llc_control = LLC_UI; l->llc_dsap = l->llc_ssap = LLC_SNAP_LSAP; - l->llc_snap.org_code[0] = l->llc_snap.org_code[1] = - l->llc_snap.org_code[2] = 0; + l->llc_snap.org_code[0] = l->llc_snap.org_code[1] = l->llc_snap.org_code[2] = 0; bcopy((caddr_t) &type, (caddr_t) &l->llc_snap.ether_type, sizeof(u_short)); } @@ -360,16 +361,12 @@ fddi_output(ifp, m0, dst, rt0) senderr(ENOBUFS); fh = mtod(m, struct fddi_header *); fh->fddi_fc = FDDIFC_LLC_ASYNC|FDDIFC_LLC_PRIO4; - bcopy((caddr_t)edst, (caddr_t)fh->fddi_dhost, sizeof (edst)); - if (dst->sa_family == AF_UNSPEC) - bcopy((caddr_t)esrc, (caddr_t)fh->fddi_shost, - sizeof(fh->fddi_shost)); - else - bcopy((caddr_t)ac->ac_enaddr, (caddr_t)fh->fddi_shost, - sizeof(fh->fddi_shost)); + bcopy((caddr_t)edst, (caddr_t)fh->fddi_dhost, sizeof (edst)); #if NBPFILTER > 0 -queue_it: + queue_it: #endif + bcopy((caddr_t)ac->ac_enaddr, (caddr_t)fh->fddi_shost, + sizeof(fh->fddi_shost)); s = splimp(); /* * Queue message on interface, and start output if interface |