2004-10-19  Ulrich Drepper  <drepper@redhat.com>

	* nss/getent.c (hosts_keys): Let inet_pton decide whether the
	string is an address or not.
This commit is contained in:
Ulrich Drepper 2004-10-19 21:11:32 +00:00
parent a019191bba
commit 653aeda549
2 changed files with 10 additions and 12 deletions

View file

@ -1,3 +1,8 @@
2004-10-19 Ulrich Drepper <drepper@redhat.com>
* nss/getent.c (hosts_keys): Let inet_pton decide whether the
string is an address or not.
2004-10-19 Jakub Jelinek <jakub@redhat.com>
* elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols.

View file

@ -276,19 +276,12 @@ hosts_keys (int number, char *key[])
for (i = 0; i < number; ++i)
{
struct hostent *host = NULL;
char addr[IN6ADDRSZ];
if (strchr (key[i], ':') != NULL)
{
char addr[IN6ADDRSZ];
if (inet_pton (AF_INET6, key[i], &addr))
host = gethostbyaddr (addr, sizeof (addr), AF_INET6);
}
else if (isdigit (key[i][0]))
{
char addr[INADDRSZ];
if (inet_pton (AF_INET, key[i], &addr))
host = gethostbyaddr (addr, sizeof (addr), AF_INET);
}
if (inet_pton (AF_INET6, key[i], &addr) > 0)
host = gethostbyaddr (addr, sizeof (addr), AF_INET6);
else if (inet_pton (AF_INET, key[i], &addr) > 0)
host = gethostbyaddr (addr, sizeof (addr), AF_INET);
else if ((host = gethostbyname2 (key[i], AF_INET6)) == NULL)
host = gethostbyname2 (key[i], AF_INET);