[NETFILTER]: nf_nat_pptp: fix expectation removal
authorPatrick McHardy <kaber@trash.net>
Fri, 26 Jan 2007 09:07:30 +0000 (01:07 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Jan 2007 09:07:30 +0000 (01:07 -0800)
When removing the expectation for the opposite direction, the PPTP NAT
helper initializes the tuple for lookup with the addresses of the
opposite direction, which makes the lookup fail.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/netfilter/nf_nat_pptp.c

index 0ae45b79a4eb3fbdd6ee861504820fa3ef6214df..5df4fcae3ab68673c903804a906efc122fbcdb4f 100644 (file)
@@ -72,9 +72,9 @@ static void pptp_nat_expected(struct nf_conn *ct,
                DEBUGP("we are PAC->PNS\n");
                /* build tuple for PNS->PAC */
                t.src.l3num = AF_INET;
-               t.src.u3.ip = master->tuplehash[exp->dir].tuple.src.u3.ip;
+               t.src.u3.ip = master->tuplehash[!exp->dir].tuple.src.u3.ip;
                t.src.u.gre.key = nat_pptp_info->pns_call_id;
-               t.dst.u3.ip = master->tuplehash[exp->dir].tuple.dst.u3.ip;
+               t.dst.u3.ip = master->tuplehash[!exp->dir].tuple.dst.u3.ip;
                t.dst.u.gre.key = nat_pptp_info->pac_call_id;
                t.dst.protonum = IPPROTO_GRE;
        }