aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/sa/ikev1/tasks/quick_mode.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2015-10-07 16:08:22 +0200
committerTobias Brunner <tobias@strongswan.org>2015-10-29 16:03:15 +0100
commit37a22a166b6f76d8acf4051b8480d592e851072b (patch)
tree18c43a158fbdda86a70cb61f4d149b8fce9ece99 /src/libcharon/sa/ikev1/tasks/quick_mode.c
parent758b1caa0e75b6de011057fbc8c2982303745953 (diff)
downloadstrongswan-37a22a166b6f76d8acf4051b8480d592e851072b.tar.bz2
strongswan-37a22a166b6f76d8acf4051b8480d592e851072b.tar.xz
ikev1: Avoid fourth QM message if third QM messages of multiple exchanges are handled delayed
If we haven't received the third QM message for multiple exchanges the return value of NEED_MORE for passive tasks that are not responsible for a specific exchange would trigger a fourth empty QM message. Fixes: 4de361d92c54 ("ikev1: Fix handling of overlapping Quick Mode exchanges") References #1076.
Diffstat (limited to 'src/libcharon/sa/ikev1/tasks/quick_mode.c')
-rw-r--r--src/libcharon/sa/ikev1/tasks/quick_mode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcharon/sa/ikev1/tasks/quick_mode.c b/src/libcharon/sa/ikev1/tasks/quick_mode.c
index d6a3f2cd1..45eb7f0d6 100644
--- a/src/libcharon/sa/ikev1/tasks/quick_mode.c
+++ b/src/libcharon/sa/ikev1/tasks/quick_mode.c
@@ -1026,7 +1026,7 @@ METHOD(task_t, process_r, status_t,
{
if (this->mid && this->mid != message->get_message_id(message))
{ /* not responsible for this quick mode exchange */
- return NEED_MORE;
+ return INVALID_ARG;
}
switch (this->state)
@@ -1200,7 +1200,7 @@ METHOD(task_t, build_r, status_t,
{
if (this->mid && this->mid != message->get_message_id(message))
{ /* not responsible for this quick mode exchange */
- return NEED_MORE;
+ return INVALID_ARG;
}
switch (this->state)