ikev1: Fix handling of overlapping Quick Mode exchanges
authorTobias Brunner <tobias@strongswan.org>
Wed, 19 Aug 2015 13:28:02 +0000 (15:28 +0200)
committerTobias Brunner <tobias@strongswan.org>
Thu, 20 Aug 2015 17:13:45 +0000 (19:13 +0200)
commit4de361d92c542283c9d24088c0474f147596fa13
tree89a45071354f348e9aa7186f7b8d67a6f96467ca
parente2a252a86f5f65b6f6a5ff80fa7f97f5b8470817
ikev1: Fix handling of overlapping Quick Mode exchanges

In some cases the third message of a Quick Mode exchange might arrive
after the first message of a subsequent Quick Mode exchange.  Previously
these messages were handled incorrectly and the second Quick Mode
exchange failed.

Some implementations might even try to establish multiple Quick Modes
simultaneously, which is explicitly allowed in RFC 2409.  We don't fully
support that, though, in particular in case of retransmits.

Fixes #1076.
src/libcharon/sa/ikev1/task_manager_v1.c
src/libcharon/sa/ikev1/tasks/quick_mode.c
src/libcharon/sa/ikev1/tasks/quick_mode.h