summaryrefslogtreecommitdiff
path: root/resolv/nss_dns/dns-host.c
diff options
context:
space:
mode:
Diffstat (limited to 'resolv/nss_dns/dns-host.c')
-rw-r--r--resolv/nss_dns/dns-host.c78
1 files changed, 0 insertions, 78 deletions
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index 6ddf11cb53..8d9d517542 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -164,84 +164,6 @@ _nss_dns_gethostbyname2_r (const char *name, int af, struct hostent *result,
if (strchr (name, '.') == NULL && (cp = __hostalias (name)) != NULL)
name = cp;
- /*
- * disallow names consisting only of digits/dots, unless
- * they end in a dot.
- */
- if (isdigit (name[0]))
- for (cp = name;; ++cp)
- {
- if (*cp == '\0')
- {
- char *bp;
-
- if (*--cp == '.')
- break;
- /*
- * All-numeric, no dot at the end. Fake up a hostent
- * as if we'd actually done a lookup.
- */
- if (inet_pton (af, name, host_data->host_addr) <= 0)
- {
- *h_errnop = HOST_NOT_FOUND;
- return NSS_STATUS_NOTFOUND;
- }
-
- bp = __stpncpy (host_data->linebuffer, name, linebuflen);
- host_data->linebuffer[linebuflen - 1] = '\0';
- linebuflen -= bp - host_data->linebuffer;
-
- result->h_name = host_data->linebuffer;
- result->h_aliases = host_data->aliases;
- host_data->aliases[0] = NULL;
- host_data->h_addr_ptrs[0] = (char *) host_data->host_addr;
- host_data->h_addr_ptrs[1] = NULL;
- result->h_addr_list = host_data->h_addr_ptrs;
-
- if (_res.options & RES_USE_INET6)
- map_v4v6_hostent (result, &bp, &linebuflen);
- *h_errnop = NETDB_SUCCESS;
- return NSS_STATUS_SUCCESS;
- }
- if (!isdigit (*cp) && *cp != '.')
- break;
- }
- if (isxdigit (name[0]) || name[0] == ':')
- for (cp = name;; ++cp)
- {
- if (*cp == '\0')
- {
- char *bp;
-
- if (*--cp == '.')
- break;
- /*
- * All-IPv6-legal, no dot at the end. Fake up a hostent
- * as if we'd actually done a lookup.
- */
- if (inet_pton (af, name, host_data->host_addr) <= 0)
- {
- *h_errnop = HOST_NOT_FOUND;
- return NSS_STATUS_NOTFOUND;
- }
-
- bp = __stpncpy (host_data->linebuffer, name, linebuflen);
- host_data->linebuffer[linebuflen - 1] = '\0';
- linebuflen -= bp - host_data->linebuffer;
-
- result->h_name = host_data->linebuffer;
- result->h_aliases = host_data->aliases;
- host_data->aliases[0] = NULL;
- host_data->h_addr_ptrs[0] = (char *) host_data->host_addr;
- host_data->h_addr_ptrs[1] = NULL;
- result->h_addr_list = host_data->h_addr_ptrs;
- *h_errnop = NETDB_SUCCESS;
- return NSS_STATUS_SUCCESS;
- }
- if (!isxdigit (*cp) && *cp != ':' && *cp != '.')
- break;
- }
-
n = res_search (name, C_IN, type, host_buffer.buf, sizeof (host_buffer));
if (n < 0)
return errno == ECONNREFUSED ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND;