summaryrefslogtreecommitdiff
path: root/libc/inet/resolv.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/inet/resolv.c')
-rw-r--r--libc/inet/resolv.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
index 0a6fd7aaf..056539f6e 100644
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -1348,8 +1348,24 @@ int attribute_hidden __dns_lookup(const char *name,
packet_len = i + j;
/* send packet */
- DPRINTF("On try %d, sending query to port %d\n",
- retries_left, NAMESERVER_PORT);
+#ifdef DEBUG
+ {
+ const socklen_t plen = sa.sa.sa_family == AF_INET ? INET_ADDRSTRLEN : INET6_ADDRSTRLEN;
+ char *pbuf = malloc(plen);
+ if (pbuf == NULL) ;/* nothing */
+#ifdef __UCLIBC_HAS_IPV6__
+ else if (sa.sa.sa_family == AF_INET6)
+ pbuf = (char*)inet_ntop(AF_INET6, &sa.sa6.sin6_addr, pbuf, plen);
+#endif
+#ifdef __UCLIBC_HAS_IPV4__
+ else if (sa.sa.sa_family == AF_INET)
+ pbuf = (char*)inet_ntop(AF_INET, &sa.sa4.sin_addr, pbuf, plen);
+#endif
+ DPRINTF("On try %d, sending query to %s, port %d\n",
+ retries_left, pbuf, NAMESERVER_PORT);
+ free(pbuf);
+ }
+#endif
fd = socket(sa.sa.sa_family, SOCK_DGRAM, IPPROTO_UDP);
if (fd < 0) /* paranoia */
goto try_next_server;