aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@redhat.com>2014-07-01 14:14:09 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2014-07-01 17:23:20 +0530
commit76985d3e036ea3519641003b4ab72d53ec496910 (patch)
tree92d6cdea80b2d109be3b7939691e29cfdd15667b
parentb0cb309635f43aa269dba0ea9925ced294926546 (diff)
downloadglibc-76985d3e036ea3519641003b4ab72d53ec496910.tar
glibc-76985d3e036ea3519641003b4ab72d53ec496910.tar.gz
glibc-76985d3e036ea3519641003b4ab72d53ec496910.tar.bz2
glibc-76985d3e036ea3519641003b4ab72d53ec496910.zip
Remove MULTI_PTRS_ARE_ALIASES in dns-hosts.c
The code in gethnamaddr.c for gethostbyaddr used and set this macro to allow multiple PTR records to be added as aliases. This was useful for gethostbyaddr since it returns a hostent structure, which can return aliases. The gethnamaddr.c source however is unused in glibc since pretty much forever. Instead, the DNS lookup bits for gethostbyaddr (as well as getnameinfo) are implemented in dns-hosts.c and in that implementation all but one (the first one) of the multiple PTR records are ignored. Since gethnamaddr.c is essentially dead code, ignore that implementation and replace the MULTI_PTRS_ARE_ALIASES bit with a comment mentioning that bind adds PTR records as aliases while we don't.
-rw-r--r--ChangeLog5
-rw-r--r--resolv/nss_dns/dns-host.c24
2 files changed, 7 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index 3ac4f45071..3619d64564 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-07-01 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ * resolv/nss_dns/dns-host.c (getanswer_r)
+ [MULTI_PTRS_ARE_ALIASES]: Remove code.
+
2014-07-01 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index a5f2c0a1fe..3258e709d2 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -869,27 +869,8 @@ getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
++had_error;
break;
}
-#if MULTI_PTRS_ARE_ALIASES
- cp += n;
- if (haveanswer == 0)
- result->h_name = bp;
- else if (ap < &host_data->aliases[MAXALIASES-1])
- *ap++ = bp;
- else
- n = -1;
- if (n != -1)
- {
- n = strlen (bp) + 1; /* for the \0 */
- if (__builtin_expect (n, 0) >= MAXHOSTNAMELEN)
- {
- ++had_error;
- break;
- }
- bp += n;
- linebuflen -= n;
- }
- break;
-#else
+ /* bind would put multiple PTR records as aliases, but we don't do
+ that. */
result->h_name = bp;
if (have_to_map)
{
@@ -906,7 +887,6 @@ getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
}
*h_errnop = NETDB_SUCCESS;
return NSS_STATUS_SUCCESS;
-#endif
case T_A:
case T_AAAA:
if (__builtin_expect (strcasecmp (result->h_name, bp), 0) != 0)