openbsd-ports/net/openafs/patches/patch-src_rx_rx_getaddr_c
2011-03-02 10:40:16 +00:00

57 lines
1.7 KiB
Plaintext

$OpenBSD: patch-src_rx_rx_getaddr_c,v 1.2 2011/03/02 10:40:16 jasper Exp $
diff -u src/rx/rx_getaddr.c.orig src/rx/rx_getaddr.c
--- src/rx/rx_getaddr.c.orig Wed Oct 11 06:29:02 2006
+++ src/rx/rx_getaddr.c Tue Apr 22 17:22:55 2008
@@ -169,6 +169,12 @@ rx_getAllAddr_internal(afs_int32 buffer[], int maxSize
next = buf;
while (next < lim) {
ifm = (struct if_msghdr *)next;
+#if defined(AFS_OBSD42_ENV)
+ if (ifm->ifm_version != RTM_VERSION) {
+ next += ifm->ifm_msglen;
+ continue;
+ }
+#endif
if (ifm->ifm_type != RTM_IFINFO) {
dpf(("out of sync parsing NET_RT_IFLIST\n"));
free(buf);
@@ -180,6 +186,12 @@ rx_getAllAddr_internal(afs_int32 buffer[], int maxSize
addrcount = 0;
while (next < lim) {
nextifm = (struct if_msghdr *)next;
+#if defined(AFS_OBSD42_ENV)
+ if (nextifm->ifm_version != RTM_VERSION) {
+ next += nextifm->ifm_msglen;
+ continue;
+ }
+#endif
if (nextifm->ifm_type != RTM_NEWADDR)
break;
if (ifam == NULL)
@@ -256,6 +268,12 @@ rxi_getAllAddrMaskMtu(afs_int32 addrBuffer[], afs_int3
next = buf;
while (next < lim) {
ifm = (struct if_msghdr *)next;
+#if defined(AFS_OBSD42_ENV)
+ if (ifm->ifm_version != RTM_VERSION) {
+ next += ifm->ifm_msglen;
+ continue;
+ }
+#endif
if (ifm->ifm_type != RTM_IFINFO) {
dpf(("out of sync parsing NET_RT_IFLIST\n"));
free(buf);
@@ -267,6 +285,12 @@ rxi_getAllAddrMaskMtu(afs_int32 addrBuffer[], afs_int3
addrcount = 0;
while (next < lim) {
nextifm = (struct if_msghdr *)next;
+#if defined(AFS_OBSD42_ENV)
+ if (nextifm->ifm_version != RTM_VERSION) {
+ next += nextifm->ifm_msglen;
+ continue;
+ }
+#endif
if (nextifm->ifm_type != RTM_NEWADDR)
break;
if (ifam == NULL)