Commit d830f0fa authored by Phil Oester's avatar Phil Oester Committed by Pablo Neira Ayuso

netfilter: nf_nat_proto_icmpv6:: fix wrong comparison in icmpv6_manip_pkt

In commit 58a317f1 (netfilter: ipv6: add IPv6 NAT support), icmpv6_manip_pkt
was added with an incorrect comparison of ICMP codes to types.  This causes
problems when using NAT rules with the --random option.  Correct the
comparison.

This closes netfilter bugzilla #851, reported by Alexander Neumann.
Signed-off-by: default avatarPhil Oester <kernel@linuxace.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent c13a84a8
...@@ -69,8 +69,8 @@ icmpv6_manip_pkt(struct sk_buff *skb, ...@@ -69,8 +69,8 @@ icmpv6_manip_pkt(struct sk_buff *skb,
hdr = (struct icmp6hdr *)(skb->data + hdroff); hdr = (struct icmp6hdr *)(skb->data + hdroff);
l3proto->csum_update(skb, iphdroff, &hdr->icmp6_cksum, l3proto->csum_update(skb, iphdroff, &hdr->icmp6_cksum,
tuple, maniptype); tuple, maniptype);
if (hdr->icmp6_code == ICMPV6_ECHO_REQUEST || if (hdr->icmp6_type == ICMPV6_ECHO_REQUEST ||
hdr->icmp6_code == ICMPV6_ECHO_REPLY) { hdr->icmp6_type == ICMPV6_ECHO_REPLY) {
inet_proto_csum_replace2(&hdr->icmp6_cksum, skb, inet_proto_csum_replace2(&hdr->icmp6_cksum, skb,
hdr->icmp6_identifier, hdr->icmp6_identifier,
tuple->src.u.icmp.id, 0); tuple->src.u.icmp.id, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment