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-06-04 13:57:36 +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-06-04 13:57:36 +0000 |
commit | 7cb0af04381383ca6aa0853130076c59ce5ef764 (patch) | |
tree | 5580669811b112f7f80deefa664a47c1267e5f60 /src | |
parent | 5f47ff72a4928bb989ca6347ce957dc03c0b929e (diff) |
fix silly bug in nfct_getobjopt(..., NFCT_GOPT_IS_*NAT), always return 1 if status flags are set
Diffstat (limited to 'src')
-rw-r--r-- | src/conntrack/objopt.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/conntrack/objopt.c b/src/conntrack/objopt.c index ff73a71..e525b2e 100644 --- a/src/conntrack/objopt.c +++ b/src/conntrack/objopt.c @@ -46,26 +46,26 @@ int __getobjopt(const struct nf_conntrack *ct, unsigned int option) switch(option) { case NFCT_GOPT_IS_SNAT: - ret = (test_bit(ATTR_STATUS, ct->set) ? - ct->status & IPS_SRC_NAT_DONE : 1 && + ret = ((test_bit(ATTR_STATUS, ct->set) ? + ct->status & IPS_SRC_NAT_DONE : 1) && ct->tuple[__DIR_REPL].dst.v4 != ct->tuple[__DIR_ORIG].src.v4); break; case NFCT_GOPT_IS_DNAT: - ret = (test_bit(ATTR_STATUS, ct->set) ? - ct->status & IPS_DST_NAT_DONE : 1 && + ret = ((test_bit(ATTR_STATUS, ct->set) ? + ct->status & IPS_DST_NAT_DONE : 1) && ct->tuple[__DIR_REPL].src.v4 != ct->tuple[__DIR_ORIG].dst.v4); break; case NFCT_GOPT_IS_SPAT: - ret = (test_bit(ATTR_STATUS, ct->set) ? - ct->status & IPS_SRC_NAT_DONE : 1 && + ret = ((test_bit(ATTR_STATUS, ct->set) ? + ct->status & IPS_SRC_NAT_DONE : 1) && ct->tuple[__DIR_REPL].l4dst.tcp.port != ct->tuple[__DIR_ORIG].l4src.tcp.port); break; case NFCT_GOPT_IS_DPAT: - ret = (test_bit(ATTR_STATUS, ct->set) ? - ct->status & IPS_DST_NAT_DONE : 1 && + ret = ((test_bit(ATTR_STATUS, ct->set) ? + ct->status & IPS_DST_NAT_DONE : 1) && ct->tuple[__DIR_REPL].l4src.tcp.port != ct->tuple[__DIR_ORIG].l4dst.tcp.port); break; |