aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2008-01-29 01:41:47 +0000
committerAndreas Steffen <andreas.steffen@strongswan.org>2008-01-29 01:41:47 +0000
commitb0e40caafbd7c5e85c9f2cd476c4e4a050dea091 (patch)
treecfce13bcada45bbe7e38c578b66e96c83171fced /src
parent5862981ce9d6e8fca19b7d60ba4fc1452ceafa83 (diff)
downloadstrongswan-b0e40caafbd7c5e85c9f2cd476c4e4a050dea091.tar.bz2
strongswan-b0e40caafbd7c5e85c9f2cd476c4e4a050dea091.tar.xz
NAT-T conditions were not inherited during IKE_SA rekeying
Diffstat (limited to 'src')
-rw-r--r--src/charon/sa/ike_sa.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/charon/sa/ike_sa.c b/src/charon/sa/ike_sa.c
index 9cada2cb5..93aa08965 100644
--- a/src/charon/sa/ike_sa.c
+++ b/src/charon/sa/ike_sa.c
@@ -2090,7 +2090,14 @@ static status_t inherit(private_ike_sa_t *this, private_ike_sa_t *other)
{
this->dns_servers->insert_first(this->dns_servers, ip);
}
-
+
+ /* inherit NAT-T conditions */
+ this->conditions = other->conditions;
+ if (this->conditions & COND_NAT_HERE)
+ {
+ send_keepalive(this);
+ }
+
/* adopt all children */
while (other->child_sas->remove_last(other->child_sas,
(void**)&child_sa) == SUCCESS)