From 45bef145f3cc39c4c13609866f07b6cf9f8960a6 Mon Sep 17 00:00:00 2001 From: Antonio Quartulli Date: Thu, 12 Sep 2024 18:53:39 +0200 Subject: [PATCH] dco: mark peer as deleted from kernel after receiving CMD_DEL_PEER notification some extra DCO calls may be made after receiving the DEL_PEER notification (i.e. due to timeout), but this will result in an error message due to the peer having disappeared already. An extra call might be, for example, an explicit DEL_PEER in the attempt of cleaning the peer state. For this reason, inform userspace that there is no peer in kernel anymore and prevent errors which may result confusing. Change-Id: Ife50e37cd49d55ec81a70319a524ffeaf0625a56 Signed-off-by: Antonio Quartulli Acked-by: Arne Schwabe Message-Id: <20240912165339.21058-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg29226.html Signed-off-by: Gert Doering --- src/openvpn/forward.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/openvpn/forward.c b/src/openvpn/forward.c index 40b7cc428..374ba47b5 100644 --- a/src/openvpn/forward.c +++ b/src/openvpn/forward.c @@ -1256,6 +1256,8 @@ process_incoming_dco(struct context *c) switch (dco->dco_message_type) { case OVPN_CMD_DEL_PEER: + /* peer is gone, unset ID to prevent more kernel calls */ + c->c2.tls_multi->dco_peer_id = -1; if (dco->dco_del_peer_reason == OVPN_DEL_PEER_REASON_EXPIRED) { msg(D_DCO_DEBUG, "%s: received peer expired notification of for peer-id " -- 2.47.2