aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-12-12 18:23:11 +0100
committerTobias Brunner <tobias@strongswan.org>2012-12-24 12:29:26 +0100
commit7d85f94165c73031e2567da762183fc28c3bbcce (patch)
treea2b7b2095e738de44977a8718ca94c226d499f91 /src/libcharon
parent30216000d3752026127c2f91470ce165ab3d3926 (diff)
downloadstrongswan-7d85f94165c73031e2567da762183fc28c3bbcce.tar.bz2
strongswan-7d85f94165c73031e2567da762183fc28c3bbcce.tar.xz
Don't update an IKE_SA-entry's cached message ID when handling fragments
Diffstat (limited to 'src/libcharon')
-rw-r--r--src/libcharon/sa/ike_sa_manager.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libcharon/sa/ike_sa_manager.c b/src/libcharon/sa/ike_sa_manager.c
index 031c632eb..962787647 100644
--- a/src/libcharon/sa/ike_sa_manager.c
+++ b/src/libcharon/sa/ike_sa_manager.c
@@ -1280,7 +1280,10 @@ METHOD(ike_sa_manager_t, checkout_by_message, ike_sa_t*,
ike_id = entry->ike_sa->get_id(entry->ike_sa);
entry->checked_out = TRUE;
- entry->message_id = message->get_message_id(message);
+ if (message->get_first_payload_type(message) != FRAGMENT_V1)
+ {
+ entry->message_id = message->get_message_id(message);
+ }
if (ike_id->get_responder_spi(ike_id) == 0)
{
ike_id->set_responder_spi(ike_id, id->get_responder_spi(id));