diff options
-rw-r--r-- | src/libcharon/sa/ike_sa_manager.c | 5 |
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 bdabc59b5..144cd7d3f 100644 --- a/src/libcharon/sa/ike_sa_manager.c +++ b/src/libcharon/sa/ike_sa_manager.c @@ -1783,7 +1783,10 @@ static status_t enforce_replace(private_ike_sa_manager_t *this, if (is_ikev1_reauth(duplicate, host)) { /* looks like a reauthentication attempt */ - adopt_children(duplicate, new); + if (!new->has_condition(new, COND_INIT_CONTACT_SEEN)) + { + adopt_children(duplicate, new); + } /* For IKEv1 we have to delay the delete for the old IKE_SA. Some * peers need to complete the new SA first, otherwise the quick modes * might get lost. */ |