fixed payload order (Nonce, KE) for IKE_SA_INIT

This commit is contained in:
Martin Willi
2007-07-16 07:01:49 +00:00
parent db61efdbbb
commit cc68e173fe
+10 -2
View File
@@ -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