1
0
mirror of https://github.com/openbsd/src.git synced 2026-04-15 09:44:36 +00:00

iked only ever handles one exchange at a time so we can drop the

entire fragment queue instead of doing a lookup based on the msgid

Found by Dirk Loss
ok markus@ hshoexer@
This commit is contained in:
tobhe
2026-04-01 18:58:15 +00:00
parent 4b14e38b97
commit 0ea06f527d
2 changed files with 4 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
/* $OpenBSD: common.c,v 1.13 2022/12/03 22:34:35 tobhe Exp $ */
/* $OpenBSD: common.c,v 1.14 2026/04/01 18:58:15 tobhe Exp $ */
/*
* A bunch of stub functions so we can compile and link ikev2_pld.c
* in a standalone program for testing purposes.
@@ -210,8 +210,7 @@ ikev2_ike_sa_setreason(struct iked_sa *sa, char *r)
}
void
ikev2_msg_dispose(struct iked *env, struct iked_msgqueue *queue,
struct iked_msg_retransmit *mr)
ikev2_msg_flushqueue(struct iked *env, struct iked_msgqueue *queue)
{
}

View File

@@ -1,4 +1,4 @@
/* $OpenBSD: ikev2_pld.c,v 1.137 2026/04/01 18:43:20 tobhe Exp $ */
/* $OpenBSD: ikev2_pld.c,v 1.138 2026/04/01 18:58:15 tobhe Exp $ */
/*
* Copyright (c) 2019 Tobias Heider <tobias.heider@stusta.de>
@@ -1797,9 +1797,7 @@ ikev2_frags_reassemble(struct iked *env, struct ikev2_payload *pld,
/* Drop the original request's packets from the retransmit queue */
if (msg->msg_response)
ikev2_msg_dispose(env, &msg->msg_sa->sa_requests,
ikev2_msg_lookup(env, &msg->msg_sa->sa_requests, msg,
msg->msg_exchange));
ikev2_msg_flushqueue(env, &msg->msg_sa->sa_requests);
/*
* Parse decrypted payload