]> git.ipfire.org Git - thirdparty/ulogd2.git/commitdiff
include: keep a copy of linux/netfilter_ipv4/ipt_ULOG.h
authorPablo Neira Ayuso <pablo@netfilter.org>
Fri, 7 Nov 2014 17:33:01 +0000 (18:33 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 14 Nov 2014 16:34:56 +0000 (17:34 +0100)
This fixes compilation if you use a Linux kernel >= 3.17. This problem
occurs since ULOG was removed from mainstream:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7200135bc1e61f1437dc326ae2ef2f310c50b4eb

Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=986
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
configure.ac
include/linux/Makefile.am
include/linux/netfilter_ipv4/Makefile.am [new file with mode: 0644]
include/linux/netfilter_ipv4/ipt_ULOG.h [new file with mode: 0644]

index 522c3456d5bb5f1391b6283a51d39e416cd674b2..c5f573c42b439b3cfd85dffcec1768d8e12594e1 100644 (file)
@@ -142,7 +142,7 @@ dnl AM_CONDITIONAL(HAVE_PGSQL, test x$pgsqldir != x)
 
 AC_CONFIG_FILES(include/Makefile include/ulogd/Makefile include/libipulog/Makefile \
          include/linux/Makefile include/linux/netfilter/Makefile \
-         libipulog/Makefile \
+         include/linux/netfilter_ipv4/Makefile libipulog/Makefile \
          input/Makefile input/packet/Makefile input/flow/Makefile \
          input/sum/Makefile \
          filter/Makefile filter/raw2packet/Makefile filter/packet2flow/Makefile \
index ca80d0d0b5d47d601f0d63054731c69112628878..18af1c2dd8eff85b00e242742e442a7b2554bb58 100644 (file)
@@ -1,2 +1,2 @@
-
-SUBDIRS = netfilter
+SUBDIRS = netfilter            \
+         netfilter_ipv4
diff --git a/include/linux/netfilter_ipv4/Makefile.am b/include/linux/netfilter_ipv4/Makefile.am
new file mode 100644 (file)
index 0000000..41819a3
--- /dev/null
@@ -0,0 +1 @@
+noinst_HEADERS = ipt_ULOG.h
diff --git a/include/linux/netfilter_ipv4/ipt_ULOG.h b/include/linux/netfilter_ipv4/ipt_ULOG.h
new file mode 100644 (file)
index 0000000..417aad2
--- /dev/null
@@ -0,0 +1,49 @@
+/* Header file for IP tables userspace logging, Version 1.8
+ *
+ * (C) 2000-2002 by Harald Welte <laforge@gnumonks.org>
+ * 
+ * Distributed under the terms of GNU GPL */
+
+#ifndef _IPT_ULOG_H
+#define _IPT_ULOG_H
+
+#ifndef NETLINK_NFLOG
+#define NETLINK_NFLOG  5
+#endif
+
+#define ULOG_DEFAULT_NLGROUP   1
+#define ULOG_DEFAULT_QTHRESHOLD        1
+
+#define ULOG_MAC_LEN   80
+#define ULOG_PREFIX_LEN        32
+
+#define ULOG_MAX_QLEN  50
+/* Why 50? Well... there is a limit imposed by the slab cache 131000
+ * bytes. So the multipart netlink-message has to be < 131000 bytes.
+ * Assuming a standard ethernet-mtu of 1500, we could define this up
+ * to 80... but even 50 seems to be big enough. */
+
+/* private data structure for each rule with a ULOG target */
+struct ipt_ulog_info {
+       unsigned int nl_group;
+       size_t copy_range;
+       size_t qthreshold;
+       char prefix[ULOG_PREFIX_LEN];
+};
+
+/* Format of the ULOG packets passed through netlink */
+typedef struct ulog_packet_msg {
+       unsigned long mark;
+       long timestamp_sec;
+       long timestamp_usec;
+       unsigned int hook;
+       char indev_name[IFNAMSIZ];
+       char outdev_name[IFNAMSIZ];
+       size_t data_len;
+       char prefix[ULOG_PREFIX_LEN];
+       unsigned char mac_len;
+       unsigned char mac[ULOG_MAC_LEN];
+       unsigned char payload[0];
+} ulog_packet_msg_t;
+
+#endif /*_IPT_ULOG_H*/