From 014bf128ef6cbce4a13a5ec2e1c039d62afdaa31 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Fri, 22 Jul 2005 12:51:38 -0700 Subject: [PATCH] --- yaml --- r: 4934 b: refs/heads/master c: 74bb421da7f39e70ab636ad46ef85ea1178786c5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/ipv4/netfilter/ip_nat_proto_icmp.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 429ce81070a7..6c2dc21b1846 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 21f930e4abdcb9649f26e5b959c14dddee4e600b +refs/heads/master: 74bb421da7f39e70ab636ad46ef85ea1178786c5 diff --git a/trunk/net/ipv4/netfilter/ip_nat_proto_icmp.c b/trunk/net/ipv4/netfilter/ip_nat_proto_icmp.c index a558cf0eee8a..6596c9ee1655 100644 --- a/trunk/net/ipv4/netfilter/ip_nat_proto_icmp.c +++ b/trunk/net/ipv4/netfilter/ip_nat_proto_icmp.c @@ -35,16 +35,17 @@ icmp_unique_tuple(struct ip_conntrack_tuple *tuple, const struct ip_conntrack *conntrack) { static u_int16_t id; - unsigned int range_size - = (unsigned int)range->max.icmp.id - range->min.icmp.id + 1; + unsigned int range_size; unsigned int i; + range_size = ntohs(range->max.icmp.id) - ntohs(range->min.icmp.id) + 1; /* If no range specified... */ if (!(range->flags & IP_NAT_RANGE_PROTO_SPECIFIED)) range_size = 0xFFFF; for (i = 0; i < range_size; i++, id++) { - tuple->src.u.icmp.id = range->min.icmp.id + (id % range_size); + tuple->src.u.icmp.id = htons(ntohs(range->min.icmp.id) + + (id % range_size)); if (!ip_nat_used_tuple(tuple, conntrack)) return 1; }