[Openswan dev] NAT_TRAVERSAL in connections.c /pending.c

Norbert Wegener nw at sbs.de
Fri Jul 22 13:17:50 CEST 2005


I noticed, that in update_pending in  openswan-2.3.0
programs/pluto/connections.c has an

ifdef NAT_TRAVERSAL

update_pending(struct state *os, struct state *ns)
{
    struct pending *p;

    for (p = os->st_connection->host_pair->pending; p != NULL; p = 
p->next) {
        if (p->isakmp_sa == os)
            p->isakmp_sa = ns;
#ifdef NAT_TRAVERSAL
        if (p->connection->spd.this.host_port != 
ns->st_connection->spd.this.host_port) {
            p->connection->spd.this.host_port = 
ns->st_connection->spd.this.host_port;
            p->connection->spd.that.host_port = 
ns->st_connection->spd.that.host_port;
        }
#endif
    }
}

in 2.4.0dr6 this function appears in programs/pluto/pending.c
where the #ifdef seems to have completely disappeared.

As on bugs.xelerance.com there are some nat related issues: May this 
have to do with this?

I am not a great programmer and do not know the source code.
But this difference brought me to ask this question.
Norbert



More information about the Dev mailing list