diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-10-01 22:10:38 +0200 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-10-01 22:10:38 +0200 |
commit | c463a1188b9aaec1e09dfe80779173c0a015d70c (patch) | |
tree | 2116c73c7cf25763f5318a1a6b434cf5dedfe9de /kernel | |
parent | 0af0e2af9e425aeab35bd4111d1f9ced47c65279 (diff) |
New version 4.4 released:v4.4
kernel:
- The ipporthash, ipportiphash and ipportnethash set types did not
work with mixed "src" and "dst" destination parameters of the
"set" and "SET" iptables match and target (reported by Dash Four)
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/ChangeLog | 3 | ||||
-rw-r--r-- | kernel/ip_set_ipporthash.c | 2 | ||||
-rw-r--r-- | kernel/ip_set_ipportiphash.c | 4 | ||||
-rw-r--r-- | kernel/ip_set_ipportnethash.c | 4 |
4 files changed, 8 insertions, 5 deletions
diff --git a/kernel/ChangeLog b/kernel/ChangeLog index d7b7f86..bb1aa28 100644 --- a/kernel/ChangeLog +++ b/kernel/ChangeLog @@ -1,4 +1,7 @@ 4.4 + - The ipporthash, ipportiphash and ipportnethash set types did not + work with mixed "src" and "dst" destination parameters of the + "set" and "SET" iptables match and target (reported by Dash Four) - Errorneous semaphore handling in error path fixed (reported by Jan Engelhardt, bugzilla id 668) diff --git a/kernel/ip_set_ipporthash.c b/kernel/ip_set_ipporthash.c index 36e68b0..4a79c8b 100644 --- a/kernel/ip_set_ipporthash.c +++ b/kernel/ip_set_ipporthash.c @@ -68,7 +68,7 @@ ipporthash_test(struct ip_set *set, ip_set_ip_t ip, ip_set_ip_t port) if (flags[1] == 0) \ return 0; \ \ - port = get_port(skb, flags++); \ + port = get_port(skb, ++flags); \ \ if (port == INVALID_PORT) \ return 0; diff --git a/kernel/ip_set_ipportiphash.c b/kernel/ip_set_ipportiphash.c index 8b8f2a2..c80087f 100644 --- a/kernel/ip_set_ipportiphash.c +++ b/kernel/ip_set_ipportiphash.c @@ -72,8 +72,8 @@ ipportiphash_test(struct ip_set *set, if (flags[2] == 0) \ return 0; \ \ - port = get_port(skb, flags++); \ - ip1 = ipaddr(skb, flags++); \ + port = get_port(skb, ++flags); \ + ip1 = ipaddr(skb, ++flags); \ \ if (port == INVALID_PORT) \ return 0; diff --git a/kernel/ip_set_ipportnethash.c b/kernel/ip_set_ipportnethash.c index e0bb352..2680cd9 100644 --- a/kernel/ip_set_ipportnethash.c +++ b/kernel/ip_set_ipportnethash.c @@ -116,8 +116,8 @@ ipportnethash_utest(struct ip_set *set, const void *data, u_int32_t size) if (flags[2] == 0) \ return 0; \ \ - port = get_port(skb, flags++); \ - ip1 = ipaddr(skb, flags++); \ + port = get_port(skb, ++flags); \ + ip1 = ipaddr(skb, ++flags); \ \ if (port == INVALID_PORT) \ return 0; |