$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)