diff options
Diffstat (limited to 'nscd')
-rw-r--r-- | nscd/cache.c | 21 | ||||
-rw-r--r-- | nscd/connections.c | 17 | ||||
-rw-r--r-- | nscd/hstcache.c | 13 |
3 files changed, 41 insertions, 10 deletions
diff --git a/nscd/cache.c b/nscd/cache.c index 4ab83db6e2..dbc89fb8ec 100644 --- a/nscd/cache.c +++ b/nscd/cache.c @@ -225,10 +225,23 @@ prune_cache (struct database *table, time_t now) struct hashentry *old = head; if (debug_level > 0) - dbg_log ("remove %s entry \"%s\"", - serv2str[old->type], - old->last - ? old->key : old->data == (void *) -1 ? old->key : "???"); + { + char buf[INET6_ADDRSTRLEN]; + const char *str; + + if ((old->type == GETHOSTBYADDR || old->type == GETHOSTBYADDRv6) + && (old->last || old->data == (void *) -1)) + { + inet_ntop (old->type == GETHOSTBYADDR ? AF_INET : AF_INET6, + old->key, buf, sizeof (buf)); + str = buf; + } + else + str = old->last ? old->key : (old->data == (void *) -1 + ? old->key : "???"); + + dbg_log ("remove %s entry \"%s\"", serv2str[old->type], str); + } /* Free the data structures. */ if (old->data == (void *) -1) diff --git a/nscd/connections.c b/nscd/connections.c index 591e300511..ca139fbddf 100644 --- a/nscd/connections.c +++ b/nscd/connections.c @@ -1,5 +1,5 @@ /* Inner loops of cache daemon. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -24,6 +24,7 @@ #include <pthread.h> #include <stdlib.h> #include <unistd.h> +#include <arpa/inet.h> #include <sys/param.h> #include <sys/poll.h> #include <sys/socket.h> @@ -214,7 +215,19 @@ cannot handle old request version %d; current version is %d"), struct database *db = &dbs[serv2db[req->type]]; if (debug_level > 0) - dbg_log ("\t%s (%s)", serv2str[req->type], key); + { + if (req->type == GETHOSTBYADDR || req->type == GETHOSTBYADDRv6) + { + char buf[INET6_ADDRSTRLEN]; + + dbg_log ("\t%s (%s)", serv2str[req->type], + inet_ntop (req->type == GETHOSTBYADDR + ? AF_INET : AF_INET6, + key, buf, sizeof (buf))); + } + else + dbg_log ("\t%s (%s)", serv2str[req->type], key); + } /* Is this service enabled? */ if (!db->enabled) diff --git a/nscd/hstcache.c b/nscd/hstcache.c index 4e3af9ca40..15459752bb 100644 --- a/nscd/hstcache.c +++ b/nscd/hstcache.c @@ -1,5 +1,5 @@ /* Cache handling for host lookup. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -324,7 +324,7 @@ addhstbyaddr (struct database *db, int fd, request_header *req, void *key) if (debug_level > 0) { - char buf[64]; + char buf[INET_ADDRSTRLEN]; dbg_log (_("Haven't found \"%s\" in hosts cache!"), inet_ntop (AF_INET, key, buf, sizeof (buf))); } @@ -356,7 +356,12 @@ addhstbynamev6 (struct database *db, int fd, request_header *req, void *key) struct hostent *hst; if (debug_level > 0) - dbg_log (_("Haven't found \"%s\" in hosts cache!"), key); + { + char buf[INET6_ADDRSTRLEN]; + + dbg_log (_("Haven't found \"%s\" in hosts cache!"), + inet_ntop (AF_INET6, key, buf, sizeof (buf))); + } while (gethostbyname2_r (key, AF_INET6, &resultbuf, buffer, buflen, &hst, &h_errno) != 0 @@ -386,7 +391,7 @@ addhstbyaddrv6 (struct database *db, int fd, request_header *req, void *key) if (debug_level > 0) { - char buf[64]; + char buf[INET6_ADDRSTRLEN]; dbg_log (_("Haven't found \"%s\" in hosts cache!"), inet_ntop (AF_INET6, key, buf, sizeof (buf))); } |