summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmish2018-02-10 10:58:49 +0530
committerAmish2018-02-10 10:58:49 +0530
commitbfabb6738d6acd808ecc6793b32dc7df0fff62c0 (patch)
treec38c79f5fd08c9810cd758cd393933791f75baf8
parent4b14ca148db0b2c1d59fc170863e36560bc88335 (diff)
downloadaur-bfabb6738d6acd808ecc6793b32dc7df0fff62c0.tar.gz
Patch for Linux kernel 4.15
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD5
-rw-r--r--kernel-4.15.patch65
-rw-r--r--xtables-addons-dkms.install37
4 files changed, 72 insertions, 39 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3d05d9846ac1..7a7b1ccb3209 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 57a3a9c24e7b..55f1b95df528 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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: