aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-10-20 19:40:02 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-10-20 19:40:02 +0000
commit021e786c7108bc60f4517fcc306e1e18d99ff5ec (patch)
treeffc8db52c459ed9b84ff9babb63ff8fba1bf7bdf /lib
parent0c6bb8cb664f9cfe745ade2e4a473aa3843a2ce0 (diff)
Added a dump_addrinfo() function to ease debugging of resolved names. Define
DEBUG_ADDRINFO to enable.
Diffstat (limited to 'lib')
-rw-r--r--lib/hostip6.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/hostip6.c b/lib/hostip6.c
index aa25de3e9..775ba9147 100644
--- a/lib/hostip6.c
+++ b/lib/hostip6.c
@@ -73,6 +73,7 @@
#include "strerror.h"
#include "url.h"
#include "inet_pton.h"
+#include "connect.h"
#define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h>
@@ -186,6 +187,26 @@ bool Curl_ipvalid(struct SessionHandle *data)
}
#ifndef USE_THREADING_GETADDRINFO
+
+#ifdef DEBUG_ADDRINFO
+static void dump_addrinfo(struct connectdata *conn, const struct addrinfo *ai)
+{
+ printf("dump_addrinfo:\n");
+ for ( ; ai; ai = ai->ai_next) {
+ char buf[INET6_ADDRSTRLEN];
+
+ printf(" fam %2d, CNAME %s, ",
+ ai->ai_family, ai->ai_canonname ? ai->ai_canonname : "<none>");
+ if (Curl_printable_address(ai, buf, sizeof(buf)))
+ printf("%s\n", buf);
+ else
+ printf("failed; %s\n", Curl_strerror(conn, Curl_ourerrno()));
+ }
+}
+#else
+#define dump_addrinfo(x,y)
+#endif
+
/*
* Curl_getaddrinfo() when built ipv6-enabled (non-threading version).
*
@@ -266,6 +287,8 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
return NULL;
}
+ dump_addrinfo(conn, res);
+
return res;
}
#endif /* USE_THREADING_GETADDRINFO */