From: Derrick Brashear Date: Tue, 13 Jun 2006 04:50:03 +0000 (+0000) Subject: getaddr-skip-loopbacks-version-for-macos-20060613 X-Git-Tag: BP-openafs-windows-kdfs-ifs~1273 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=3d1fc22c6ba5d07c831da79ffa01e3cf4d95322a;p=packages%2Fo%2Fopenafs.git getaddr-skip-loopbacks-version-for-macos-20060613 so rxbind does something sensible --- diff --git a/src/rx/rx_getaddr.c b/src/rx/rx_getaddr.c index b3cbfc3c3..17993af1e 100644 --- a/src/rx/rx_getaddr.c +++ b/src/rx/rx_getaddr.c @@ -197,8 +197,10 @@ rx_getAllAddr_internal(afs_int32 buffer[], int maxSize, int loopbacks) /* Expand the compacted addresses */ rt_xaddrs((char *)(ifam + 1), ifam->ifam_msglen + (char *)ifam, &info); - if (info.rti_info[RTAX_IFA]->sa_family != AF_INET) + if (info.rti_info[RTAX_IFA]->sa_family != AF_INET) { + addrcount--; continue; + } a = (struct sockaddr_in *) info.rti_info[RTAX_IFA]; if (count >= maxSize) /* no more space */ @@ -233,14 +235,6 @@ rxi_getAllAddrMaskMtu(afs_int32 addrBuffer[], afs_int32 maskBuffer[], char *buf, *lim, *next; int count = 0, addrcount = 0, i; -#if !defined(AFS_USERSPACE_IP_ADDR) - count = rx_getAllAddr_internal(addrBuffer, 1024, 0); - for (i = 0; i < count; i++) { - maskBuffer[i] = htonl(0xffffffff); - mtuBuffer[i] = htonl(1500); - } - return count; -#else /* AFS_USERSPACE_IP_ADDR */ mib[0] = CTL_NET; mib[1] = PF_ROUTE; mib[2] = 0; @@ -290,8 +284,10 @@ rxi_getAllAddrMaskMtu(afs_int32 addrBuffer[], afs_int32 maskBuffer[], /* Expand the compacted addresses */ rt_xaddrs((char *)(ifam + 1), ifam->ifam_msglen + (char *)ifam, &info); - if (info.rti_info[RTAX_IFA]->sa_family != AF_INET) + if (info.rti_info[RTAX_IFA]->sa_family != AF_INET) { + addrcount--; continue; + } a = (struct sockaddr_in *) info.rti_info[RTAX_IFA]; if (a->sin_addr.s_addr != htonl(0x7f000001) ) { @@ -323,7 +319,6 @@ rxi_getAllAddrMaskMtu(afs_int32 addrBuffer[], afs_int32 maskBuffer[], } free(buf); return count; -#endif }