From c39b0c883dc625c09db3925e84999820e2349748 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 3 Nov 2014 09:39:16 +0100 Subject: [PATCH] controller: Keep following initiate() if the first DH guess was wrong --- src/libcharon/control/controller.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libcharon/control/controller.c b/src/libcharon/control/controller.c index 25667e532f..60d186e276 100644 --- a/src/libcharon/control/controller.c +++ b/src/libcharon/control/controller.c @@ -303,6 +303,18 @@ METHOD(listener_t, child_state_change, bool, /* proper delete */ this->status = SUCCESS; break; + case CHILD_RETRYING: + /* retrying with a different DH group; survive another + * initiation round */ + this->status = NEED_MORE; + return TRUE; + case CHILD_CREATED: + if (this->status == NEED_MORE) + { + this->status = FAILED; + return TRUE; + } + break; default: break; } -- 2.47.2