fixed payload order (Nonce, KE) for IKE_SA_INIT
This commit is contained in:
@@ -149,11 +149,19 @@ static void build_payloads(private_ike_init_t *this, message_t *message)
|
|||||||
|
|
||||||
nonce_payload = nonce_payload_create();
|
nonce_payload = nonce_payload_create();
|
||||||
nonce_payload->set_nonce(nonce_payload, this->my_nonce);
|
nonce_payload->set_nonce(nonce_payload, this->my_nonce);
|
||||||
message->add_payload(message, (payload_t*)nonce_payload);
|
|
||||||
|
|
||||||
ke_payload = ke_payload_create_from_diffie_hellman(this->dh);
|
ke_payload = ke_payload_create_from_diffie_hellman(this->dh);
|
||||||
|
|
||||||
|
if (this->old_sa)
|
||||||
|
{ /* payload order differs if we are rekeying */
|
||||||
|
message->add_payload(message, (payload_t*)nonce_payload);
|
||||||
message->add_payload(message, (payload_t*)ke_payload);
|
message->add_payload(message, (payload_t*)ke_payload);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
message->add_payload(message, (payload_t*)ke_payload);
|
||||||
|
message->add_payload(message, (payload_t*)nonce_payload);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read payloads from message
|
* Read payloads from message
|
||||||
|
|||||||
Reference in New Issue
Block a user