diff options
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 5 | ||||
-rw-r--r-- | kernel-4.15.patch | 65 | ||||
-rw-r--r-- | xtables-addons-dkms.install | 37 |
4 files changed, 72 insertions, 39 deletions
@@ -1,7 +1,7 @@ pkgbase = xtables-addons-dkms pkgdesc = Successor to patch-o-matic(-ng). Contains extensions that were not accepted in the main Xtables. DKMS flavor for kernels >= 3.7. pkgver = 2.14 - pkgrel = 1 + pkgrel = 2 url = http://xtables-addons.sourceforge.net/ arch = i686 arch = x86_64 @@ -16,8 +16,10 @@ pkgbase = xtables-addons-dkms replaces = xtables-addons-git replaces = xtables-addons-multikernel source = dkms.conf + source = kernel-4.15.patch source = https://sourceforge.net/projects/xtables-addons/files/Xtables-addons/xtables-addons-2.14.tar.xz sha256sums = c8989ec1ab0c3aaebf557fd19bc0391173a77fb5e7f8b3afc63d3f6593b3b5af + sha256sums = 3cc007d8faa0025e0c2d748b3eb516ad31acbb6781e88efb0b6a7bf0b280db71 sha256sums = d215a9a8b8e66aae04b982fa2e1228e8a71e7dfe42320df99e34e5000cbdf152 pkgname = xtables-addons-dkms @@ -4,7 +4,7 @@ # Contributor: Vladimir Kutyavin <vlkut(AT)bk(DOT)ru> pkgname=xtables-addons-dkms pkgver=2.14 -pkgrel=1 +pkgrel=2 pkgdesc="Successor to patch-o-matic(-ng). Contains extensions that were not accepted in the main Xtables. DKMS flavor for kernels >= 3.7." arch=('i686' 'x86_64') license=('GPL2') @@ -16,13 +16,16 @@ makedepends=() conflicts=(xtables-addons xtables-addons-git xtables-addons-multikernel) replaces=(xtables-addons xtables-addons-git xtables-addons-multikernel) source=(dkms.conf + kernel-4.15.patch https://sourceforge.net/projects/${pkgname%-dkms}/files/Xtables-addons/${pkgname%-dkms}-${pkgver}.tar.xz) sha256sums=('c8989ec1ab0c3aaebf557fd19bc0391173a77fb5e7f8b3afc63d3f6593b3b5af' + '3cc007d8faa0025e0c2d748b3eb516ad31acbb6781e88efb0b6a7bf0b280db71' 'd215a9a8b8e66aae04b982fa2e1228e8a71e7dfe42320df99e34e5000cbdf152') prepare() { # go to builddir cd "${srcdir}/xtables-addons-${pkgver}" + patch -p1 -i ../kernel-4.15.patch # disable install-exec-hook (avoids useless calling of depmod -a at 'make install' stage) sed -i 's/^install-exec-hook:$/dont-run:/' Makefile.am diff --git a/kernel-4.15.patch b/kernel-4.15.patch new file mode 100644 index 000000000000..72d4bc85cc19 --- /dev/null +++ b/kernel-4.15.patch @@ -0,0 +1,65 @@ +diff --git a/doc/changelog.txt b/doc/changelog.txt +index e3f421f..770ac06 100644 +--- a/doc/changelog.txt ++++ b/doc/changelog.txt +@@ -1,6 +1,8 @@ + + HEAD + ==== ++Enhancements: ++- support for Linux up to 4.15 + + + v2.14 (2017-11-22) +diff --git a/extensions/compat_xtables.h b/extensions/compat_xtables.h +index d8882ac..354884e 100644 +--- a/extensions/compat_xtables.h ++++ b/extensions/compat_xtables.h +@@ -93,4 +93,8 @@ static inline struct net *par_net(const struct xt_action_param *par) + #endif + } + ++#ifndef NF_CT_ASSERT ++# define NF_CT_ASSERT(x) WARN_ON(!(x)) ++#endif ++ + #endif /* _XTABLES_COMPAT_H */ +diff --git a/extensions/pknock/xt_pknock.c b/extensions/pknock/xt_pknock.c +index 6fbdea4..3f47d9b 100644 +--- a/extensions/pknock/xt_pknock.c ++++ b/extensions/pknock/xt_pknock.c +@@ -357,11 +357,18 @@ has_logged_during_this_minute(const struct peer *peer) + * + * @r: rule + */ +-static void +-peer_gc(unsigned long r) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) ++static void peer_gc(struct timer_list *tl) ++#else ++static void peer_gc(unsigned long r) ++#endif + { + unsigned int i; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) ++ struct xt_pknock_rule *rule = from_timer(rule, tl, timer); ++#else + struct xt_pknock_rule *rule = (struct xt_pknock_rule *)r; ++#endif + struct peer *peer; + struct list_head *pos, *n; + +@@ -469,9 +476,13 @@ add_rule(struct xt_pknock_mtinfo *info) + if (rule->peer_head == NULL) + goto out; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) ++ timer_setup(&rule->timer, peer_gc, 0); ++#else + init_timer(&rule->timer); + rule->timer.function = peer_gc; + rule->timer.data = (unsigned long)rule; ++#endif + + rule->status_proc = proc_create_data(info->rule_name, 0, pde, + &pknock_proc_ops, rule); diff --git a/xtables-addons-dkms.install b/xtables-addons-dkms.install deleted file mode 100644 index be1e602879ef..000000000000 --- a/xtables-addons-dkms.install +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -# arg 1: the new package version -post_install() { - dkms add xtables-addons/$1 - cat << EOF -==> To build and install your modules run: - dkms install xtables-addons/$1 -==> To do this automatically at startup run: - systemctl enable dkms.service -==> To install modules for all kernels execute shell script: - for f in /lib/modules/[0-9]*; do dkms install xtables-addons/$1 -k \$(basename \$f); done -EOF -} - -# arg 1: the new package version -# arg 2: the old package version -pre_upgrade() { - local curver=$2 - # $2 is unset due to a bug. Query current version using pacman as fallback - [ -n "$curver" ] || curver=$(pacman -Qi xtables-addons-dkms | awk '/^Version/{print $3}') - pre_remove $curver -} - -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - post_install "$1" -} - -# arg 1: the old package version -pre_remove() { - # Remove modules using dkms - [ -n "$1" ] && dkms remove xtables-addons/$1 --all >/dev/null || true -} - -# vim:set ts=2 sw=2 ft=sh et: |