diff options
author | Patrick McHardy <kaber@trash.net> | 2010-03-22 18:25:20 +0100 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2010-03-22 18:25:20 +0100 |
commit | ef1691504c83ba3eb636c0cfd3ed33f7a6d0b4ee (patch) | |
tree | 7eac65d59454eb5d4f8b1495f3977d6ac0113364 /net | |
parent | 220bf991b0366cc50a94feede3d7341fa5710ee4 (diff) | |
download | linux-3.10-ef1691504c83ba3eb636c0cfd3ed33f7a6d0b4ee.tar.gz linux-3.10-ef1691504c83ba3eb636c0cfd3ed33f7a6d0b4ee.tar.bz2 linux-3.10-ef1691504c83ba3eb636c0cfd3ed33f7a6d0b4ee.zip |
netfilter: xt_recent: fix regression in rules using a zero hit_count
Commit 8ccb92ad (netfilter: xt_recent: fix false match) fixed supposedly
false matches in rules using a zero hit_count. As it turns out there is
nothing false about these matches and people are actually using entries
with a hit_count of zero to make rules dependant on addresses inserted
manually through /proc.
Since this slipped past the eyes of three reviewers, instead of
reverting the commit in question, this patch explicitly checks
for a hit_count of zero to make the intentions more clear.
Reported-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
Tested-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
Cc: stable@kernel.org
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/xt_recent.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/xt_recent.c b/net/netfilter/xt_recent.c index 7073dbb8100..971d172afec 100644 --- a/net/netfilter/xt_recent.c +++ b/net/netfilter/xt_recent.c @@ -267,7 +267,7 @@ recent_mt(const struct sk_buff *skb, const struct xt_match_param *par) for (i = 0; i < e->nstamps; i++) { if (info->seconds && time_after(time, e->stamps[i])) continue; - if (info->hit_count && ++hits >= info->hit_count) { + if (!info->hit_count || ++hits >= info->hit_count) { ret = !ret; break; } |