diff --git a/src/libcharon/sa/ikev1/tasks/quick_mode.c b/src/libcharon/sa/ikev1/tasks/quick_mode.c index f494e48c8..50c280fe5 100644 --- a/src/libcharon/sa/ikev1/tasks/quick_mode.c +++ b/src/libcharon/sa/ikev1/tasks/quick_mode.c @@ -1147,9 +1147,6 @@ METHOD(task_t, process_r, status_t, flags); list->destroy_offset(list, offsetof(proposal_t, destroy)); - get_lifetimes(this); - apply_lifetimes(this, sa_payload); - if (!this->proposal) { DBG1(DBG_IKE, "no matching proposal found, sending %N", @@ -1158,6 +1155,9 @@ METHOD(task_t, process_r, status_t, } this->spi_i = this->proposal->get_spi(this->proposal); + get_lifetimes(this); + apply_lifetimes(this, sa_payload); + if (!get_nonce(this, &this->nonce_i, message)) { return send_notify(this, INVALID_PAYLOAD_TYPE);