From: yatta Date: Thu, 19 Oct 2023 17:12:13 +0000 (+0800) Subject: fix(ssl): init peer_id when init tls_multi X-Git-Tag: v2.7_alpha1~341 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e30504d86f0fe5556acc0cb8e6975c5b2277661;p=thirdparty%2Fopenvpn.git fix(ssl): init peer_id when init tls_multi When openvpn run in UDP server mode, if ssl connections reach the max clients, the next connection would be failed in `multi_create_instance` and the half connection will be close in `multi_close_instance`, which may lead array `m->instances[0]` covered unexpectedly and make the first connection interrupt, this patch fix this problem by init `peer_id` with `MAX_PEER_ID` in `tils_multi_init`. Signed-off-by: yatta Message-Id: URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg27260.html Signed-off-by: Gert Doering --- diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c index 759741274..33c867046 100644 --- a/src/openvpn/ssl.c +++ b/src/openvpn/ssl.c @@ -64,6 +64,7 @@ #include "dco.h" #include "memdbg.h" +#include "openvpn.h" #ifdef MEASURE_TLS_HANDSHAKE_STATS @@ -1148,6 +1149,7 @@ tls_multi_init(struct tls_options *tls_options) /* get command line derived options */ ret->opt = *tls_options; ret->dco_peer_id = -1; + ret->peer_id = MAX_PEER_ID; return ret; }