]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Fix multi-socket and dco-win interaction
authorGianmarco De Gregori <gianmarco@mandelbit.com>
Fri, 12 Sep 2025 13:10:56 +0000 (15:10 +0200)
committerGert Doering <gert@greenie.muc.de>
Sun, 14 Sep 2025 11:58:25 +0000 (13:58 +0200)
The dco_check_option_ce(), for dco_win, checked only
the global protocol of the current connection entry,
but now it should be extended to the local_list
and since dco_win does not support more than 1
socket, checking the first entry of the local_list
will be enough.

Change-Id: I74e2b6aed3c7454e897db57f777e6a191be3d87f
Signed-off-by: Gianmarco De Gregori <gianmarco@mandelbit.com>
Acked-by: Lev Stipakov <lstipakov@gmail.com>
Message-Id: <20250912131056.42342-1-frank@lichtenheld.com>
URL: https://sourceforge.net/p/openvpn/mailman/message/59232442/
URL: https://gerrit.openvpn.net/c/openvpn/+/1173
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/dco.c

index 1abebbbcf86ff58a092090a4e0f8f8e58c3bac4d..70a8c0a19b728a8c4a3ed71f65e936de25421a87 100644 (file)
@@ -268,7 +268,7 @@ dco_check_option_ce(const struct connection_entry *ce, int msglevel, int mode)
 #endif
 
 #if defined(_WIN32)
-    if (!proto_is_udp(ce->proto) && mode == MODE_SERVER)
+    if (!proto_is_udp(ce->local_list->array[0]->proto) && mode == MODE_SERVER)
     {
         msg(msglevel,
             "NOTE: TCP transport disables data channel offload on Windows in server mode.");