From fe9df4f4310de814aa9e1ae555251148d0bced93 Mon Sep 17 00:00:00 2001 From: Lev Stipakov Date: Wed, 29 Mar 2023 10:09:14 +0300 Subject: [PATCH] dco-win: use OS-assigned random local port The same behavior is implemented in openvpn2 and openvpn3 non-dco cases. This also fixes some reconnect issues to openvpn2 server. Fixes OVPN3-949. Signed-off-by: Lev Stipakov --- openvpn/dco/ovpndcowincli.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openvpn/dco/ovpndcowincli.hpp b/openvpn/dco/ovpndcowincli.hpp index 9d80718c..7cf25cd0 100644 --- a/openvpn/dco/ovpndcowincli.hpp +++ b/openvpn/dco/ovpndcowincli.hpp @@ -368,7 +368,7 @@ class OvpnDcoWinClient : public Client, public KoRekey::Receiver addr.to_v4().to_bytes().data(), sizeof(peer.Remote.Addr4.sin_addr)); peer.Local.Addr4.sin_family = peer.Remote.Addr4.sin_family; - peer.Local.Addr4.sin_port = peer.Remote.Addr4.sin_port; + peer.Local.Addr4.sin_port = 0; } else { @@ -378,7 +378,7 @@ class OvpnDcoWinClient : public Client, public KoRekey::Receiver addr.to_v6().to_bytes().data(), sizeof(peer.Remote.Addr6.sin6_addr)); peer.Local.Addr6.sin6_family = peer.Remote.Addr6.sin6_family; - peer.Local.Addr6.sin6_port = peer.Remote.Addr6.sin6_port; + peer.Local.Addr6.sin6_port = 0; } openvpn_io::windows::overlapped_ptr ov{io_context,