From: Antonio Quartulli
Date: Mon, 30 Jan 2017 15:26:58 +0000 (+0800)
Subject: ignore remote-random-hostname if a numeric host is provided
X-Git-Tag: v2.4.1~4
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0dc790818876dac6e1cf1a82eda8ea15a538a333;p=thirdparty%2Fopenvpn.git
ignore remote-random-hostname if a numeric host is provided
Although it does not make sense to specify remote-random-hostname
when a numeric hostname is provided (being it the remote, the http
proxy or the socks server), this is still a valid configuration.
For this reason, this combination should still work as expected,
which means ignoring the randomization and directly using the
numeric IP.
Signed-off-by: Antonio Quartulli
Acked-by: Gert Doering
Message-Id: <20170130152658.15786-1-a@unstable.cc>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg13993.html
Signed-off-by: Gert Doering
(cherry picked from commit 3c748aeb5e4b82c449e7de28846a3915ab45aeec)
---
diff --git a/src/openvpn/socket.c b/src/openvpn/socket.c
index c1c0eaa0e..7d3dd60cb 100644
--- a/src/openvpn/socket.c
+++ b/src/openvpn/socket.c
@@ -338,20 +338,6 @@ openvpn_getaddrinfo(unsigned int flags,
ASSERT(hostname || servname);
ASSERT(!(flags & GETADDR_HOST_ORDER));
- if (hostname && (flags & GETADDR_RANDOMIZE))
- {
- hostname = hostname_randomize(hostname, &gc);
- }
-
- if (hostname)
- {
- print_hostname = hostname;
- }
- else
- {
- print_hostname = "undefined";
- }
-
if (servname)
{
print_servname = servname;
@@ -402,6 +388,20 @@ openvpn_getaddrinfo(unsigned int flags,
const char *fmt;
int level = 0;
+ if (hostname && (flags & GETADDR_RANDOMIZE))
+ {
+ hostname = hostname_randomize(hostname, &gc);
+ }
+
+ if (hostname)
+ {
+ print_hostname = hostname;
+ }
+ else
+ {
+ print_hostname = "undefined";
+ }
+
fmt = "RESOLVE: Cannot resolve host address: %s:%s (%s)";
if ((flags & GETADDR_MENTION_RESOLVE_RETRY)
&& !resolve_retry_seconds)
@@ -512,6 +512,10 @@ openvpn_getaddrinfo(unsigned int flags,
else
{
/* IP address parse succeeded */
+ if (flags & GETADDR_RANDOMIZE)
+ {
+ msg(M_WARN, "WARNING: ignoring --remote-random-hostname because the hostname is an IP address");
+ }
}
done: