netfilter: nat: fix udp checksum corruption
Due to copy&paste error nf_nat_mangle_udp_packet passes IPPROTO_TCP, resulting in incorrect udp checksum when payload had to be mangled. Fixes: dac3fe72596f9 ("netfilter: nat: remove csum_recalc hook") Reported-by: Marc Haber <mh+netdev@zugschlus.de> Tested-by: Marc Haber <mh+netdev@zugschlus.de> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
committed by
Pablo Neira Ayuso
parent
82ce6eb1dd
commit
6bac76db1d
@ -170,7 +170,7 @@ nf_nat_mangle_udp_packet(struct sk_buff *skb,
|
||||
if (!udph->check && skb->ip_summed != CHECKSUM_PARTIAL)
|
||||
return true;
|
||||
|
||||
nf_nat_csum_recalc(skb, nf_ct_l3num(ct), IPPROTO_TCP,
|
||||
nf_nat_csum_recalc(skb, nf_ct_l3num(ct), IPPROTO_UDP,
|
||||
udph, &udph->check, datalen, oldlen);
|
||||
|
||||
return true;
|
||||
|
Reference in New Issue
Block a user