]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
quick-mode: Make sure we have a proposal before determining lifetimes
authorTobias Brunner <tobias@strongswan.org>
Thu, 26 Mar 2020 07:41:00 +0000 (08:41 +0100)
committerTobias Brunner <tobias@strongswan.org>
Thu, 26 Mar 2020 07:41:00 +0000 (08:41 +0100)
Fixes: e0dd36c9c730 ("ikev1: Get and set the lifetimes of the selected proposal/transform")
src/libcharon/sa/ikev1/tasks/quick_mode.c

index f494e48c83ddb175b4e65141d4868abef1286285..50c280fe5804b5ac2fb044beec20a356c62ab3f1 100644 (file)
@@ -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);