summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorlilac2021-11-05 04:22:18 +0800
committerlilac2021-11-05 04:22:18 +0800
commitabc616cbda428b56a54eaf2b1ba4aee004382acf (patch)
tree40dcb2815ef284810976348418927a63900eada2
parent067df76f62d716d609837c94650786403823890f (diff)
downloadaur-abc616cbda428b56a54eaf2b1ba4aee004382acf.tar.gz
[lilac] updated to r79.a36b9b5-3
-rw-r--r--.SRCINFO4
-rw-r--r--00-fix-5.15.patch68
-rw-r--r--PKGBUILD14
3 files changed, 82 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b50e1ade3c96..27923350edea 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = netfilter-fullconenat-dkms-git
pkgdesc = A kernel module that turns MASQUERADE into full cone SNAT
pkgver = r79.a36b9b5
- pkgrel = 1
+ pkgrel = 3
url = https://github.com/llccd/netfilter-full-cone-nat
arch = any
license = GPL2
@@ -10,10 +10,12 @@ pkgbase = netfilter-fullconenat-dkms-git
optdepends = iptables-fullconenat: iptables with FULLCONENAT
provides = netfilter-fullconenat
conflicts = netfilter-fullconenat
+ source = 00-fix-5.15.patch
source = netfilter-fullconenat-dkms.conf
source = dkms.conf
source = Kbuild
source = netfilter-fullconenat-dkms-git::git+https://github.com/llccd/netfilter-full-cone-nat.git
+ sha256sums = a878d969bc4d804faa6261a3b8467ef511fc137253d3776deea5f63a0edc3b32
sha256sums = a17dfdf1fd046219daeacc60065e3a81c80c2eb2cfdf6d8068278c509577f571
sha256sums = d6823506b2c9e99b282d29270b0001de946dfe48462056b80aa9b564d67f7642
sha256sums = 7ff12ad066a68c65f23fc7e01654ca459ce3458172e3dce30f42553fa44dd7c2
diff --git a/00-fix-5.15.patch b/00-fix-5.15.patch
new file mode 100644
index 000000000000..5b52cb5a58ed
--- /dev/null
+++ b/00-fix-5.15.patch
@@ -0,0 +1,68 @@
+diff --git a/xt_FULLCONENAT.c b/xt_FULLCONENAT.c
+index 9bb8660..c061b98 100644
+--- a/xt_FULLCONENAT.c
++++ b/xt_FULLCONENAT.c
+@@ -123,7 +123,9 @@ struct notifier_block ct_event_notifier;
+ struct nf_ct_event_notifier ct_event_notifier;
+ #endif
+ int tg_refer_count = 0;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
+ int ct_event_notifier_registered = 0;
++#endif
+
+ static DEFINE_MUTEX(nf_ct_net_event_lock);
+
+@@ -894,8 +896,10 @@ static void gc_worker(struct work_struct *work) {
+ #ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS
+ static int ct_event_cb(struct notifier_block *this, unsigned long events, void *ptr) {
+ struct nf_ct_event *item = ptr;
+-#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
+ static int ct_event_cb(unsigned int events, struct nf_ct_event *item) {
++#else
++static int ct_event_cb(unsigned int events, const struct nf_ct_event *item) {
+ #endif
+ struct nf_conn *ct;
+ struct nf_conntrack_tuple *ct_tuple_reply, *ct_tuple_original;
+@@ -1242,9 +1246,8 @@ static int fullconenat_tg_check(const struct xt_tgchk_param *par)
+ if (tg_refer_count == 1) {
+ #ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS
+ ct_event_notifier.notifier_call = ct_event_cb;
+-#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
+ ct_event_notifier.fcn = ct_event_cb;
+-#endif
+
+ if (nf_conntrack_register_notifier(par->net, &ct_event_notifier) == 0) {
+ ct_event_notifier_registered = 1;
+@@ -1252,6 +1255,11 @@ static int fullconenat_tg_check(const struct xt_tgchk_param *par)
+ } else {
+ printk("xt_FULLCONENAT: warning: failed to register a conntrack notifier. Disable active GC for mappings.\n");
+ }
++#else
++ ct_event_notifier.ct_event = ct_event_cb;
++ nf_conntrack_register_notifier(par->net, &ct_event_notifier);
++ pr_debug("xt_FULLCONENAT: fullconenat_tg_check(): ct_event_notifier registered\n");
++#endif
+
+ }
+
+@@ -1269,6 +1277,7 @@ static void fullconenat_tg_destroy(const struct xt_tgdtor_param *par)
+ pr_debug("xt_FULLCONENAT: fullconenat_tg_destroy(): tg_refer_count is now %d\n", tg_refer_count);
+
+ if (tg_refer_count == 0) {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
+ if (ct_event_notifier_registered) {
+ nf_conntrack_unregister_notifier(par->net, &ct_event_notifier);
+ ct_event_notifier_registered = 0;
+@@ -1276,6 +1285,10 @@ static void fullconenat_tg_destroy(const struct xt_tgdtor_param *par)
+ pr_debug("xt_FULLCONENAT: fullconenat_tg_destroy(): ct_event_notifier unregistered\n");
+
+ }
++#else
++ nf_conntrack_unregister_notifier(par->net);
++ pr_debug("xt_FULLCONENAT: fullconenat_tg_destroy(): ct_event_notifier unregistered\n");
++#endif
+ }
+
+ mutex_unlock(&nf_ct_net_event_lock);
diff --git a/PKGBUILD b/PKGBUILD
index 3984ff9de3b6..98b9e5ba40f8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=netfilter-fullconenat-dkms-git
pkgver=r79.a36b9b5
-pkgrel=1
+pkgrel=3
pkgdesc="A kernel module that turns MASQUERADE into full cone SNAT"
arch=('any')
url="https://github.com/llccd/netfilter-full-cone-nat"
@@ -12,11 +12,14 @@ makedepends=('git')
optdepends=('iptables-fullconenat: iptables with FULLCONENAT')
provides=('netfilter-fullconenat')
conflicts=('netfilter-fullconenat')
-source=("netfilter-fullconenat-dkms.conf"
+source=(
+ "00-fix-5.15.patch"
+ "netfilter-fullconenat-dkms.conf"
"dkms.conf"
"Kbuild"
"${pkgname}::git+https://github.com/llccd/netfilter-full-cone-nat.git")
-sha256sums=('a17dfdf1fd046219daeacc60065e3a81c80c2eb2cfdf6d8068278c509577f571'
+sha256sums=('a878d969bc4d804faa6261a3b8467ef511fc137253d3776deea5f63a0edc3b32'
+ 'a17dfdf1fd046219daeacc60065e3a81c80c2eb2cfdf6d8068278c509577f571'
'd6823506b2c9e99b282d29270b0001de946dfe48462056b80aa9b564d67f7642'
'7ff12ad066a68c65f23fc7e01654ca459ce3458172e3dce30f42553fa44dd7c2'
'SKIP')
@@ -29,6 +32,11 @@ pkgver() {
)
}
+prepare(){
+ cd "${pkgname}"
+ patch -Np1 <'../00-fix-5.15.patch'
+}
+
package() {
# Install modules-load.conf
install -Dm644 netfilter-fullconenat-dkms.conf "${pkgdir}/usr/lib/modules-load.d/netfilter-fullconenat-dkms.conf"