ulogd: fix build for Linux >=3.17

This commit is contained in:
Dominik Honnef 2015-04-02 23:00:33 +02:00
parent fa6965aae5
commit aafe209b62
2 changed files with 107 additions and 2 deletions

View file

@ -0,0 +1,100 @@
From 30e24dbfc7a8644e29664070e8c16e5c3997f87e Mon Sep 17 00:00:00 2001
From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: Fri, 7 Nov 2014 18:33:01 +0100
Subject: include: keep a copy of linux/netfilter_ipv4/ipt_ULOG.h
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>
diff --git a/configure.ac b/configure.ac
index 522c345..c5f573c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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 \
diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
index ca80d0d..18af1c2 100644
--- a/include/linux/Makefile.am
+++ b/include/linux/Makefile.am
@@ -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
index 0000000..41819a3
--- /dev/null
+++ b/include/linux/netfilter_ipv4/Makefile.am
@@ -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
index 0000000..417aad2
--- /dev/null
+++ b/include/linux/netfilter_ipv4/ipt_ULOG.h
@@ -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*/
--
cgit v0.10.2

View file

@ -1,13 +1,18 @@
# Template file for 'ulogd'
pkgname=ulogd
version=2.0.4
revision=1
revision=2
build_style=gnu-configure
maintainer="Dominik Honnef <dominik@honnef.co>"
hostmakedepends="pkg-config"
hostmakedepends="pkg-config automake"
makedepends="libnfnetlink-devel libmnl-devel libnetfilter_log-devel libnetfilter_conntrack-devel libnetfilter_acct-devel"
license="GPL-2"
homepage="http://www.netfilter.org/projects/ulogd/"
short_desc="A userspace logging daemon for netfilter/iptables related logging"
distfiles="http://www.netfilter.org/projects/${pkgname}/files/${pkgname}-${version}.tar.bz2"
checksum=56b30a13a8832e97178f39b7bb173a0b1dfe173dbb60d99a1a386c0962a2effd
patch_args="-p1"
pre_configure() {
autoreconf
}