summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Paul <wpaul@FreeBSD.org>1999-02-01 21:39:13 +0000
committerBill Paul <wpaul@FreeBSD.org>1999-02-01 21:39:13 +0000
commitc4cc48c41f12c016d34de9129cecf3425f018add (patch)
tree904d56bd1532a3d87afee0130948a5838bb64c46
parentUpgrade to 0.99.5. (diff)
Add an extra patch for support/ethertalk/bpfiltp.c to allow Columbia
Appletalk to run on FreeBSD 3.0 and up. The mechanism used to add a non-IP multicast group via SIOCADDMULTI changed between 2.2.x and 3.0, but bpfiltp.c:pi_addmulti() was not changed to match. Without this patch, the port will compile but aarpd will not run. (This kind of messes up everything since the port is built to use Ethertalk Phase 2, and none of that works without aarpd.)
Notes
Notes: svn path=/head/; revision=16467
-rw-r--r--net/cap/files/patch-ai29
1 files changed, 29 insertions, 0 deletions
diff --git a/net/cap/files/patch-ai b/net/cap/files/patch-ai
new file mode 100644
index 000000000000..3cf7b2216e51
--- /dev/null
+++ b/net/cap/files/patch-ai
@@ -0,0 +1,29 @@
+--- support/ethertalk/bpfiltp.c.orig Mon Feb 1 10:09:12 1999
++++ support/ethertalk/bpfiltp.c Mon Feb 1 10:07:12 1999
+@@ -47,6 +47,8 @@
+ #endif
+ #if __FreeBSD_version >= 300000
+ #include <net/if_var.h>
++#include <net/if_dl.h>
++#include <net/ethernet.h>
+ #endif
+ #endif /*__FreeBSD__*/
+ #include <netinet/if_ether.h>
+@@ -347,9 +349,17 @@
+ struct ifreq *ifr;
+ {
+ int sock;
++#if defined(__FreeBSD__) && __FreeBSD_version >= 300000
++ struct sockaddr_dl *sdl;
+
++ sdl = (struct sockaddr_dl *)&ifr->ifr_addr;
++ sdl->sdl_len = sizeof(struct sockaddr_dl);
++ sdl->sdl_family = AF_LINK;
++ bcopy(multi, LLADDR(sdl), ETHER_ADDR_LEN);
++#else
+ ifr->ifr_addr.sa_family = AF_UNSPEC;
+ bcopy(multi, ifr->ifr_addr.sa_data, EHRD);
++#endif
+ /*
+ * open a socket, temporarily, to use for SIOC* ioctls
+ *