@@ -445,6 +445,22 @@
throw_signal_soft(SIGHUP, "Preresolving failed");
}
+/**
+ * Small helper function for openvpn_getaddrinfo to print the address
+ * family when resolving fails
+ */
+static const char *
+getaddrinfo_addr_family_name(int af)
+{
+ switch (af)
+ {
+ case AF_INET: return "[AF_INET]";
+
+ case AF_INET6: return "[AF_INET6]";
+ }
+ return "";
+}
+
/*
* Translate IPv4/IPv6 addr or hostname into struct addrinfo
* If resolve error, try again for resolve_retry_seconds seconds.
@@ -545,11 +561,11 @@
print_hostname = "undefined";
}
- fmt = "RESOLVE: Cannot resolve host address: %s:%s (%s)";
+ fmt = "RESOLVE: Cannot resolve host address: %s:%s%s (%s)";
if ((flags & GETADDR_MENTION_RESOLVE_RETRY)
&& !resolve_retry_seconds)
{
- fmt = "RESOLVE: Cannot resolve host address: %s:%s (%s) "
+ fmt = "RESOLVE: Cannot resolve host address: %s:%s%s (%s) %s"
"(I would have retried this name query if you had "
"specified the --resolv-retry option.)";
}
@@ -639,6 +655,7 @@
fmt,
print_hostname,
print_servname,
+ getaddrinfo_addr_family_name(ai_family),
gai_strerror(status));
if (--resolve_retries <= 0)