fixed bug occuring with multiple queued Quick Modes and NAT Traversal

This commit is contained in:
Andreas Steffen 2007-09-25 20:07:04 +00:00
parent d9d69536b0
commit 8129cc848a
1 changed files with 2 additions and 3 deletions

View File

@ -3028,11 +3028,10 @@ ISAKMP_SA_established(struct connection *c, so_serial_t serial)
{
struct connection *next = d->ac_next; /* might move underneath us */
if (d->kind >= CK_PERMANENT
if (d->kind >= CK_PERMANENT
&& same_id(&c->spd.this.id, &d->spd.this.id)
&& same_id(&c->spd.that.id, &d->spd.that.id)
&& (!sameaddr(&c->spd.that.host_addr, &d->spd.that.host_addr) ||
(c->spd.that.host_port != d->spd.that.host_port)))
&& !sameaddr(&c->spd.that.host_addr, &d->spd.that.host_addr))
{
release_connection(d, FALSE);
}