diff options
Diffstat (limited to 'src/libcharon/sa/ikev1/tasks/isakmp_cert_post.c')
-rw-r--r-- | src/libcharon/sa/ikev1/tasks/isakmp_cert_post.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libcharon/sa/ikev1/tasks/isakmp_cert_post.c b/src/libcharon/sa/ikev1/tasks/isakmp_cert_post.c index 5fbd04aea..b88b9e31a 100644 --- a/src/libcharon/sa/ikev1/tasks/isakmp_cert_post.c +++ b/src/libcharon/sa/ikev1/tasks/isakmp_cert_post.c @@ -286,9 +286,14 @@ METHOD(task_t, process_i, status_t, } case AGGRESSIVE: { - if (!use_certs(this, message)) + if (this->state == CR_SA) { - return SUCCESS; + if (!use_certs(this, message)) + { + return SUCCESS; + } + this->state = CR_AUTH; + return NEED_MORE; } return SUCCESS; } |