netfilter: xt_conntrack: fix inverted conntrack direction test
authorFlorian Westphal <fw@strlen.de>
Mon, 4 Apr 2011 15:06:21 +0000 (17:06 +0200)
committerPatrick McHardy <kaber@trash.net>
Mon, 4 Apr 2011 15:06:21 +0000 (17:06 +0200)
commit96120d86fe302c006259baee9061eea9e1b9e486
tree2fa6e56f389431dfb84609d3d7572cad76e88e71
parentb7225041e93f81e7e38fcdf27fc82044e7695efd
netfilter: xt_conntrack: fix inverted conntrack direction test

--ctdir ORIGINAL matches REPLY packets, and vv:

userspace sets "invert_flags &= ~XT_CONNTRACK_DIRECTION" in ORIGINAL
case.

Thus: (CTINFO2DIR(ctinfo) == IP_CT_DIR_ORIGINAL) ^
      !!(info->invert_flags & XT_CONNTRACK_DIRECTION))

yields "1 ^ 0", which is true -> returns false.

Reproducer:
iptables -I OUTPUT 1 -p tcp --syn -m conntrack --ctdir ORIGINAL

Signed-off-by: Florian Westphal <fwestphal@astaro.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
net/netfilter/xt_conntrack.c