diff options
author | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2007-07-18 20:00:40 +0000 |
---|---|---|
committer | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2007-07-18 20:00:40 +0000 |
commit | 8264f7e91bb196c100e6e13249ce770dab8e9e43 (patch) | |
tree | 6a34817fd0f3b6c8df294c7d297f98709ffafd31 /src/conntrack/compare.c | |
parent | e7bcbbc16fa1db3704d897905b720932fdddc8ec (diff) |
add layer 4 protocol comparison to nfct_compare()svn_t_libnetfilter_conntrack-0.0.81
Diffstat (limited to 'src/conntrack/compare.c')
-rw-r--r-- | src/conntrack/compare.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/conntrack/compare.c b/src/conntrack/compare.c index 0792a8a..a5c66e2 100644 --- a/src/conntrack/compare.c +++ b/src/conntrack/compare.c @@ -46,6 +46,18 @@ int __compare(const struct nf_conntrack *ct1, ct2->tuple[__DIR_REPL].l3protonum) return 0; + if (test_bit(ATTR_ORIG_L4PROTO, ct1->set) && + test_bit(ATTR_ORIG_L4PROTO, ct2->set) && + ct1->tuple[__DIR_ORIG].protonum != + ct2->tuple[__DIR_ORIG].protonum) + return 0; + + if (test_bit(ATTR_REPL_L4PROTO, ct1->set) && + test_bit(ATTR_REPL_L4PROTO, ct2->set) && + ct1->tuple[__DIR_REPL].protonum != + ct2->tuple[__DIR_REPL].protonum) + return 0; + if (test_bit(ATTR_ORIG_IPV4_SRC, ct1->set) && test_bit(ATTR_ORIG_IPV4_SRC, ct2->set) && ct1->tuple[__DIR_ORIG].src.v4 != |