diff --git a/app-admin/ulogd/Manifest b/app-admin/ulogd/Manifest index 8392508578e9f..d969037d459d6 100644 --- a/app-admin/ulogd/Manifest +++ b/app-admin/ulogd/Manifest @@ -1,2 +1 @@ -DIST ulogd-2.0.4.tar.bz2 452234 SHA256 56b30a13a8832e97178f39b7bb173a0b1dfe173dbb60d99a1a386c0962a2effd SHA512 08e88661fcfbcfd327b03b7a883dc239991f47d5a4e4561f3ada5f6acc8f2349f3bd38c1c67f28e42bbccf4cad63b2b7c3b732c23bf24b7c5f05320d27977773 WHIRLPOOL 94ee731cee8b95295d1c675bb3904be1a5b27a1e901d462f248116c865e79d52703b5330882110d7212bda1bb964fc0c97c3e704589071f47fab4475e1c91161 DIST ulogd-2.0.5.tar.bz2 456258 SHA256 a221cb9f77347c0ca00d0937e27c1b90e3291a553cc62a4139b788e2e420e8c0 SHA512 bf00b8adaad7bd04077a83521b0d7accc26e644c8f3386819e7f91476178b6733f1c6554fb82dd0d3913398c83a61d65f61dc973f199f610bfaadc6251504819 WHIRLPOOL fe499ac7b4070581439a05f4f2245f7a42fe5630da5dc32b9b069511ed1faa15fe482eee08d50477d3fb1d0bf0d3855a69fc82fb0f3e8eecdf082fb642519f91 diff --git a/app-admin/ulogd/files/ulogd-2.0.4-linux-headers-3.17-ipt_ulog.patch b/app-admin/ulogd/files/ulogd-2.0.4-linux-headers-3.17-ipt_ulog.patch deleted file mode 100644 index f8c10622e229b..0000000000000 --- a/app-admin/ulogd/files/ulogd-2.0.4-linux-headers-3.17-ipt_ulog.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 30e24dbfc7a8644e29664070e8c16e5c3997f87e Mon Sep 17 00:00:00 2001 -From: Pablo Neira Ayuso -Date: Fri, 7 Nov 2014 18:33:01 +0100 -Subject: [PATCH] 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 - -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 -+ * -+ * 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*/ --- -2.0.4 - diff --git a/app-admin/ulogd/files/ulogd.init b/app-admin/ulogd/files/ulogd.init-r2 similarity index 84% rename from app-admin/ulogd/files/ulogd.init rename to app-admin/ulogd/files/ulogd.init-r2 index ace6e8b51c91f..c994507f99358 100644 --- a/app-admin/ulogd/files/ulogd.init +++ b/app-admin/ulogd/files/ulogd.init-r2 @@ -7,17 +7,18 @@ extra_started_commands="reload reopen" : ${ULOGD_BINARY:=/usr/sbin/ulogd} : ${ULOGD_PIDFILE:=/run/${SVCNAME}.pid} +: ${ULOGD_WAIT:=200} : ${ULOGD_OPTS:=--daemon --uid ulogd --pidfile ${ULOGD_PIDFILE}} depend() { - before iptables ip6tables ebtables firewall + before iptables ip6tables ebtables nftables firewall after mysql postgresql } start() { ebegin "Starting ${SVCNAME}" start-stop-daemon --start \ - --exec ${ULOGD_BINARY} --pidfile ${ULOGD_PIDFILE} \ + --exec ${ULOGD_BINARY} --pidfile ${ULOGD_PIDFILE} --wait ${ULOGD_WAIT} \ -- ${ULOGD_OPTS} eend $? } diff --git a/app-admin/ulogd/files/ulogd.service b/app-admin/ulogd/files/ulogd.service deleted file mode 100644 index ec22db0ad663a..0000000000000 --- a/app-admin/ulogd/files/ulogd.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=A userspace logging daemon for netfilter/iptables related logging -Before=iptables.service ip6tables.service -After=mysql.service postgresql.service - -[Service] -Type=forking -PIDFile=/run/ulogd.pid -ExecStart=/usr/sbin/ulogd --daemon --uid ulogd --pidfile /run/ulogd.pid -ExecReload=/bin/kill -USR1 $MAINPID - -[Install] -WantedBy=network.target diff --git a/app-admin/ulogd/ulogd-2.0.4-r1.ebuild b/app-admin/ulogd/ulogd-2.0.5-r3.ebuild similarity index 77% rename from app-admin/ulogd/ulogd-2.0.4-r1.ebuild rename to app-admin/ulogd/ulogd-2.0.5-r3.ebuild index a49fa02352142..71cf91e2eaabe 100644 --- a/app-admin/ulogd/ulogd-2.0.4-r1.ebuild +++ b/app-admin/ulogd/ulogd-2.0.5-r3.ebuild @@ -2,11 +2,12 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI="5" +EAPI=5 AUTOTOOLS_AUTORECONF=1 AUTOTOOLS_IN_SOURCE_BUILD=1 -inherit autotools-utils eutils linux-info readme.gentoo systemd user + +inherit autotools-utils eutils flag-o-matic linux-info readme.gentoo systemd user DESCRIPTION="A userspace logging daemon for netfilter/iptables related logging" HOMEPAGE="http://netfilter.org/projects/ulogd/index.html" @@ -15,10 +16,11 @@ SRC_URI="ftp://ftp.netfilter.org/pub/${PN}/${P}.tar.bz2 LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 ~ia64 ppc x86" -IUSE="dbi doc json mysql nfacct +nfct +nflog pcap postgres sqlite" +KEYWORDS="~amd64 ~ia64 ~ppc ~x86" +IUSE="dbi doc json mysql nfacct +nfct +nflog pcap postgres sqlite -ulog" -RDEPEND="net-firewall/iptables +RDEPEND=" + || ( net-firewall/iptables net-firewall/nftables ) >=net-libs/libnfnetlink-1.0.1 dbi? ( dev-db/libdbi ) json? ( dev-libs/jansson ) @@ -31,20 +33,23 @@ RDEPEND="net-firewall/iptables mysql? ( virtual/mysql ) pcap? ( net-libs/libpcap ) postgres? ( dev-db/postgresql:= ) - sqlite? ( dev-db/sqlite:3 )" - + sqlite? ( dev-db/sqlite:3 ) +" DEPEND="${RDEPEND} doc? ( app-text/linuxdoc-tools app-text/texlive-core virtual/latex-base - )" + ) +" -PATCHES=( "${FILESDIR}/${P}-linux-headers-3.17-ipt_ulog.patch" ) +PATCHES=( "${FILESDIR}/${P}-remove-db-automagic.patch" ) DOCS=( AUTHORS README TODO ) -DOC_CONTENTS="You must have at least one logging stack enabled to make ulogd work. -Please edit example configuration located at /etc/ulogd.conf" +DOC_CONTENTS=" + You must have at least one logging stack enabled to make ulogd work. + Please edit example configuration located at /etc/ulogd.conf +" pkg_setup() { enewgroup ulogd @@ -53,21 +58,19 @@ pkg_setup() { linux-info_pkg_setup if kernel_is lt 2 6 14; then - die "ulogd2 requires kernel newer than 2.6.14" + die "ulogd requires kernel newer than 2.6.14" fi if kernel_is lt 2 6 18; then - ewarn ewarn "You are using kernel older than 2.6.18" - ewarn "Some ulogd2 features may be unavailable" - ewarn + ewarn "Some ulogd features may be unavailable" fi if use nfacct && kernel_is lt 3 3 0; then ewarn "NFACCT input plugin requires kernel newer than 3.3.0" fi - if ! use nfacct && ! use nfct && ! use nflog && kernel_is gt 3 17 0; then + if use ulog && kernel_is gt 3 17 0; then ewarn "ULOG target was removed since 3.17.0 kernel release" ewarn "Consider enabling NFACCT, NFCT or NFLOG support" fi @@ -81,6 +84,7 @@ src_prepare() { -e 's:tmp:run:g' \ ulogd.conf.in || die 'sed on ulogd.conf.in failed' + append-lfs-flags autotools-utils_src_prepare } @@ -95,6 +99,7 @@ src_configure() { $(use_with pcap) $(use_with postgres pgsql) $(use_with sqlite) + $(use_enable ulog) ) autotools-utils_src_configure } @@ -103,7 +108,7 @@ src_compile() { autotools-utils_src_compile if use doc; then - # prevent access violations from generation of bitmap font files + # Prevent access violations from bitmap font files generation export VARTEXFONTS="${T}"/fonts emake -C doc fi @@ -129,8 +134,8 @@ src_install() { fowners root:ulogd /etc/ulogd.conf fperms 640 /etc/ulogd.conf - newinitd "${FILESDIR}/${PN}.init" ${PN} - systemd_dounit "${FILESDIR}/${PN}.service" + newinitd "${FILESDIR}/${PN}.init-r2" ${PN} + systemd_newunit "${FILESDIR}/${PN}.service-r1" ${PN}.service insinto /etc/logrotate.d newins "${FILESDIR}/${PN}.logrotate" ${PN}