summaryrefslogtreecommitdiff
path: root/gethost.c
diff options
context:
space:
mode:
authorJeremy Huddleston Sequoia <jeremyhu@apple.com>2013-09-29 08:04:39 -0700
committerJeremy Huddleston Sequoia <jeremyhu@apple.com>2013-09-29 08:15:37 -0700
commita2c8f59f13caf63a642bad1b97d9adf5a9e01bcb (patch)
treec1eb04528d391276cc7e8aa8d5d4cb3ee0f3f2fd /gethost.c
parentfb328950ce1156b8228214240b213860b794b4c8 (diff)
downloadxorg-app-xauth-a2c8f59f13caf63a642bad1b97d9adf5a9e01bcb.tar.gz
Revert "Look for FamilyLocal if inet or inet6 address is loopback"
Also reverts the followup "More fixes for compiler warnings regarding the use of "const"." This reverts commits fb328950ce1156b8228214240b213860b794b4c8 and 345c7bf0d09f26183cfde9ad1c812c8de71869a5. Fixes build regression found on darwin tinderbox. Per SUSv4*, IN6_IS_ADDR_LOOPBACK takes a 'const struct in6_addr *', not a 'const struct sockaddr_in6 *'. *: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netinet_in.h.html
Diffstat (limited to 'gethost.c')
-rw-r--r--gethost.c40
1 files changed, 5 insertions, 35 deletions
diff --git a/gethost.c b/gethost.c
index f69ba1d..8f77c80 100644
--- a/gethost.c
+++ b/gethost.c
@@ -227,36 +227,16 @@ struct addrlist *get_address_info (
for (ai = firstai; ai != NULL; ai = ai->ai_next) {
struct addrlist *duplicate;
- len = 0;
if (ai->ai_family == AF_INET) {
struct sockaddr_in *sin = (struct sockaddr_in *)ai->ai_addr;
src = &(sin->sin_addr);
- if (*(const in_addr_t *) src == htonl(INADDR_LOOPBACK)) {
- family = FamilyLocal;
- if (get_local_hostname (buf, sizeof buf)) {
- src = buf;
- len = strlen (buf);
- } else
- src = NULL;
- } else {
- len = sizeof(sin->sin_addr);
- family = FamilyInternet;
- }
+ len = sizeof(sin->sin_addr);
+ family = FamilyInternet;
} else if (ai->ai_family == AF_INET6) {
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)ai->ai_addr;
src = &(sin6->sin6_addr);
- if (IN6_IS_ADDR_V4MAPPED((const struct sockaddr_in6 *)src)
- || IN6_IS_ADDR_LOOPBACK((const struct sockaddr_in6 *)src)) {
- family = FamilyLocal;
- if (get_local_hostname (buf, sizeof buf)) {
- src = buf;
- len = strlen (buf);
- } else
- src = NULL;
- } else {
- len = sizeof(sin6->sin6_addr);
- family = FamilyInternet6;
- }
+ len = sizeof(sin6->sin6_addr);
+ family = FamilyInternet6;
}
for(duplicate = retval; duplicate != NULL; duplicate = duplicate->next) {
@@ -295,17 +275,7 @@ struct addrlist *get_address_info (
#else
if (!get_inet_address (host, &hostinetaddr)) return NULL;
src = (char *) &hostinetaddr;
- if (*(const in_addr_t *) src == htonl(INADDR_LOOPBACK)) {
- family = FamilyLocal;
- if (get_local_hostname (buf, sizeof buf)) {
- src = buf;
- len = strlen (buf);
- } else {
- len = 0;
- src = NULL;
- }
- } else
- len = 4; /* sizeof inaddr.sin_addr, would fail on Cray */
+ len = 4; /* sizeof inaddr.sin_addr, would fail on Cray */
break;
#endif /* IPv6 */
#else