summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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
commit8264f7e91bb196c100e6e13249ce770dab8e9e43 (patch)
tree6a34817fd0f3b6c8df294c7d297f98709ffafd31
parente7bcbbc16fa1db3704d897905b720932fdddc8ec (diff)
add layer 4 protocol comparison to nfct_compare()svn_t_libnetfilter_conntrack-0.0.81
-rw-r--r--src/conntrack/compare.c12
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 !=