diff options
author | Lev Stipakov | 2023-11-15 13:06:56 +0100 |
---|---|---|
committer | Gert Doering | 2023-11-15 15:51:25 +0100 |
commit | 6127858f302785fa81cb9b943a71af972531070c (patch) | |
tree | 33acf6352fa58f0eb181105eef6a0ffce773b7b1 | |
parent | 0acba3cc64064841224f7ea4484e4d9715a42897 (diff) | |
download | openvpn-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)
-rw-r--r-- | src/openvpn/options.c | 4 | ||||
-rw-r--r-- | src/openvpn/tun.c | 8 |
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)) { |