From: Patrick McHardy <kaber@trash.net>
To: Peter Riley <Peter.Riley@hotpop.com>
Cc: netfilter-devel@lists.netfilter.org
Subject: Re: [PATCH] Last vestiges of NFC
Date: Fri, 31 Aug 2007 11:38:42 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.64.0708311137250.8423@x2> (raw)
In-Reply-To: <46D6DEAF.9010009@hotpop.com>
On Thu, 30 Aug 2007, Peter Riley wrote:
> Patrick McHardy wrote:
>>
>> I count 132 occurences of nfcache (a few are in headers that must stay
>> though). I'll happily apply a patch that kills them all.
>>
>
> Patrick, yes I get 134 occurrences on 132 lines in current svn.
> The breakdown appears to me to be:
>
> 51 init() function declarations in match and target extensions
>
> 52 parse() function declarations in match extensions only
> (not counting connlimit and multiport which are more complicated than
> one declaration per file)
>
> 2 parse related function declarations in connlimit
> 4 parse related function declarations in multiport
>
> 5+5 calls in iptables.c & ip6tables.c to ->init() or ->parse() members above
>
> 3 occurrences in xtables.h that prototype the above:
>
> struct xtables_match
> {...
> void (*init)(struct xt_entry_match *m, unsigned int *nfcache);
>
> int (*parse)(int c, char **argv, int invert, unsigned int *flags,
> const void *entry, unsigned int *nfcache, struct xt_entry_match **match);
>
> struct xtables_target
> {...
> void (*init)(struct xt_entry_target *t, unsigned int *nfcache);
>
> 3+3 occurrences in dump_entry() in libip4tc.c and libip4tc.c for debugging:
>
> printf("Cache: %08X ", e->nfcache);
> if (e->nfcache & NFC_ALTERED) printf("ALTERED ");
> if (e->nfcache & NFC_UNKNOWN) printf("UNKNOWN ");
>
> It seems that there is good reason for printing out nfcache contents as long as
> those bits are still present in structs ipt_entry/ip6t_entry defined in headers
> on the kernel side. After all, this is how I tracked down the problem I am
> reporting to begin with!
>
>
> What all this leaves remaining are the occurrences I mentioned in previous message
> whose removal doesn't break anything:
>
>
> 1+1 in libipt_policy.c and libip6t_policy.c init() functions where NFC bits are
> still being set:
>
> *nfcache |= NFC_UNKNOWN;
>
> These (among similar others that have already been removed) crept in
> subsequent to Pablo Neira's NFC-killer patches that I mentioned in original
> post.
>
> 2+2 occurrences in the libip4tc.c and libip4tc.c is_same() comparisons:
>
> if (a->nfcache != b->nfcache
> ...) return NULL;
>
> These are the occurrences causing problems. As mentioned, this prevents
> iptables from being able to delete-by-match any rules created by old
> userspace tools that still set nfcache bits in entries -- the entries are
> not considered "same" because (only) the nfcache bits differ (modulo the
> match mask of course).
>
> -----
> =134 Total
>
>
> Please let me know if I can do anything more regarding this.
Basically all of them can go except those in include/linux/*.h files.
prev parent reply other threads:[~2007-08-31 9:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-25 17:21 [PATCH] Last vestiges of NFC Peter Riley
2007-08-25 18:07 ` Peter Riley
2007-08-29 16:58 ` Patrick McHardy
2007-08-30 15:13 ` Peter Riley
2007-08-30 18:40 ` Jan Engelhardt
2007-08-31 14:25 ` Peter Riley
2007-08-31 16:19 ` Patrick McHardy
2007-09-01 19:31 ` Peter Riley
2007-09-01 19:57 ` Peter Riley
2007-09-02 12:01 ` Patrick McHardy
2007-09-02 11:59 ` Patrick McHardy
2007-08-31 9:38 ` Patrick McHardy [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0708311137250.8423@x2 \
--to=kaber@trash.net \
--cc=Peter.Riley@hotpop.com \
--cc=netfilter-devel@lists.netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).