0
0
mirror of https://github.com/OpenVPN/openvpn.git synced 2024-09-20 12:02:28 +02:00

Also drop incoming dco packet content when dropping the packet

If we get a message from a mismatched packet we need to clear
the incoming message buffer to ensure we can receive another
packet.

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20221224194253.3202231-6-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg25797.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
Arne Schwabe 2022-12-24 20:42:49 +01:00 committed by Gert Doering
parent b2ca179ce2
commit 7433618cb4
2 changed files with 4 additions and 0 deletions

View File

@ -1194,6 +1194,8 @@ process_incoming_dco(struct context *c)
msg(D_DCO_DEBUG, "%s: received message for mismatching peer-id %d, "
"expected %d", __func__, dco->dco_message_peer_id,
c->c2.tls_multi->dco_peer_id);
/* ensure we also drop a message if there is one in the buffer */
buf_init(&dco->dco_packet_in, 0);
return;
}

View File

@ -3276,6 +3276,8 @@ multi_process_incoming_dco(struct multi_context *m)
else
{
msg(D_DCO, "Received packet for peer-id unknown to OpenVPN: %d", peer_id);
/* Also clear the buffer if this was incoming packet for a dropped peer */
buf_init(&dco->dco_packet_in, 0);
}
dco->dco_message_type = 0;