aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2008-07-23 07:44:26 +0000
committerAndreas Steffen <andreas.steffen@strongswan.org>2008-07-23 07:44:26 +0000
commit641023133594165e17ab79d1780167fab6969106 (patch)
tree35a1b171577dd015811bdc099cc2f5223720dbf5
parent0eede4a31fa6ad21db417b9ab02a0f22653ed300 (diff)
downloadstrongswan-641023133594165e17ab79d1780167fab6969106.tar.bz2
strongswan-641023133594165e17ab79d1780167fab6969106.tar.xz
IKE_SA rekeying inherits other_host from old IKE_SA
-rw-r--r--src/charon/sa/tasks/ike_rekey.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/charon/sa/tasks/ike_rekey.c b/src/charon/sa/tasks/ike_rekey.c
index 1428d5699..175ffcf08 100644
--- a/src/charon/sa/tasks/ike_rekey.c
+++ b/src/charon/sa/tasks/ike_rekey.c
@@ -69,6 +69,7 @@ struct private_ike_rekey_t {
static status_t build_i(private_ike_rekey_t *this, message_t *message)
{
peer_cfg_t *peer_cfg;
+ host_t *other_host;
/* create new SA only on first try */
if (this->new_sa == NULL)
@@ -77,7 +78,9 @@ static status_t build_i(private_ike_rekey_t *this, message_t *message)
TRUE);
peer_cfg = this->ike_sa->get_peer_cfg(this->ike_sa);
+ other_host = this->ike_sa->get_other_host(this->ike_sa);
this->new_sa->set_peer_cfg(this->new_sa, peer_cfg);
+ this->new_sa->set_other_host(this->new_sa, other_host->clone(other_host));
this->ike_init = ike_init_create(this->new_sa, TRUE, this->ike_sa);
this->ike_sa->set_state(this->ike_sa, IKE_REKEYING);
}