diff -Nru xtables-addons-3.8/configure xtables-addons-3.9/configure --- xtables-addons-3.8/configure 2020-02-03 11:03:04.816292794 +0000 +++ xtables-addons-3.9/configure 2020-02-25 06:35:30.747924408 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xtables-addons 3.8. +# Generated by GNU Autoconf 2.69 for xtables-addons 3.9. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='xtables-addons' PACKAGE_TARNAME='xtables-addons' -PACKAGE_VERSION='3.8' -PACKAGE_STRING='xtables-addons 3.8' +PACKAGE_VERSION='3.9' +PACKAGE_STRING='xtables-addons 3.9' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1325,7 +1325,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xtables-addons 3.8 to adapt to many kinds of systems. +\`configure' configures xtables-addons 3.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1395,7 +1395,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xtables-addons 3.8:";; + short | recursive ) echo "Configuration of xtables-addons 3.9:";; esac cat <<\_ACEOF @@ -1519,7 +1519,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xtables-addons configure 3.8 +xtables-addons configure 3.9 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1884,7 +1884,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xtables-addons $as_me 3.8, which was +It was created by xtables-addons $as_me 3.9, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2750,7 +2750,7 @@ # Define the identity of the package. PACKAGE='xtables-addons' - VERSION='3.8' + VERSION='3.9' cat >>confdefs.h <<_ACEOF @@ -12439,11 +12439,11 @@ echo "WARNING: Version detection did not succeed. Continue at own luck."; else echo "$kmajor.$kminor.$kmicro.$kstable in $kbuilddir"; - if test "$kmajor" -gt 5 -o "$kmajor" -eq 5 -a "$kminor" -gt 4; then + if test "$kmajor" -gt 5 -o "$kmajor" -eq 5 -a "$kminor" -gt 6; then echo "WARNING: That kernel version is not officially supported yet. Continue at own luck."; elif test "$kmajor" -eq 5 -a "$kminor" -ge 0; then : - elif test "$kmajor" -eq 4 -a "$kminor" -ge 18; then + elif test "$kmajor" -eq 4 -a "$kminor" -ge 15; then : else echo "WARNING: That kernel version is not officially supported."; @@ -12987,7 +12987,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xtables-addons $as_me 3.8, which was +This file was extended by xtables-addons $as_me 3.9, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13053,7 +13053,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xtables-addons config.status 3.8 +xtables-addons config.status 3.9 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru xtables-addons-3.8/configure.ac xtables-addons-3.9/configure.ac --- xtables-addons-3.8/configure.ac 2020-02-03 11:02:34.000000000 +0000 +++ xtables-addons-3.9/configure.ac 2020-02-25 06:35:08.000000000 +0000 @@ -1,4 +1,4 @@ -AC_INIT([xtables-addons], [3.8]) +AC_INIT([xtables-addons], [3.9]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -57,11 +57,11 @@ echo "WARNING: Version detection did not succeed. Continue at own luck."; else echo "$kmajor.$kminor.$kmicro.$kstable in $kbuilddir"; - if test "$kmajor" -gt 5 -o "$kmajor" -eq 5 -a "$kminor" -gt 4; then + if test "$kmajor" -gt 5 -o "$kmajor" -eq 5 -a "$kminor" -gt 6; then echo "WARNING: That kernel version is not officially supported yet. Continue at own luck."; elif test "$kmajor" -eq 5 -a "$kminor" -ge 0; then : - elif test "$kmajor" -eq 4 -a "$kminor" -ge 18; then + elif test "$kmajor" -eq 4 -a "$kminor" -ge 15; then : else echo "WARNING: That kernel version is not officially supported."; diff -Nru xtables-addons-3.8/debian/changelog xtables-addons-3.9/debian/changelog --- xtables-addons-3.8/debian/changelog 2020-12-07 17:21:27.000000000 +0000 +++ xtables-addons-3.9/debian/changelog 2021-02-16 09:51:01.000000000 +0000 @@ -1,3 +1,18 @@ +xtables-addons (3.9-1ubuntu0.2~20.04.1) focal; urgency=medium + + * Adjust for changed signature of ip_route_me_harder (LP: #1915177) + - 0001-ip_route_me_harder-compat.patch + + -- Kleber Sacilotto de Souza Tue, 16 Feb 2021 10:51:01 +0100 + +xtables-addons (3.9-1) unstable; urgency=medium + + * New upstream release. + * New patch to download geodata from db-ip.com (Closes: #950780). + Thanks, Simone Rossetto. + + -- Dmitry Smirnov Fri, 17 Apr 2020 14:34:48 +1000 + xtables-addons (3.8-2ubuntu0.2) focal; urgency=medium * Adjust for changed signature of ip_route_me_harder (LP: #1907109) diff -Nru xtables-addons-3.8/debian/configure_features.sh xtables-addons-3.9/debian/configure_features.sh --- xtables-addons-3.8/debian/configure_features.sh 1970-01-01 00:00:00.000000000 +0000 +++ xtables-addons-3.9/debian/configure_features.sh 2021-02-16 09:51:01.000000000 +0000 @@ -0,0 +1,15 @@ +#!/bin/sh + +CONFIG_HDR=extensions/config_features.h + +echo > $CONFIG_HDR + +srctree="/lib/modules/${kernelver:-`uname -r`}/build" +if egrep -A 10 '\> $CONFIG_HDR +fi +if egrep -A 10 '\> $CONFIG_HDR +fi diff -Nru xtables-addons-3.8/debian/patches/0001-ip_route_me_harder-compat.patch xtables-addons-3.9/debian/patches/0001-ip_route_me_harder-compat.patch --- xtables-addons-3.8/debian/patches/0001-ip_route_me_harder-compat.patch 1970-01-01 00:00:00.000000000 +0000 +++ xtables-addons-3.9/debian/patches/0001-ip_route_me_harder-compat.patch 2021-02-16 09:51:01.000000000 +0000 @@ -0,0 +1,50 @@ +Description: Add compatibility to new ip_route_me_harder() + Patch 46d6c5ae953c "netfilter: use actual socket sk rather than skb sk + when routing harder" applied to linux 5.10 changes the signature of + ip_route_me_harder() adding a new 'struct sock *' parameter. + This change depends on the signature version detection done by + configure_features.sh. +Author: Kleber Sacilotto de Souza +--- a/extensions/compat_xtables.h ++++ b/extensions/compat_xtables.h +@@ -3,8 +3,11 @@ + + #include + #include ++#include ++#include + #include "compat_skbuff.h" + #include "compat_xtnu.h" ++#include "config_features.h" + + #define DEBUGP Use__pr_debug__instead + +@@ -60,4 +63,21 @@ + # define proc_release release + #endif + ++#ifdef IP_ROUTE_ME_HARDER_HAS_SK ++static inline int __ip_route_me_harder(struct net *net, struct sk_buff *skb, ++ unsigned addr_type) { ++ return ip_route_me_harder(net, skb->sk, skb, addr_type); ++} ++ ++#define ip_route_me_harder __ip_route_me_harder ++#endif ++ ++#ifdef IP6_ROUTE_ME_HARDER_HAS_SK ++static inline int __ip6_route_me_harder(struct net *net, struct sk_buff *skb) { ++ return ip6_route_me_harder(net, skb->sk, skb); ++} ++ ++#define ip6_route_me_harder __ip6_route_me_harder ++#endif ++ + #endif /* _XTABLES_COMPAT_H */ +--- /dev/null ++++ b/extensions/config_features.h +@@ -0,0 +1,4 @@ ++/* This is an empty header file to satisfy the compilation of the libraries ++ * under extensions/ACCOUNT/ and will be overwritten during the dkms package ++ * installation. ++ */ diff -Nru xtables-addons-3.8/debian/patches/0001-kernel-5.6-support.patch xtables-addons-3.9/debian/patches/0001-kernel-5.6-support.patch --- xtables-addons-3.8/debian/patches/0001-kernel-5.6-support.patch 2020-10-26 16:45:57.000000000 +0000 +++ xtables-addons-3.9/debian/patches/0001-kernel-5.6-support.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,128 +0,0 @@ -Description: Fix FTBFS with kernel 5.6 -Author: Kleber Sacilotto de Souza -Bug-Ubuntu: https://bugs.launchpad.net/bugs/1901560 - ---- a/extensions/compat_xtables.h -+++ b/extensions/compat_xtables.h -@@ -51,4 +51,13 @@ - # define NF_CT_ASSERT(x) WARN_ON(!(x)) - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0) -+# define proc_ops file_operations -+# define proc_open open -+# define proc_read read -+# define proc_write write -+# define proc_lseek llseek -+# define proc_release release -+#endif -+ - #endif /* _XTABLES_COMPAT_H */ ---- a/extensions/pknock/xt_pknock.c -+++ b/extensions/pknock/xt_pknock.c -@@ -295,12 +295,11 @@ - return ret; - } - --static const struct file_operations pknock_proc_ops = { -- .owner = THIS_MODULE, -- .open = pknock_proc_open, -- .read = seq_read, -- .llseek = seq_lseek, -- .release = seq_release -+static const struct proc_ops pknock_proc_ops = { -+ .proc_open = pknock_proc_open, -+ .proc_read = seq_read, -+ .proc_lseek = seq_lseek, -+ .proc_release = seq_release, - }; - - /** ---- a/extensions/xt_DNETMAP.c -+++ b/extensions/xt_DNETMAP.c -@@ -115,7 +115,7 @@ - static DEFINE_MUTEX(dnetmap_mutex); - - #ifdef CONFIG_PROC_FS --static const struct file_operations dnetmap_tg_fops, dnetmap_stat_proc_fops; -+static const struct proc_ops dnetmap_tg_fops, dnetmap_stat_proc_fops; - #endif - - static inline unsigned int dnetmap_entry_hash(const __be32 addr) -@@ -768,12 +768,11 @@ - } - - --static const struct file_operations dnetmap_tg_fops = { -- .open = dnetmap_seq_open, -- .read = seq_read, -- .write = dnetmap_tg_proc_write, -- .release = seq_release_private, -- .owner = THIS_MODULE, -+static const struct proc_ops dnetmap_tg_fops = { -+ .proc_open = dnetmap_seq_open, -+ .proc_read = seq_read, -+ .proc_write = dnetmap_tg_proc_write, -+ .proc_release = seq_release_private, - }; - - /* for statistics */ -@@ -817,11 +816,11 @@ - return single_open(file, dnetmap_stat_proc_show, PDE_DATA(inode)); - } - --static const struct file_operations dnetmap_stat_proc_fops = { -- .open = dnetmap_stat_proc_open, -- .read = seq_read, -- .llseek = seq_lseek, -- .release = single_release, -+static const struct proc_ops dnetmap_stat_proc_fops = { -+ .proc_open = dnetmap_stat_proc_open, -+ .proc_read = seq_read, -+ .proc_lseek = seq_lseek, -+ .proc_release = single_release, - }; - - static int __net_init dnetmap_proc_net_init(struct net *net) ---- a/extensions/xt_condition.c -+++ b/extensions/xt_condition.c -@@ -111,12 +111,12 @@ - return length; - } - --static const struct file_operations condition_proc_fops = { -- .open = condition_proc_open, -- .read = seq_read, -- .llseek = seq_lseek, -- .write = condition_proc_write, -- .release = single_release, -+static const struct proc_ops condition_proc_fops = { -+ .proc_open = condition_proc_open, -+ .proc_read = seq_read, -+ .proc_write = condition_proc_write, -+ .proc_lseek = seq_lseek, -+ .proc_release = single_release, - }; - - static bool ---- a/extensions/xt_quota2.c -+++ b/extensions/xt_quota2.c -@@ -117,12 +117,12 @@ - return size; - } - --static const struct file_operations quota_proc_fops = { -- .open = quota_proc_open, -- .read = seq_read, -- .llseek = seq_lseek, -- .write = quota_proc_write, -- .release = single_release, -+static const struct proc_ops quota_proc_fops = { -+ .proc_open = quota_proc_open, -+ .proc_read = seq_read, -+ .proc_write = quota_proc_write, -+ .proc_lseek = seq_lseek, -+ .proc_release = single_release, - }; - - static struct xt_quota_counter * diff -Nru xtables-addons-3.8/debian/patches/0002-ip_route_me_hard-use-actual-socket-sk-rather-than-sk.patch xtables-addons-3.9/debian/patches/0002-ip_route_me_hard-use-actual-socket-sk-rather-than-sk.patch --- xtables-addons-3.8/debian/patches/0002-ip_route_me_hard-use-actual-socket-sk-rather-than-sk.patch 2020-12-07 15:58:51.000000000 +0000 +++ xtables-addons-3.9/debian/patches/0002-ip_route_me_hard-use-actual-socket-sk-rather-than-sk.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -From fc435990a6b475674c0c8537de75ac6a399bb783 Mon Sep 17 00:00:00 2001 -From: Paolo Pisati -Date: Thu, 12 Nov 2020 14:43:33 +0000 -Subject: [PATCH] ip_route_me_hard(): use actual socket sk rather than skb - sk when routing harder - -Signed-off-by: Paolo Pisati -[ kleber: adjust also for kernel 5.4.78 ] -Signed-off-by: Kleber Sacilotto de Souza ---- - extensions/compat_xtables.h | 18 ++++++++++++++++++ - extensions/xt_DELUDE.c | 2 +- - extensions/xt_ECHO.c | 2 +- - extensions/xt_TARPIT.c | 4 ++-- - 4 files changed, 22 insertions(+), 4 deletions(-) - ---- a/extensions/compat_xtables.h -+++ b/extensions/compat_xtables.h -@@ -3,6 +3,8 @@ - - #include - #include -+#include -+#include - #include "compat_skbuff.h" - #include "compat_xtnu.h" - -@@ -60,4 +62,22 @@ - # define proc_release release - #endif - -+static inline int __ip_route_me_harder(struct net *net, struct sk_buff *skb, unsigned addr_type) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0) || \ -+ LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 78) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0) -+ return ip_route_me_harder(net, skb->sk, skb, addr_type); -+#else -+ return ip_route_me_harder(net, skb, addr_type); -+#endif -+} -+ -+static inline int __ip6_route_me_harder(struct net *net, struct sk_buff *skb) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0) || \ -+ LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 78) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0) -+ return ip6_route_me_harder(net, skb->sk, skb); -+#else -+ return ip6_route_me_harder(net, skb); -+#endif -+} -+ - #endif /* _XTABLES_COMPAT_H */ ---- a/extensions/xt_DELUDE.c -+++ b/extensions/xt_DELUDE.c -@@ -122,7 +122,7 @@ - /* ip_route_me_harder expects skb->dst to be set */ - skb_dst_set(nskb, dst_clone(skb_dst(oldskb))); - -- if (ip_route_me_harder(net, nskb, addr_type)) -+ if (__ip_route_me_harder(net, nskb, addr_type)) - goto free_nskb; - else - niph = ip_hdr(nskb); ---- a/extensions/xt_ECHO.c -+++ b/extensions/xt_ECHO.c -@@ -192,7 +192,7 @@ - /* ip_route_me_harder expects the skb's dst to be set */ - skb_dst_set(newskb, dst_clone(skb_dst(oldskb))); - -- if (ip_route_me_harder(par_net(par), newskb, RTN_UNSPEC) != 0) -+ if (__ip_route_me_harder(par_net(par), newskb, RTN_UNSPEC) != 0) - goto free_nskb; - - newip->ttl = ip4_dst_hoplimit(skb_dst(newskb)); ---- a/extensions/xt_TARPIT.c -+++ b/extensions/xt_TARPIT.c -@@ -265,7 +265,7 @@ - #endif - addr_type = RTN_LOCAL; - -- if (ip_route_me_harder(net, nskb, addr_type)) -+ if (__ip_route_me_harder(net, nskb, addr_type)) - goto free_nskb; - else - niph = ip_hdr(nskb); -@@ -399,7 +399,7 @@ - IPPROTO_TCP, - csum_partial(tcph, sizeof(struct tcphdr), 0)); - -- if (ip6_route_me_harder(net, nskb)) -+ if (__ip6_route_me_harder(net, nskb)) - goto free_nskb; - - nskb->ip_summed = CHECKSUM_NONE; diff -Nru xtables-addons-3.8/debian/patches/change-download-to-dbip.patch xtables-addons-3.9/debian/patches/change-download-to-dbip.patch --- xtables-addons-3.8/debian/patches/change-download-to-dbip.patch 1970-01-01 00:00:00.000000000 +0000 +++ xtables-addons-3.9/debian/patches/change-download-to-dbip.patch 2021-02-16 09:51:01.000000000 +0000 @@ -0,0 +1,28 @@ +Last-Update: 2020-04-17 +Forwarded: needs-forwarding +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=950780 +Author: Simone Rossetto +Description: download the csv database provided by db-ip.com, the same + file required by the "build script". + +--- a/geoip/xt_geoip_dl ++++ b/geoip/xt_geoip_dl +@@ -1,7 +1,14 @@ + #!/bin/sh ++# Download free "IP to Country Lite Database" from db-ip.com, licensed under CC-BY-4.0 + +-rm -rf GeoLite2-Country-CSV_* ++# try to download this month file ++wget -O dbip-country-lite.csv.gz "https://download.db-ip.com/free/dbip-country-lite-$(date +'%Y-%m').csv.gz" + +-wget -q http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country-CSV.zip +-unzip -q GeoLite2-Country-CSV.zip +-rm -f GeoLite2-Country-CSV.zip ++# in case of error try to download previous month file ++if [ $? -ne 0 ]; then ++ wget -O dbip-country-lite.csv.gz "https://download.db-ip.com/free/dbip-country-lite-$(date -d '-1 month' +'%Y-%m').csv.gz" ++fi ++ ++# uncompress and exit ++gunzip dbip-country-lite.csv.gz ++exit $? diff -Nru xtables-addons-3.8/debian/patches/series xtables-addons-3.9/debian/patches/series --- xtables-addons-3.8/debian/patches/series 2020-12-07 15:49:17.000000000 +0000 +++ xtables-addons-3.9/debian/patches/series 2021-02-16 09:51:01.000000000 +0000 @@ -1,4 +1,4 @@ #automake-1.11.2.patch +change-download-to-dbip.patch cross.patch -0001-kernel-5.6-support.patch -0002-ip_route_me_hard-use-actual-socket-sk-rather-than-sk.patch +0001-ip_route_me_harder-compat.patch diff -Nru xtables-addons-3.8/debian/rules xtables-addons-3.9/debian/rules --- xtables-addons-3.8/debian/rules 2020-02-04 04:31:18.000000000 +0000 +++ xtables-addons-3.9/debian/rules 2021-02-16 09:51:01.000000000 +0000 @@ -29,8 +29,10 @@ override_dh_auto_build: ## prepare sources for DKMS and source packages mkdir -p $(TMPSRC) \ - && cp -r build-aux extensions geoip m4 configure.ac *.in config.h aclocal.m4 mconfig Makefile Makefile.* $(TMPSRC) \ - && find $(TMPSRC) -name ".gitignore" -delete + && cp -r build-aux extensions geoip m4 configure.ac *.in config.h aclocal.m4 mconfig Makefile Makefile.* debian/configure_features.sh $(TMPSRC) \ + && find $(TMPSRC) -name ".gitignore" -delete \ + && chmod 755 $(TMPSRC)/configure_features.sh \ + && ./$(TMPSRC)/configure_features.sh ## continue with build dh_auto_build @@ -41,7 +43,9 @@ mkdir -p $(TMPSRC)/debian \ && cp debian/changelog debian/copyright \ debian/control.modules.in debian/control $(TMPSRC)/debian/ \ - && cp debian/rules.modules $(TMPSRC)/debian/rules + && cp debian/rules.modules $(TMPSRC)/debian/rules \ + && cp debian/configure_features.sh $(TMPSRC) \ + && chmod 755 $(TMPSRC)/configure_features.sh mkdir -p $(SRC_MOD) \ && mv $(TMPSRC) $(SRC_MOD)/xtables-addons \ && cd debian/xtables-addons-source/usr/src \ diff -Nru xtables-addons-3.8/debian/xtables-addons-dkms.dkms.in xtables-addons-3.9/debian/xtables-addons-dkms.dkms.in --- xtables-addons-3.8/debian/xtables-addons-dkms.dkms.in 2019-11-29 01:50:03.000000000 +0000 +++ xtables-addons-3.9/debian/xtables-addons-dkms.dkms.in 2021-02-16 09:51:01.000000000 +0000 @@ -7,6 +7,7 @@ MAKEARGS=" -C $kernel_source_dir M=${BDIR}/extensions XA_ABSTOPSRCDIR=${BDIR} XA_TOPSRCDIR=${BDIR} V=1" CLEAN="make ${MAKEARGS} clean" MAKE="make ${MAKEARGS} modules ; find ${BDIR} -name '*.ko' -exec mv -v {} ${BDIR} \;" +PRE_BUILD="configure_features.sh" AUTOINSTALL="yes" diff -Nru xtables-addons-3.8/doc/changelog.txt xtables-addons-3.9/doc/changelog.txt --- xtables-addons-3.8/doc/changelog.txt 2020-02-03 11:02:34.000000000 +0000 +++ xtables-addons-3.9/doc/changelog.txt 2020-02-25 06:35:08.000000000 +0000 @@ -1,3 +1,7 @@ +v3.9 (2020-02-25) +================= +- Support for Linux 5.6 procfs changes + v3.8 (2020-02-03) ================= diff -Nru xtables-addons-3.8/extensions/compat_xtables.h xtables-addons-3.9/extensions/compat_xtables.h --- xtables-addons-3.8/extensions/compat_xtables.h 2020-02-03 11:02:34.000000000 +0000 +++ xtables-addons-3.9/extensions/compat_xtables.h 2020-02-25 06:35:08.000000000 +0000 @@ -51,4 +51,13 @@ # define NF_CT_ASSERT(x) WARN_ON(!(x)) #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0) +# define proc_ops file_operations +# define proc_open open +# define proc_read read +# define proc_write write +# define proc_lseek llseek +# define proc_release release +#endif + #endif /* _XTABLES_COMPAT_H */ diff -Nru xtables-addons-3.8/extensions/pknock/xt_pknock.c xtables-addons-3.9/extensions/pknock/xt_pknock.c --- xtables-addons-3.8/extensions/pknock/xt_pknock.c 2020-02-03 11:02:34.000000000 +0000 +++ xtables-addons-3.9/extensions/pknock/xt_pknock.c 2020-02-25 06:35:08.000000000 +0000 @@ -295,12 +295,11 @@ return ret; } -static const struct file_operations pknock_proc_ops = { - .owner = THIS_MODULE, - .open = pknock_proc_open, - .read = seq_read, - .llseek = seq_lseek, - .release = seq_release +static const struct proc_ops pknock_proc_ops = { + .proc_open = pknock_proc_open, + .proc_read = seq_read, + .proc_lseek = seq_lseek, + .proc_release = seq_release, }; /** diff -Nru xtables-addons-3.8/extensions/xt_condition.c xtables-addons-3.9/extensions/xt_condition.c --- xtables-addons-3.8/extensions/xt_condition.c 2020-02-03 11:02:34.000000000 +0000 +++ xtables-addons-3.9/extensions/xt_condition.c 2020-02-25 06:35:08.000000000 +0000 @@ -111,12 +111,12 @@ return length; } -static const struct file_operations condition_proc_fops = { - .open = condition_proc_open, - .read = seq_read, - .llseek = seq_lseek, - .write = condition_proc_write, - .release = single_release, +static const struct proc_ops condition_proc_fops = { + .proc_open = condition_proc_open, + .proc_read = seq_read, + .proc_write = condition_proc_write, + .proc_lseek = seq_lseek, + .proc_release = single_release, }; static bool diff -Nru xtables-addons-3.8/extensions/xt_DNETMAP.c xtables-addons-3.9/extensions/xt_DNETMAP.c --- xtables-addons-3.8/extensions/xt_DNETMAP.c 2020-02-03 11:02:34.000000000 +0000 +++ xtables-addons-3.9/extensions/xt_DNETMAP.c 2020-02-25 06:35:08.000000000 +0000 @@ -115,7 +115,7 @@ static DEFINE_MUTEX(dnetmap_mutex); #ifdef CONFIG_PROC_FS -static const struct file_operations dnetmap_tg_fops, dnetmap_stat_proc_fops; +static const struct proc_ops dnetmap_tg_fops, dnetmap_stat_proc_fops; #endif static inline unsigned int dnetmap_entry_hash(const __be32 addr) @@ -768,12 +768,11 @@ } -static const struct file_operations dnetmap_tg_fops = { - .open = dnetmap_seq_open, - .read = seq_read, - .write = dnetmap_tg_proc_write, - .release = seq_release_private, - .owner = THIS_MODULE, +static const struct proc_ops dnetmap_tg_fops = { + .proc_open = dnetmap_seq_open, + .proc_read = seq_read, + .proc_write = dnetmap_tg_proc_write, + .proc_release = seq_release_private, }; /* for statistics */ @@ -817,11 +816,11 @@ return single_open(file, dnetmap_stat_proc_show, PDE_DATA(inode)); } -static const struct file_operations dnetmap_stat_proc_fops = { - .open = dnetmap_stat_proc_open, - .read = seq_read, - .llseek = seq_lseek, - .release = single_release, +static const struct proc_ops dnetmap_stat_proc_fops = { + .proc_open = dnetmap_stat_proc_open, + .proc_read = seq_read, + .proc_lseek = seq_lseek, + .proc_release = single_release, }; static int __net_init dnetmap_proc_net_init(struct net *net) diff -Nru xtables-addons-3.8/extensions/xt_quota2.c xtables-addons-3.9/extensions/xt_quota2.c --- xtables-addons-3.8/extensions/xt_quota2.c 2020-02-03 11:02:34.000000000 +0000 +++ xtables-addons-3.9/extensions/xt_quota2.c 2020-02-25 06:35:08.000000000 +0000 @@ -117,12 +117,12 @@ return size; } -static const struct file_operations quota_proc_fops = { - .open = quota_proc_open, - .read = seq_read, - .llseek = seq_lseek, - .write = quota_proc_write, - .release = single_release, +static const struct proc_ops quota_proc_fops = { + .proc_open = quota_proc_open, + .proc_read = seq_read, + .proc_write = quota_proc_write, + .proc_lseek = seq_lseek, + .proc_release = single_release, }; static struct xt_quota_counter * diff -Nru xtables-addons-3.8/xtables-addons.8.in xtables-addons-3.9/xtables-addons.8.in --- xtables-addons-3.8/xtables-addons.8.in 2020-02-03 11:02:34.000000000 +0000 +++ xtables-addons-3.9/xtables-addons.8.in 2020-02-25 06:35:08.000000000 +0000 @@ -1,4 +1,4 @@ -.TH xtables-addons 8 "" "" "v3.8 (2020-02-01)" +.TH xtables-addons 8 "" "" "v3.9 (2020-02-25)" .SH Name Xtables-addons \(em additional extensions for iptables, ip6tables, etc. .SH Targets