aboutsummaryrefslogtreecommitdiff
path: root/resolv
diff options
context:
space:
mode:
Diffstat (limited to 'resolv')
-rw-r--r--resolv/gethnamaddr.c12
-rw-r--r--resolv/res_send.c33
2 files changed, 30 insertions, 15 deletions
diff --git a/resolv/gethnamaddr.c b/resolv/gethnamaddr.c
index a02d0fb617..42d81f30e3 100644
--- a/resolv/gethnamaddr.c
+++ b/resolv/gethnamaddr.c
@@ -143,7 +143,7 @@ extern int h_errno;
#ifdef DEBUG
static void
-dprintf(msg, num)
+Dprintf(msg, num)
char *msg;
int num;
{
@@ -155,7 +155,7 @@ dprintf(msg, num)
}
}
#else
-# define dprintf(msg, num) /*nada*/
+# define Dprintf(msg, num) /*nada*/
#endif
#define BOUNDED_INCR(x) \
@@ -429,13 +429,13 @@ getanswer(answer, anslen, qname, qtype)
bp += sizeof(align) - ((u_long)bp % sizeof(align));
if (bp + n >= &hostbuf[sizeof hostbuf]) {
- dprintf("size (%d) too big\n", n);
+ Dprintf("size (%d) too big\n", n);
had_error++;
continue;
}
if (hap >= &h_addr_ptrs[MAXADDRS-1]) {
if (!toobig++) {
- dprintf("Too many addresses (%d)\n",
+ Dprintf("Too many addresses (%d)\n",
MAXADDRS);
}
cp += n;
@@ -627,7 +627,7 @@ gethostbyname2(name, af)
&buf.ptr)) < 0) {
if (buf.buf != origbuf)
free (buf.buf);
- dprintf("res_nsearch failed (%d)\n", n);
+ Dprintf("res_nsearch failed (%d)\n", n);
if (errno == ECONNREFUSED)
return (_gethtbyname2(name, af));
return (NULL);
@@ -729,7 +729,7 @@ gethostbyaddr(addr, len, af)
if (n < 0) {
if (buf.buf != orig_buf)
free (buf.buf);
- dprintf("res_nquery failed (%d)\n", n);
+ Dprintf("res_nquery failed (%d)\n", n);
if (errno == ECONNREFUSED)
return (_gethtbyaddr(addr, len, af));
return (NULL);
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 19adc3e103..54f74d4d12 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -190,7 +190,7 @@ static int send_dg(res_state, const u_char *, int,
int *, int *, u_char **);
#ifdef DEBUG
static void Aerror(const res_state, FILE *, const char *, int,
- struct sockaddr_in);
+ const struct sockaddr *);
static void Perror(const res_state, FILE *, const char *, int);
#endif
#ifdef _LIBC
@@ -576,9 +576,17 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
} while (!done);
}
+#ifdef _LIBC
+ char tmpbuf[40];
+ Dprint(statp->options & RES_DEBUG,
+ (stdout, ";; Querying server (# %d) address = %s\n",
+ ns + 1, inet_ntop(AF_INET6, &nsap->sin6_addr,
+ tmpbuf, sizeof (tmpbuf))));
+#else
Dprint(statp->options & RES_DEBUG,
(stdout, ";; Querying server (# %d) address = %s\n",
ns + 1, inet_ntoa(nsap->sin_addr)));
+#endif
if (v_circuit) {
/* Use VC; at most one attempt per server. */
@@ -610,7 +618,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
DprintQ((statp->options & RES_DEBUG) ||
(statp->pfcode & RES_PRF_REPLY),
- (stdout, ""),
+ (stdout, "%s", ""),
ans, (resplen > anssiz) ? anssiz : resplen);
/*
@@ -743,7 +751,8 @@ send_vc(res_state statp,
if (connect(statp->_vcsock, (struct sockaddr *)nsap,
sizeof *nsap) < 0) {
*terrno = errno;
- Aerror(statp, stderr, "connect/vc", errno, *nsap);
+ Aerror(statp, stderr, "connect/vc", errno,
+ (struct sockaddr *) nsap);
res_nclose(statp);
return (0);
}
@@ -948,7 +957,8 @@ send_dg(res_state statp,
*/
if (connect(EXT(statp).nssocks[ns], (struct sockaddr *)nsap,
sizeof *nsap) < 0) {
- Aerror(statp, stderr, "connect(dg)", errno, *nsap);
+ Aerror(statp, stderr, "connect(dg)", errno,
+ (struct sockaddr *) nsap);
res_nclose(statp);
return (0);
}
@@ -972,7 +982,8 @@ send_dg(res_state statp,
if (sendto(s, (char*)buf, buflen, 0,
(struct sockaddr *)nsap, sizeof *nsap) != buflen)
{
- Aerror(statp, stderr, "sendto", errno, *nsap);
+ Aerror(statp, stderr, "sendto", errno,
+ (struct sockaddr *) nsap);
res_nclose(statp);
return (0);
}
@@ -1130,18 +1141,22 @@ send_dg(res_state statp,
#ifdef DEBUG
static void
Aerror(const res_state statp, FILE *file, const char *string, int error,
- struct sockaddr_in address)
+ const struct sockaddr *address)
{
int save = errno;
if ((statp->options & RES_DEBUG) != 0) {
- char tmp[sizeof "255.255.255.255"];
+ char tmp[sizeof "xxxx.xxxx.xxxx.255.255.255.255"];
fprintf(file, "res_send: %s ([%s].%u): %s\n",
string,
- inet_ntop(address.sin_family, &address.sin_addr,
+ inet_ntop(address->sa_family, address->sa_data,
tmp, sizeof tmp),
- ntohs(address.sin_port),
+ (address->sa_family == AF_INET
+ ? ntohs(((struct sockaddr_in *) address)->sin_port)
+ : address->sa_family == AF_INET6
+ ? ntohs(((struct sockaddr_in6 *) address)->sin6_port)
+ : 0),
strerror(error));
}
__set_errno (save);