diff options
author | Phil Oester <kernel@linuxace.com> | 2013-09-12 21:04:16 -0400 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-09-13 05:58:48 -0400 |
commit | d830f0fa1dd7ca447c38aec82cd44230e0b7ca75 (patch) | |
tree | adee01521dda41281668a3d61cc330262a625856 | |
parent | c13a84a830a208fb3443628773c8ca0557773cc7 (diff) |
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: Phil Oester <kernel@linuxace.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | net/ipv6/netfilter/nf_nat_proto_icmpv6.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/netfilter/nf_nat_proto_icmpv6.c b/net/ipv6/netfilter/nf_nat_proto_icmpv6.c index 61aaf70f376e..2205e8eeeacf 100644 --- a/net/ipv6/netfilter/nf_nat_proto_icmpv6.c +++ b/net/ipv6/netfilter/nf_nat_proto_icmpv6.c | |||
@@ -69,8 +69,8 @@ icmpv6_manip_pkt(struct sk_buff *skb, | |||
69 | hdr = (struct icmp6hdr *)(skb->data + hdroff); | 69 | hdr = (struct icmp6hdr *)(skb->data + hdroff); |
70 | l3proto->csum_update(skb, iphdroff, &hdr->icmp6_cksum, | 70 | l3proto->csum_update(skb, iphdroff, &hdr->icmp6_cksum, |
71 | tuple, maniptype); | 71 | tuple, maniptype); |
72 | if (hdr->icmp6_code == ICMPV6_ECHO_REQUEST || | 72 | if (hdr->icmp6_type == ICMPV6_ECHO_REQUEST || |
73 | hdr->icmp6_code == ICMPV6_ECHO_REPLY) { | 73 | hdr->icmp6_type == ICMPV6_ECHO_REPLY) { |
74 | inet_proto_csum_replace2(&hdr->icmp6_cksum, skb, | 74 | inet_proto_csum_replace2(&hdr->icmp6_cksum, skb, |
75 | hdr->icmp6_identifier, | 75 | hdr->icmp6_identifier, |
76 | tuple->src.u.icmp.id, 0); | 76 | tuple->src.u.icmp.id, 0); |