linux/net/netfilter
Pablo Neira Ayuso 3db7e93d33 netfilter: ecache: always set events bits, filter them later
For the following rule:

iptables -I PREROUTING -t raw -j CT --ctevents assured

The event delivered looks like the following:

 [UPDATE] tcp      6 src=192.168.0.2 dst=192.168.1.2 sport=37041 dport=80 src=192.168.1.2 dst=192.168.1.100 sport=80 dport=37041 [ASSURED]

Note that the TCP protocol state is not included. For that reason
the CT event filtering is not very useful for conntrackd.

To resolve this issue, instead of conditionally setting the CT events
bits based on the ctmask, we always set them and perform the filtering
in the late stage, just before the delivery.

Thus, the event delivered looks like the following:

 [UPDATE] tcp      6 432000 ESTABLISHED src=192.168.0.2 dst=192.168.1.2 sport=37041 dport=80 src=192.168.1.2 dst=192.168.1.100 sport=80 dport=37041 [ASSURED]

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
2011-02-01 16:06:30 +01:00
..
ipvs Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-01-07 16:58:04 -08:00
Kconfig netfilter: fix module dependency issues with IPv6 defragmentation, ip6tables and xt_TPROXY 2010-10-25 13:58:36 -07:00
Makefile netfilter: add xt_cpu match 2010-07-23 12:59:36 +02:00
core.c netfilter: allow hooks to pass error code back up the stack 2010-11-17 10:54:34 -08:00
nf_conntrack_acct.c netfilter: complete the deprecation of CONFIG_NF_CT_ACCT 2010-06-25 14:46:56 +02:00
nf_conntrack_amanda.c
nf_conntrack_core.c netfilter: fix the race when initializing nf_ct_expect_hash_rnd 2011-01-06 11:22:20 -08:00
nf_conntrack_ecache.c netfilter: ecache: always set events bits, filter them later 2011-02-01 16:06:30 +01:00
nf_conntrack_expect.c netfilter: fix the race when initializing nf_ct_expect_hash_rnd 2011-01-06 11:22:20 -08:00
nf_conntrack_extend.c Merge commit 'v2.6.36-rc7' into core/rcu 2010-10-07 09:43:45 +02:00
nf_conntrack_ftp.c
nf_conntrack_h323_asn1.c
nf_conntrack_h323_main.c
nf_conntrack_h323_types.c
nf_conntrack_helper.c
nf_conntrack_irc.c
nf_conntrack_l3proto_generic.c
nf_conntrack_netbios_ns.c
nf_conntrack_netlink.c netfilter: ctnetlink: fix missing refcount increment during dumps 2011-01-24 19:01:07 +01:00
nf_conntrack_pptp.c
nf_conntrack_proto.c netfilter: fix nf_conntrack_l4proto_register() 2010-10-29 19:59:40 +02:00
nf_conntrack_proto_dccp.c
nf_conntrack_proto_generic.c
nf_conntrack_proto_gre.c
nf_conntrack_proto_sctp.c
nf_conntrack_proto_tcp.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
nf_conntrack_proto_udp.c
nf_conntrack_proto_udplite.c
nf_conntrack_sane.c
nf_conntrack_sip.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2010-10-21 08:21:34 -07:00
nf_conntrack_standalone.c netfilter: fix export secctx error handling 2011-01-06 11:25:00 -08:00
nf_conntrack_tftp.c
nf_internals.h
nf_log.c net/netfilter: __rcu annotations 2010-08-19 17:18:01 -07:00
nf_queue.c net/netfilter: __rcu annotations 2010-08-19 17:18:01 -07:00
nf_sockopt.c
nf_tproxy_core.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2010-10-21 08:21:34 -07:00
nfnetlink.c
nfnetlink_log.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2010-06-15 13:49:24 -07:00
nfnetlink_queue.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2010-06-15 13:49:24 -07:00
x_tables.c netfilter: x_tables: dont block BH while reading counters 2011-01-10 20:11:38 +01:00
xt_CHECKSUM.c netfilter: add CHECKSUM target 2010-07-15 17:20:46 +02:00
xt_CLASSIFY.c
xt_CONNSECMARK.c
xt_CT.c secmark: make secmark object handling generic 2010-10-21 10:12:48 +11:00
xt_DSCP.c
xt_HL.c
xt_IDLETIMER.c netfilter: xt_IDLETIMER needs kdev_t.h 2010-06-22 08:13:31 +02:00
xt_LED.c
xt_NFLOG.c
xt_NFQUEUE.c
xt_NOTRACK.c
xt_RATEEST.c
xt_SECMARK.c secmark: make secmark object handling generic 2010-10-21 10:12:48 +11:00
xt_TCPMSS.c tcp: unify tcp flag macros 2010-06-15 11:56:19 -07:00
xt_TCPOPTSTRIP.c
xt_TEE.c net: use the macros defined for the members of flowi 2010-11-17 12:27:45 -08:00
xt_TPROXY.c netfilter: fix module dependency issues with IPv6 defragmentation, ip6tables and xt_TPROXY 2010-10-25 13:58:36 -07:00
xt_TRACE.c
xt_cluster.c
xt_comment.c
xt_connbytes.c netfilter: xt_connbytes: Force CT accounting to be enabled 2010-06-25 14:44:07 +02:00
xt_connlimit.c
xt_connmark.c
xt_conntrack.c
xt_cpu.c netfilter: add xt_cpu match 2010-07-23 12:59:36 +02:00
xt_dccp.c
xt_dscp.c
xt_esp.c
xt_hashlimit.c netfilter: xt_hashlimit: use proto_ports_offset() to support AH message 2010-08-19 17:16:25 -07:00
xt_helper.c
xt_hl.c
xt_iprange.c netfilter: xt_iprange: Incorrect xt_iprange boundary check for IPv6 2011-01-24 21:35:36 +01:00
xt_ipvs.c netfilter: remove duplicated include 2010-10-04 21:00:42 +02:00
xt_length.c
xt_limit.c
xt_mac.c
xt_mark.c
xt_multiport.c
xt_osf.c
xt_owner.c
xt_physdev.c
xt_pkttype.c
xt_policy.c
xt_quota.c xt_quota: report initial quota value instead of current value to userspace 2010-07-23 14:07:47 +02:00
xt_rateest.c
xt_realm.c
xt_recent.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
xt_repldata.h
xt_sctp.c
xt_socket.c netfilter: xt_socket: Make tproto signed in socket_mt6_v1(). 2010-10-28 12:59:53 -07:00
xt_state.c
xt_statistic.c
xt_string.c
xt_tcpmss.c
xt_tcpudp.c
xt_time.c
xt_u32.c