diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-07-01 03:33:26 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-07-01 03:33:26 -0700 |
commit | 5cd1f906c34256abdccc92052fbbde51fd70a565 (patch) | |
tree | a4dc5522f622b7b9b0ab2dc2ae9d6c4b630bcab6 /nss | |
parent | 29ba9812bb86bf6da9702f4fbff5cdbb25846401 (diff) | |
download | glibc-5cd1f906c34256abdccc92052fbbde51fd70a565.zip glibc-5cd1f906c34256abdccc92052fbbde51fd70a565.tar.gz glibc-5cd1f906c34256abdccc92052fbbde51fd70a565.tar.bz2 |
Fix getent networks lookup and resulting incorrect NSS change.
I changed the files NSS backend for networks because I thought the
getent use of getnetbyaddr is correct. But it isn't. Undo parts
of the last change and fix getent.
Diffstat (limited to 'nss')
-rw-r--r-- | nss/getent.c | 2 | ||||
-rw-r--r-- | nss/nss_files/files-network.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/nss/getent.c b/nss/getent.c index 3a482e1..d70a8da 100644 --- a/nss/getent.c +++ b/nss/getent.c @@ -534,7 +534,7 @@ networks_keys (int number, char *key[]) for (i = 0; i < number; ++i) { if (isdigit (key[i][0])) - net = getnetbyaddr (inet_addr (key[i]), AF_UNSPEC); + net = getnetbyaddr (ntohl (inet_addr (key[i])), AF_UNSPEC); else net = getnetbyname (key[i]); diff --git a/nss/nss_files/files-network.c b/nss/nss_files/files-network.c index 064de5a..92aea75 100644 --- a/nss/nss_files/files-network.c +++ b/nss/nss_files/files-network.c @@ -82,7 +82,7 @@ DB_LOOKUP (netbyname, ,, DB_LOOKUP (netbyaddr, ,, { if ((type == AF_UNSPEC || result->n_addrtype == type) - && result->n_net == htonl (net)) + && result->n_net == net) /* Bingo! */ break; }, uint32_t net, int type) |