diff options
author | Lev Stipakov | 2024-03-18 19:17:44 +0100 |
---|---|---|
committer | Gert Doering | 2024-03-19 20:14:36 +0100 |
commit | fd6b8395f6cee8a61111c28f335ec25ed6db11f7 (patch) | |
tree | 47fe9d90f9a308e6a4f4e95da1ed4ccae42d4900 | |
parent | 989b22cb6e007fd1addcfaf7d12f4fec9fbc9639 (diff) | |
download | openvpn-fd6b8395f6cee8a61111c28f335ec25ed6db11f7.zip openvpn-fd6b8395f6cee8a61111c28f335ec25ed6db11f7.tar.gz |
Disable DCO if proxy is set via management
Commit
45a1cb2a ("Disable DCO if proxy is set via management")
attempted to disable DCO when proxy is set via management interface. However,
at least on Windows this doesn't work, since:
- setting tuntap_options->disable_dco to true is not enough to disable DCO
- at this point it is a bit too late, since we've already done DCO-specific
adjustments
Since proxy can be set via management only if --management-query-proxy is
specified, the better way is to add a check to dco_check_startup_option().
Github: fixes OpenVPN/openvpn#522
Change-Id: I16d6a9fefa317d7d4a195e786618328445bdbca8
Signed-off-by: Lev Stipakov <lev@openvpn.net>
Acked-by: Frank Lichtenheld <frank@lichtenheld.com>
Message-Id: <20240318181744.20625-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg28415.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
-rw-r--r-- | src/openvpn/dco.c | 6 | ||||
-rw-r--r-- | src/openvpn/init.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/openvpn/dco.c b/src/openvpn/dco.c index d7c9d48..78243b1 100644 --- a/src/openvpn/dco.c +++ b/src/openvpn/dco.c @@ -387,6 +387,12 @@ dco_check_startup_option(int msglevel, const struct options *o) return false; } + if (o->management_flags & MF_QUERY_PROXY) + { + msg(msglevel, "Note: --management-query-proxy disables data channel offload."); + return false; + } + /* now that all options have been confirmed to be supported, check * if DCO is truly available on the system */ diff --git a/src/openvpn/init.c b/src/openvpn/init.c index 6209fa8..f2ce926 100644 --- a/src/openvpn/init.c +++ b/src/openvpn/init.c @@ -221,12 +221,6 @@ management_callback_proxy_cmd(void *arg, const char **p) } else if (p[2] && p[3]) { - if (dco_enabled(&c->options)) - { - msg(M_INFO, "Proxy set via management, disabling Data Channel Offload."); - c->options.tuntap_options.disable_dco = true; - } - if (streq(p[1], "HTTP")) { struct http_proxy_options *ho; |