From 7533cca286edee99db29eb1238653a2040738d3e Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 14 Apr 2009 10:35:27 +0200 Subject: src: add initial DCCP support This patch adds initial DCCP support for libnetfilter_conntrack. Signed-off-by: Pablo Neira Ayuso --- include/internal/object.h | 10 ++++++- include/libnetfilter_conntrack/Makefile.am | 2 +- .../libnetfilter_conntrack.h | 1 + .../libnetfilter_conntrack_dccp.h | 33 ++++++++++++++++++++++ 4 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 include/libnetfilter_conntrack/libnetfilter_conntrack_dccp.h (limited to 'include') diff --git a/include/internal/object.h b/include/internal/object.h index f76bf98..1db6b36 100644 --- a/include/internal/object.h +++ b/include/internal/object.h @@ -53,6 +53,9 @@ union __nfct_l4_src { struct { u_int16_t port; } sctp; + struct { + u_int16_t port; + } dccp; }; union __nfct_l4_dst { @@ -70,6 +73,9 @@ union __nfct_l4_dst { struct { u_int16_t port; } sctp; + struct { + u_int16_t port; + } dccp; }; union __nfct_address { @@ -110,7 +116,9 @@ union __nfct_protoinfo { u_int8_t state; u_int32_t vtag[__DIR_MAX]; } sctp; - + struct { + u_int8_t state; + } dccp; }; struct __nfct_counters { diff --git a/include/libnetfilter_conntrack/Makefile.am b/include/libnetfilter_conntrack/Makefile.am index c5f762f..fd36bfb 100644 --- a/include/libnetfilter_conntrack/Makefile.am +++ b/include/libnetfilter_conntrack/Makefile.am @@ -1,2 +1,2 @@ -pkginclude_HEADERS = libnetfilter_conntrack.h linux_nfnetlink_conntrack.h libnetfilter_conntrack_tcp.h libnetfilter_conntrack_udp.h libnetfilter_conntrack_icmp.h libnetfilter_conntrack_sctp.h libnetfilter_conntrack_ipv4.h libnetfilter_conntrack_ipv6.h +pkginclude_HEADERS = libnetfilter_conntrack.h linux_nfnetlink_conntrack.h libnetfilter_conntrack_tcp.h libnetfilter_conntrack_udp.h libnetfilter_conntrack_icmp.h libnetfilter_conntrack_sctp.h libnetfilter_conntrack_dccp.h libnetfilter_conntrack_ipv4.h libnetfilter_conntrack_ipv6.h diff --git a/include/libnetfilter_conntrack/libnetfilter_conntrack.h b/include/libnetfilter_conntrack/libnetfilter_conntrack.h index f2b6dbb..3d25c6b 100644 --- a/include/libnetfilter_conntrack/libnetfilter_conntrack.h +++ b/include/libnetfilter_conntrack/libnetfilter_conntrack.h @@ -121,6 +121,7 @@ enum nf_conntrack_attr { ATTR_SCTP_VTAG_ORIG, /* u32 bits */ ATTR_SCTP_VTAG_REPL, /* u32 bits */ ATTR_HELPER_NAME, /* string (30 bytes max) */ + ATTR_DCCP_STATE = 56, /* u8 bits */ ATTR_MAX }; diff --git a/include/libnetfilter_conntrack/libnetfilter_conntrack_dccp.h b/include/libnetfilter_conntrack/libnetfilter_conntrack_dccp.h new file mode 100644 index 0000000..46138de --- /dev/null +++ b/include/libnetfilter_conntrack/libnetfilter_conntrack_dccp.h @@ -0,0 +1,33 @@ +/* + * (C) 2009 by Pablo Neira Ayuso + * + * This software may be used and distributed according to the terms + * of the GNU General Public License, incorporated herein by reference. + */ + +#ifndef _LIBNETFILTER_CONNTRACK_DCCP_H_ +#define _LIBNETFILTER_CONNTRACK_DCCP_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +enum dccp_state { + DCCP_CONNTRACK_NONE, + DCCP_CONNTRACK_REQUEST, + DCCP_CONNTRACK_RESPOND, + DCCP_CONNTRACK_PARTOPEN, + DCCP_CONNTRACK_OPEN, + DCCP_CONNTRACK_CLOSEREQ, + DCCP_CONNTRACK_CLOSING, + DCCP_CONNTRACK_TIMEWAIT, + DCCP_CONNTRACK_IGNORE, + DCCP_CONNTRACK_INVALID, + DCCP_CONNTRACK_MAX +}; + +#ifdef __cplusplus +} +#endif + +#endif -- cgit v1.2.3