]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
aggressive-mode: Determine local identity before deriving keys
authorTobias Brunner <tobias@strongswan.org>
Thu, 16 Jun 2022 14:36:04 +0000 (16:36 +0200)
committerTobias Brunner <tobias@strongswan.org>
Mon, 18 Jul 2022 10:56:20 +0000 (12:56 +0200)
This might require a PSK, for which the local identity might be necessary.

src/libcharon/sa/ikev1/tasks/aggressive_mode.c

index 0184cb55ea8a5e189d9737ae0f367b7595ed2641..517843d3c8949b625b2b16f56482fc43bdcdbba8 100644 (file)
@@ -604,14 +604,15 @@ METHOD(task_t, build_r, status_t,
                {
                        return send_notify(this, NO_PROPOSAL_CHOSEN);
                }
+
+               id = this->ph1->get_id(this->ph1, this->peer_cfg, TRUE);
+               this->ike_sa->set_my_id(this->ike_sa, id->clone(id));
+
                if (!this->ph1->derive_keys(this->ph1, this->peer_cfg, this->method))
                {
                        return send_notify(this, INVALID_KEY_INFORMATION);
                }
 
-               id = this->ph1->get_id(this->ph1, this->peer_cfg, TRUE);
-               this->ike_sa->set_my_id(this->ike_sa, id->clone(id));
-
                id_payload = id_payload_create_from_identification(PLV1_ID, id);
                message->add_payload(message, &id_payload->payload_interface);