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