[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