From 25b2d74cebc9680dde4028f2f50aec396b29559e Mon Sep 17 00:00:00 2001 From: "/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org" Date: Sat, 3 Dec 2005 22:50:27 +0000 Subject: o Fixed bugs in UDP and SCTP protocol handlers (parse_proto) o Added the comparison infrastructure for layer-4 protocols o Added libnetfilter_conntrack_[tcp|udp|icmp|sctp].h that contains the protocol flags used by the comparison infrastructure o Added nfct_conntrack_compare to compare two conntracks based on flags o Killed nfct_event_netlink_handler o nfct_event_[conntrack|expect] requires ROOT privileges (reason: netlink multicast) o Bumped version to 0.29 --- .../libnetfilter_conntrack.h | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'include/libnetfilter_conntrack/libnetfilter_conntrack.h') diff --git a/include/libnetfilter_conntrack/libnetfilter_conntrack.h b/include/libnetfilter_conntrack/libnetfilter_conntrack.h index 9fbb969..a93e246 100644 --- a/include/libnetfilter_conntrack/libnetfilter_conntrack.h +++ b/include/libnetfilter_conntrack/libnetfilter_conntrack.h @@ -108,6 +108,11 @@ struct nfct_expect { u_int32_t id; }; +struct nfct_conntrack_compare { + struct nfct_conntrack *ct; + unsigned int flag; + unsigned int protoflag; +}; enum { NFCT_STATUS_BIT = 0, @@ -234,10 +239,12 @@ extern void nfct_unregister_callback(struct nfct_handle *cth); /* * callback displayers */ -extern int nfct_default_conntrack_display(void *arg, unsigned int, int, void *); -extern int nfct_default_conntrack_display_id(void *arg, unsigned int, int, void *); -extern int nfct_default_expect_display(void *arg, unsigned int, int, void *); -extern int nfct_default_expect_display_id(void *arg, unsigned int, int, void *); +extern int nfct_default_conntrack_display(void *, unsigned int, int, void *); +extern int nfct_default_conntrack_display_id(void *, unsigned int, int, void *); +extern int nfct_default_expect_display(void *, unsigned int, int, void *); +extern int nfct_default_expect_display_id(void *, unsigned int, int, void *); +extern int nfct_default_conntrack_event_display(void *, unsigned int, int, + void *); /* * [Create|update|get|destroy] conntracks @@ -282,6 +289,14 @@ extern int nfct_sprintf_mark(char *buf, struct nfct_conntrack *ct); extern int nfct_sprintf_use(char *buf, struct nfct_conntrack *ct); extern int nfct_sprintf_id(char *buf, u_int32_t id); +/* + * Conntrack comparison + */ +extern int nfct_conntrack_compare(struct nfct_conntrack *ct1, + struct nfct_conntrack *ct2, + unsigned int cmp_flag, + unsigned int cmp_protoflag); + /* * Expectations */ -- cgit v1.2.3