Fix MOBIKE address update if responder address changed.

Use the source address of the current MOBIKE message as peer address
instead of assuming the address cached on the IKE_SA is still valid.
This commit is contained in:
Tobias Brunner 2012-05-09 17:53:34 +02:00
parent a46fe56858
commit 53915f14ae
1 changed files with 2 additions and 2 deletions

View File

@ -138,7 +138,7 @@ static void process_payloads(private_ike_mobike_t *this, message_t *message)
this->ike_sa->clear_peer_addresses(this->ike_sa);
first = FALSE;
/* add the peer's current address to the list */
host = this->ike_sa->get_other_host(this->ike_sa);
host = message->get_source(message);
this->ike_sa->add_peer_address(this->ike_sa,
host->clone(host));
}
@ -158,7 +158,7 @@ static void process_payloads(private_ike_mobike_t *this, message_t *message)
{
this->ike_sa->clear_peer_addresses(this->ike_sa);
/* add the peer's current address to the list */
host = this->ike_sa->get_other_host(this->ike_sa);
host = message->get_source(message);
this->ike_sa->add_peer_address(this->ike_sa, host->clone(host));
this->addresses_updated = TRUE;
break;