[NETFILTER]: nf_nat_proto_gre: do not modify/corrupt GREv0 packets through NAT
authorJorge Boncompte <jorge@dti2.net>
Thu, 3 May 2007 10:34:42 +0000 (03:34 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 May 2007 10:34:42 +0000 (03:34 -0700)
commitc2a1910b06fed96db77bb358c18c52a1fcf2b7fe
treea3e8fc944ea2a0bed4a6e02b6b0fb42e21444354
parent327850070b019a96853c533c152688546201c286
[NETFILTER]: nf_nat_proto_gre: do not modify/corrupt GREv0 packets through NAT

While porting some changes of the 2.6.21-rc7 pptp/proto_gre conntrack
and nat modules to a 2.4.32 kernel I noticed that the gre_key function
returns a wrong pointer to the GRE key of a version 0 packet thus
corrupting the packet payload.

The intended behaviour for GREv0 packets is to act like
nf_conntrack_proto_generic/nf_nat_proto_unknown so I have ripped the
offending functions (not used anymore) and modified the
nf_nat_proto_gre modules to not touch version 0 (non PPTP) packets.

Signed-off-by: Jorge Boncompte <jorge@dti2.net>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netfilter/nf_conntrack_proto_gre.h
net/ipv4/netfilter/nf_nat_proto_gre.c