aboutsummaryrefslogtreecommitdiff
path: root/src/openvpn
diff options
context:
space:
mode:
authorLev Stipakov2023-11-15 13:06:56 +0100
committerGert Doering2023-11-15 15:51:25 +0100
commit6127858f302785fa81cb9b943a71af972531070c (patch)
tree33acf6352fa58f0eb181105eef6a0ffce773b7b1 /src/openvpn
parent0acba3cc64064841224f7ea4484e4d9715a42897 (diff)
downloadopenvpn-6127858f302785fa81cb9b943a71af972531070c.zip
openvpn-6127858f302785fa81cb9b943a71af972531070c.tar.gz
Warn if pushed options require DHCP
Some pushed options (such as DOMAIN-SEARCH) require DHCP server to work. Warn user that such options will not work if the current driver (such as dco-win) doesn't support DHCP. Change-Id: Ie512544329a91fae15409cb18f29d8be617051a1 Signed-off-by: Lev Stipakov <lev@openvpn.net> Acked-by: Frank Lichtenheld <frank@lichtenheld.com> Message-Id: <20231115120656.6825-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg27403.html Signed-off-by: Gert Doering <gert@greenie.muc.de> (cherry picked from commit 85fc834b0229b87e466b4f60bd2618b2ecd27a5f)
Diffstat (limited to 'src/openvpn')
-rw-r--r--src/openvpn/options.c4
-rw-r--r--src/openvpn/tun.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/src/openvpn/options.c b/src/openvpn/options.c
index 9502982..7ca77a8 100644
--- a/src/openvpn/options.c
+++ b/src/openvpn/options.c
@@ -2485,10 +2485,10 @@ options_postprocess_verify_ce(const struct options *options,
if (options->tuntap_options.dhcp_options & DHCP_OPTIONS_DHCP_REQUIRED)
{
- const char *prefix = "Some dhcp-options require DHCP server";
+ const char *prefix = "Some --dhcp-option or --dns options require DHCP server";
if (options->windows_driver != WINDOWS_DRIVER_TAP_WINDOWS6)
{
- msg(M_USAGE, "%s, which is not supported by selected %s driver",
+ msg(M_USAGE, "%s, which is not supported by the selected %s driver",
prefix, print_windows_driver(options->windows_driver));
}
else if (options->tuntap_options.ip_win32_type != IPW32_SET_DHCP_MASQ
diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c
index f857ed1..82ab6c0 100644
--- a/src/openvpn/tun.c
+++ b/src/openvpn/tun.c
@@ -6826,6 +6826,14 @@ void
open_tun(const char *dev, const char *dev_type, const char *dev_node, struct tuntap *tt,
openvpn_net_ctx_t *ctx)
{
+ if ((tt->options.dhcp_options & DHCP_OPTIONS_DHCP_REQUIRED)
+ && tt->windows_driver != WINDOWS_DRIVER_TAP_WINDOWS6)
+ {
+ msg(M_WARN, "Some --dhcp-option or --dns options require DHCP server,"
+ " which is not supported by the selected %s driver. They will be"
+ " ignored.", print_windows_driver(tt->windows_driver));
+ }
+
/* dco-win already opened the device, which handle we treat as socket */
if (tuntap_is_dco_win(tt))
{