diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | nss/getent.c | 2 | ||||
-rw-r--r-- | nss/nss_files/files-network.c | 2 |
3 files changed, 5 insertions, 4 deletions
@@ -1,9 +1,10 @@ 2009-07-01 Ulrich Drepper <drepper@redhat.com> * nss/nss_files/files-network.c (netbyaddr): If type is AF_UNSPEC, - recognize all types. Fix endianess in comparison of network number. + recognize all types. * nss/getent.c (networks_keys): Pass AF_UNSPEC instead of AF_UNIX - to getnetbyaddr. + to getnetbyaddr. Fix network parameter to getnetbyaddr. It must + be in host byte order. 2009-06-26 H.J. Lu <hongjiu.lu@intel.com> 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) |