NAT-T conditions were not inherited during IKE_SA rekeying
authorAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 29 Jan 2008 01:41:47 +0000 (01:41 -0000)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 29 Jan 2008 01:41:47 +0000 (01:41 -0000)
src/charon/sa/ike_sa.c

index 9cada2c..93aa089 100644 (file)
@@ -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)