diff options
author | Arne Schwabe <arne@rfc2549.org> | 2014-03-23 13:13:06 +0100 |
---|---|---|
committer | Gert Doering <gert@greenie.muc.de> | 2014-03-23 19:51:52 +0100 |
commit | e719a0535345db8f0781c0b80408ca5417597469 (patch) | |
tree | 82080da0cedbd3e52b11816b759f0294c64452f3 /src/openvpn/options.c | |
parent | fb69bfd05eef20547848f901bb66d394f64308a2 (diff) | |
download | openvpn-e719a0535345db8f0781c0b80408ca5417597469.tar.gz openvpn-e719a0535345db8f0781c0b80408ca5417597469.tar.xz openvpn-e719a0535345db8f0781c0b80408ca5417597469.zip |
Introduce an option to resolve dns names in advance for --remote, --local and --http-proxy
Also introduce x_gc_addspeical function that allows to add objects with a
custom free function to the gc.
Some additional addrinfo cleanup
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <1395576786-17507-1-git-send-email-arne@rfc2549.org>
URL: http://article.gmane.org/gmane.network.openvpn.devel/8386
Signed-off-by: Gert Doering <gert@greenie.muc.de>
Diffstat (limited to 'src/openvpn/options.c')
-rw-r--r-- | src/openvpn/options.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/openvpn/options.c b/src/openvpn/options.c index e7259f7..cb2cf95 100644 --- a/src/openvpn/options.c +++ b/src/openvpn/options.c @@ -796,6 +796,7 @@ init_options (struct options *o, const bool init_gc) o->ce.mssfix = MSSFIX_DEFAULT; o->route_delay_window = 30; o->resolve_retry_seconds = RESOLV_RETRY_INFINITE; + o->resolve_in_advance = false; o->proto_force = -1; #ifdef ENABLE_OCC o->occ = true; @@ -1369,6 +1370,7 @@ show_connection_entry (const struct connection_entry *o) SHOW_BOOL (remote_float); SHOW_BOOL (bind_defined); SHOW_BOOL (bind_local); + SHOW_BOOL (bind_ipv6_only); SHOW_INT (connect_retry_seconds); SHOW_INT (connect_timeout); @@ -1494,6 +1496,7 @@ show_settings (const struct options *o) #endif SHOW_INT (resolve_retry_seconds); + SHOW_BOOL (resolve_in_advance); SHOW_STR (username); SHOW_STR (groupname); @@ -4540,6 +4543,15 @@ add_option (struct options *options, else options->resolve_retry_seconds = positive_atoi (p[1]); } + else if (streq (p[0], "preresolve") || streq (p[0], "ip-remote-hint")) + { + VERIFY_PERMISSION (OPT_P_GENERAL); + options->resolve_in_advance = true; + /* Note the ip-remote-hint and the argument p[1] are for + backward compatibility */ + if (p[1]) + options->ip_remote_hint=p[1]; + } else if (streq (p[0], "connect-retry") && p[1]) { VERIFY_PERMISSION (OPT_P_GENERAL|OPT_P_CONNECTION); |