aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1999-02-02 05:39:13 +0800
committerwpaul <wpaul@FreeBSD.org>1999-02-02 05:39:13 +0800
commit1f03e1b471a620d626b38f81b00adc93a0564811 (patch)
tree2f17666ce14132bb79f55e283de1ddf5b49c1a97 /net
parentda26b3fbf6c9c2bd0c82b9ef08c49665358cfcd3 (diff)
downloadfreebsd-ports-gnome-1f03e1b471a620d626b38f81b00adc93a0564811.tar.gz
freebsd-ports-gnome-1f03e1b471a620d626b38f81b00adc93a0564811.tar.zst
freebsd-ports-gnome-1f03e1b471a620d626b38f81b00adc93a0564811.zip
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.)
Diffstat (limited to 'net')
-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
+ *