[netfilter-cvslog] r7461 - in trunk/libnetfilter_conntrack: include src/conntrack

pablo at netfilter.org pablo at netfilter.org
Sun Apr 13 03:06:30 CEST 2008


Author: pablo at netfilter.org
Date: 2008-04-13 03:06:29 +0200 (Sun, 13 Apr 2008)
New Revision: 7461

Modified:
   trunk/libnetfilter_conntrack/include/internal.h
   trunk/libnetfilter_conntrack/src/conntrack/objopt.c
Log:
fix missing bitset in the autocomplete code


Modified: trunk/libnetfilter_conntrack/include/internal.h
===================================================================
--- trunk/libnetfilter_conntrack/include/internal.h	2008-04-13 00:38:09 UTC (rev 7460)
+++ trunk/libnetfilter_conntrack/include/internal.h	2008-04-13 01:06:29 UTC (rev 7461)
@@ -223,4 +223,26 @@
 extern struct nfct_proto sctp;
 extern struct nfct_proto icmp;
 
+#define TS_ORIG								\
+({									\
+	((1 << ATTR_ORIG_IPV4_SRC) | (1 << ATTR_ORIG_IPV4_DST) |	\
+	 (1 << ATTR_ORIG_IPV6_SRC) | (1 << ATTR_ORIG_IPV6_DST) |	\
+	 (1 << ATTR_ORIG_PORT_SRC) | (1 << ATTR_ORIG_PORT_DST) | 	\
+	 (1 << ATTR_ORIG_L3PROTO)  | (1 << ATTR_ORIG_L4PROTO)  | 	\
+	 (1 << ATTR_ICMP_TYPE)	   | (1 << ATTR_ICMP_CODE)     | 	\
+	 (1 << ATTR_ICMP_ID));						\
+})
+
+#define TS_REPL								\
+({									\
+	((1 << ATTR_REPL_IPV4_SRC) | (1 << ATTR_REPL_IPV4_DST) | 	\
+	 (1 << ATTR_REPL_IPV6_SRC) | (1 << ATTR_REPL_IPV6_DST) | 	\
+	 (1 << ATTR_REPL_PORT_SRC) | (1 << ATTR_REPL_PORT_DST) | 	\
+	 (1 << ATTR_REPL_L3PROTO)  | (1 << ATTR_REPL_L4PROTO)  |	\
+	 (1 << ATTR_ICMP_TYPE)	   | (1 << ATTR_ICMP_CODE)     | 	\
+	 (1 << ATTR_ICMP_ID));						\
+})
+
+#define TUPLE_SET(dir) (dir == __DIR_ORIG ? TS_ORIG : TS_REPL)
+
 #endif

Modified: trunk/libnetfilter_conntrack/src/conntrack/objopt.c
===================================================================
--- trunk/libnetfilter_conntrack/src/conntrack/objopt.c	2008-04-13 00:38:09 UTC (rev 7460)
+++ trunk/libnetfilter_conntrack/src/conntrack/objopt.c	2008-04-13 01:06:29 UTC (rev 7461)
@@ -23,6 +23,9 @@
 
 	ct->tuple[dir].l4src.all = ct->tuple[other].l4dst.all;
 	ct->tuple[dir].l4dst.all = ct->tuple[other].l4src.all;
+
+	/* XXX: this is safe but better convert bitset to uint64_t */
+        ct->set[0] |= TS_ORIG | TS_REPL;
 }
 
 int __setobjopt(struct nf_conntrack *ct, unsigned int option)




More information about the netfilter-cvslog mailing list