summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--resolv/gethnamaddr.c32
-rw-r--r--resolv/nss_dns/dns-host.c5
3 files changed, 6 insertions, 37 deletions
diff --git a/ChangeLog b/ChangeLog
index f61df618a7..30b285ceb6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2016-04-28  Florian Weimer  <fweimer@redhat.com>
 
+	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Remove
+	SUNSECURITY conditional.
+	* resolv/gethnamaddr.c (gethostbyaddr): Likewise.
+
+2016-04-28  Florian Weimer  <fweimer@redhat.com>
+
 	* resolv/arpa/nameser.h: Include <sys/types.h> unconditionally.
 	* resolv/gethnamaddr.c: Use include files from conf/portability.h.
 	Remove BSD-related preprocessor conditionals.
diff --git a/resolv/gethnamaddr.c b/resolv/gethnamaddr.c
index 1b55ba1ac4..97e2dc3f08 100644
--- a/resolv/gethnamaddr.c
+++ b/resolv/gethnamaddr.c
@@ -618,12 +618,6 @@ gethostbyaddr (const void *addr, socklen_t len, int af)
 	querybuf *orig_buf;
 	struct hostent *hp;
 	char qbuf[MAXDNAME+1], *qp = NULL;
-#ifdef SUNSECURITY
-	struct hostent *rhp;
-	char **haddr;
-	u_long old_options;
-	char hname2[MAXDNAME+1];
-#endif /*SUNSECURITY*/
 
 	if (__res_maybe_init (&_res, 0) == -1) {
 		__set_h_errno (NETDB_INTERNAL);
@@ -699,32 +693,6 @@ gethostbyaddr (const void *addr, socklen_t len, int af)
 		free (buf.buf);
 	if (!hp)
 		return (NULL);	/* h_errno was set by getanswer() */
-#ifdef SUNSECURITY
-	if (af == AF_INET) {
-	    /*
-	     * turn off search as the name should be absolute,
-	     * 'localhost' should be matched by defnames
-	     */
-	    strncpy(hname2, hp->h_name, MAXDNAME);
-	    hname2[MAXDNAME] = '\0';
-	    old_options = _res.options;
-	    _res.options &= ~RES_DNSRCH;
-	    _res.options |= RES_DEFNAMES;
-	    if (!(rhp = gethostbyname(hname2))) {
-		_res.options = old_options;
-		__set_h_errno (HOST_NOT_FOUND);
-		return (NULL);
-	    }
-	    _res.options = old_options;
-	    for (haddr = rhp->h_addr_list; *haddr; haddr++)
-		if (!memcmp(*haddr, addr, INADDRSZ))
-			break;
-	    if (!*haddr) {
-		__set_h_errno (HOST_NOT_FOUND);
-		return (NULL);
-	    }
-	}
-#endif /*SUNSECURITY*/
 	hp->h_addrtype = af;
 	hp->h_length = len;
 	memmove(host_addr, addr, len);
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index 93fee1038e..5f9e35701b 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -520,11 +520,6 @@ _nss_dns_gethostbyaddr2_r (const void *addr, socklen_t len, int af,
   if (status != NSS_STATUS_SUCCESS)
     return status;
 
-#ifdef SUNSECURITY
-  This is not implemented because it is not possible to use the current
-  source from bind in a multi-threaded program.
-#endif
-
   result->h_addrtype = af;
   result->h_length = len;
   memcpy (host_data->host_addr, addr, len);