diff --git a/modemmanager/files/etc/init.d/modemmanager b/modemmanager/files/etc/init.d/modemmanager
index 44d2ebebc..e34080837 100644
--- a/modemmanager/files/etc/init.d/modemmanager
+++ b/modemmanager/files/etc/init.d/modemmanager
@@ -7,6 +7,7 @@ START=05
LOG_LEVEL="INFO"
start_service() {
+ [ "$(uci -q get openmptcprouter.settings.disable_modemmanager)" = "1" ] && return
# Setup ModemManager service
#
# We will make sure that the rundir always exists, and we initially cleanup
diff --git a/omr-schedule/files/usr/share/omr/schedule.d/010-services b/omr-schedule/files/usr/share/omr/schedule.d/010-services
index 91d565280..066e6a744 100755
--- a/omr-schedule/files/usr/share/omr/schedule.d/010-services
+++ b/omr-schedule/files/usr/share/omr/schedule.d/010-services
@@ -104,20 +104,21 @@ if [ "$(pgrep uhttpd)" = "" ] && [ -f /etc/init.d/uhttpd ]; then
sleep 5
fi
-if [ -z "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ]; then
- _log "Can't find ModemManager, restart it..."
- /etc/init.d/modemmanager restart >/dev/null 2>&1
- sleep 5
-elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ] && [ -z "$(timeout 2 mmcli -L)" ]; then
- _log "ModemManager doesn't answer, restart it..."
- /etc/init.d/modemmanager restart >/dev/null 2>&1
- sleep 5
-#elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -z "$(uci -q show network | grep modemmanager)" ]; then
-# _log "ModemManager not used, stop it..."
-# /etc/init.d/modemmanager stop >/dev/null 2>&1
-# sleep 5
+if [ "$(uci -q get openmptcprouter.settings.disable_modemmanager)" != "1" ]; then
+ if [ -z "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ]; then
+ _log "Can't find ModemManager, restart it..."
+ /etc/init.d/modemmanager restart >/dev/null 2>&1
+ sleep 5
+ elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ] && [ -z "$(timeout 2 mmcli -L)" ]; then
+ _log "ModemManager doesn't answer, restart it..."
+ /etc/init.d/modemmanager restart >/dev/null 2>&1
+ sleep 5
+ #elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -z "$(uci -q show network | grep modemmanager)" ]; then
+ # _log "ModemManager not used, stop it..."
+ # /etc/init.d/modemmanager stop >/dev/null 2>&1
+ # sleep 5
+ fi
fi
-
if [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -f /etc/init.d/v2ray ] && [ "$(pgrep -f omr-tracker-v2ray)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
_log "Can't find omr-tracker-v2ray, restart omr-tracker..."
/etc/init.d/omr-tracker restart >/dev/null 2>&1
diff --git a/omr-tracker/files/etc/config/omr-tracker b/omr-tracker/files/etc/config/omr-tracker
index 40adaab52..b5e7606d1 100644
--- a/omr-tracker/files/etc/config/omr-tracker
+++ b/omr-tracker/files/etc/config/omr-tracker
@@ -35,7 +35,7 @@ config defaults 'defaults'
option family 'ipv4'
option reliability '1'
option count '2'
- option failure_interval '5'
+ option failure_interval '20'
option tries_up '5'
config proxy 'proxy'
diff --git a/omr-tracker/files/etc/uci-defaults/omr-tracker b/omr-tracker/files/etc/uci-defaults/omr-tracker
index 5c495ca86..74df05a1f 100755
--- a/omr-tracker/files/etc/uci-defaults/omr-tracker
+++ b/omr-tracker/files/etc/uci-defaults/omr-tracker
@@ -115,6 +115,13 @@ if [ "$(uci -q get omr-tracker.defaults.server_http_test)" = "" ]; then
EOF
fi
+if [ -z "$(uci -q get omr-tracker.defaults.failure_interval)" ] || [ "$(uci -q get omr-tracker.defaults.failure_interval)" = "5" ]; then
+ uci -q batch <<-EOF >/dev/null
+ set omr-tracker.defaults.failure_interval=20
+ commit omr-tracker
+ EOF
+fi
+
if [ "$(uci -q get omr-tracker.defaults.family)" = "" ]; then
uci -q batch <<-EOF >/dev/null
set omr-tracker.defaults.initial_state='online'
diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error
index a587cec71..52c3d608c 100755
--- a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error
+++ b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error
@@ -42,7 +42,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
# ifup $OMR_TRACKER_INTERFACE
# sleep 30
#if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_up" = "false" ] && [ "$interface_available" = "false" ] && [ "$interface_pending" = "false" ] && [ "$interface_autostart" = "true" ]; then
- if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ]; then
+ if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$(uci -q get openmptcprouter.settings.disable_modemmanager)" != "1" ]; then
modemfind="0"
device="$(uci -q get network.$OMR_TRACKER_INTERFACE.device)"
. /usr/share/ModemManager/modemmanager.common
diff --git a/ovpn-dco/Makefile b/ovpn-dco/Makefile
index 1a62cf7c2..d41d0b8e3 100644
--- a/ovpn-dco/Makefile
+++ b/ovpn-dco/Makefile
@@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk
define KernelPackage/ovpn-dco-v2
SUBMENU:=Network Support
TITLE:=OpenVPN data channel offload
- DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6 @!LINUX_6_10 @!LINUX_6_11
+ DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6
FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco-v2.ko
AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2)
endef
diff --git a/ovpn-dco/patches/900-fix-linux-6.6.patch b/ovpn-dco/patches/900-fix-linux-6.6.patch
new file mode 100644
index 000000000..8d5457da1
--- /dev/null
+++ b/ovpn-dco/patches/900-fix-linux-6.6.patch
@@ -0,0 +1,15 @@
+diff --git a/drivers/net/ovpn-dco/ovpn.c b/drivers/net/ovpn-dco/ovpn.c
+index 66c0191..6cc426a 100644
+--- a/drivers/net/ovpn-dco/ovpn.c
++++ b/drivers/net/ovpn-dco/ovpn.c
+@@ -21,6 +21,10 @@
+ #include "tcp.h"
+ #include "udp.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,4,10)
++#include
++#endif
++
+ #include
+ #include
+
diff --git a/ovpn-dco/patches/901-fix-linux-6.11.patch b/ovpn-dco/patches/901-fix-linux-6.11.patch
new file mode 100644
index 000000000..b3456527a
--- /dev/null
+++ b/ovpn-dco/patches/901-fix-linux-6.11.patch
@@ -0,0 +1,9 @@
+--- a/drivers/net/ovpn-dco/main.c
++++ b/drivers/net/ovpn-dco/main.c
+@@ -268,4 +268,6 @@ MODULE_AUTHOR(DRV_COPYRIGHT);
+ MODULE_LICENSE("GPL");
+ MODULE_VERSION(DRV_VERSION);
+ MODULE_ALIAS_RTNL_LINK(DRV_NAME);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0)
+ MODULE_ALIAS_GENL_FAMILY(OVPN_NL_NAME);
++#endif
diff --git a/r8125/Makefile b/r8125/Makefile
deleted file mode 100644
index 3772756b4..000000000
--- a/r8125/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# Attribution: https://gist.github.com/lenew/9b41ba901c3393047ede0766760f9d55
-
-#Put this source to 'package/lean/r8125' folder of OpenWRT/LEDE SDK
-#Build(make menuconfig, make defconfig, make)
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=r8125
-PKG_VERSION:=9.013.02-2
-PKG_RELEASE:=$(AUTORELEASE)
-
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/awesometic/realtek-r8125-dkms/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=eae10100680de13e8119602c50a1748b8a0669eccd61d9a4515b4c846deb3960
-PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/realtek-$(PKG_NAME)-dkms-$(PKG_VERSION)
-PKG_LICENSE:=GPL-2.0-only
-PKG_LICENSE_FILES:=LICENSE
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/r8125
- TITLE:=Driver for Realtek r8125 chipsets
- SUBMENU:=Network Devices
- VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
- FILES:= $(PKG_BUILD_DIR)/src/r8125.ko
- DEPENDS:=@!LINUX_6_10 @!LINUX_6_11
- AUTOLOAD:=$(call AutoProbe,r8125)
-endef
-
-define Package/r8125/description
- This package contains a driver for Realtek r8125 chipsets.
-endef
-
-define Build/Compile
- +$(KERNEL_MAKE) M=$(PKG_BUILD_DIR)/src modules
-endef
-
-$(eval $(call KernelPackage,r8125))
diff --git a/r8168/Makefile b/r8168/Makefile
deleted file mode 100644
index a3f688eae..000000000
--- a/r8168/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# Download realtek r8168 linux driver from official site:
-# [https://www.realtek.com/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software]
-#
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=r8168
-PKG_VERSION:=8.052.01
-PKG_RELEASE:=1
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/BROBIRD/openwrt-r8168.git
-PKG_SOURCE_VERSION:=a1d4d30ce44c6d1d5de559d8dfdda7a65b1918a3
-
-PKG_LICENSE:=GPPL-2.0-only
-
-PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/r8168
- TITLE:=Driver for Realtek r8168 chipsets
- SUBMENU:=Network Devices
- VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
- FILES:= $(PKG_BUILD_DIR)/src/r8168.ko
- AUTOLOAD:=$(call AutoProbe,r8168)
- CONFLICTS:=kmod-r8169
-endef
-
-define Package/r8168/description
- This package contains a driver for Realtek r8168 chipsets.
-endef
-
-define Build/Compile
- +$(KERNEL_MAKE) M=$(PKG_BUILD_DIR)/src modules
-endef
-
-$(eval $(call KernelPackage,r8168))
diff --git a/r8168/patches/001-r8168-add-LED-configuration-from-OF.patch b/r8168/patches/001-r8168-add-LED-configuration-from-OF.patch
deleted file mode 100644
index 62a352dd8..000000000
--- a/r8168/patches/001-r8168-add-LED-configuration-from-OF.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/src/r8168_n.c
-+++ b/src/r8168_n.c
-@@ -47,6 +47,7 @@
- #include
- #include
- #include
-+#include
- #include
- #include
- #include
-@@ -23482,6 +23483,22 @@ rtl8168_set_bios_setting(struct net_devi
- }
- }
-
-+static int rtl8168_led_configuration(struct rtl8168_private *tp)
-+{
-+ u32 led_data;
-+ int ret;
-+
-+ ret = of_property_read_u32(tp->pci_dev->dev.of_node,
-+ "realtek,led-data", &led_data);
-+
-+ if (ret)
-+ return ret;
-+
-+ RTL_W16(tp, CustomLED, led_data);
-+
-+ return 0;
-+}
-+
- static void
- rtl8168_init_software_variable(struct net_device *dev)
- {
-@@ -24000,6 +24017,8 @@ rtl8168_init_software_variable(struct ne
- tp->NotWrMcuPatchCode = TRUE;
- }
-
-+ rtl8168_led_configuration(tp);
-+
- tp->NicCustLedValue = RTL_R16(tp, CustomLED);
-
- rtl8168_get_hw_wol(dev);
diff --git a/r8168/patches/900-6.6-support.patch b/r8168/patches/900-6.6-support.patch
deleted file mode 100644
index 00d1adade..000000000
--- a/r8168/patches/900-6.6-support.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/r8168_n.c 2023-10-20 17:46:41.593467802 +0200
-+++ b/src/r8168_n.c 2023-10-20 17:47:59.460123974 +0200
-@@ -82,6 +82,10 @@
- #include
- #endif
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,5,0)
-+#include
-+#endif
-+
- #include
- #include
-
diff --git a/shadowsocks-rust/Makefile b/shadowsocks-rust/Makefile
index b42ccb9bc..e92f65fa4 100644
--- a/shadowsocks-rust/Makefile
+++ b/shadowsocks-rust/Makefile
@@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=shadowsocks-rust
-PKG_VERSION:=1.20.4
-PKG_HASH:=cf064ad157974b3e396aab3bb60aab380dbc4e11b736603bfbc8e7a138f6bb26
+PKG_VERSION:=1.21.0
+PKG_HASH:=4891475a2389676e4fd3250bb579ffa7d1ad0bc9e3987c3e293c8f3a8a37bded
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/xtables-addons/Makefile b/xtables-addons/Makefile
index 57cfef3a6..5c248634a 100644
--- a/xtables-addons/Makefile
+++ b/xtables-addons/Makefile
@@ -7,9 +7,9 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=xtables-addons
-PKG_VERSION:=3.24
+PKG_VERSION:=3.26
PKG_RELEASE:=1
-PKG_HASH:=3e823f71720519ced31c4c7d2bfaf7120d9c01c59a0843dfcbe93c95c64d81c1
+PKG_HASH:=0b52df2117bacf2e32d1d3f98d09dbf88b274390733d3955699b108acaf9f2a6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://inai.de/files/xtables-addons/
@@ -41,15 +41,6 @@ CONFIGURE_ARGS+= \
--with-kbuild="$(LINUX_DIR)" \
--with-xtlibdir="/usr/lib/iptables"
-ifdef CONFIG_EXTERNAL_TOOLCHAIN
-MAKE_FLAGS:= \
- $(patsubst ARCH=%,ARCH=$(LINUX_KARCH),$(MAKE_FLAGS)) \
- DEPMOD="/bin/true"
-
-MAKE_INSTALL_FLAGS:= \
- $(patsubst ARCH=%,ARCH=$(LINUX_KARCH),$(MAKE_FLAGS)) \
- DEPMOD="/bin/true"
-else
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
$(KERNEL_MAKE_FLAGS) \
@@ -65,7 +56,6 @@ define Build/Install
DEPMOD="/bin/true" \
install
endef
-endif
# 1: extension/module suffix used in package name
# 2: extension/module display name used in package title/description
@@ -80,7 +70,7 @@ define BuildTemplate
$$(call Package/xtables-addons)
CATEGORY:=Network
TITLE:=$(2) iptables extension
- DEPENDS:=iptables $(if $(4),+kmod-ipt-$(1)) @!LINUX_6_10 @!LINUX_6_11
+ DEPENDS:=iptables $(if $(4),+kmod-ipt-$(1))
endef
define Package/iptables-mod-$(1)/install
@@ -99,7 +89,7 @@ define BuildTemplate
define KernelPackage/ipt-$(1)
SUBMENU:=Netfilter Extensions
TITLE:=$(2) netfilter module
- DEPENDS:=+kmod-ipt-core $(5) @!LINUX_6_10 @!LINUX_6_11
+ DEPENDS:=+kmod-ipt-core $(5)
FILES:=$(foreach mod,$(4),$(PKG_BUILD_DIR)/extensions/$(mod).$(LINUX_KMOD_SUFFIX))
AUTOLOAD:=$(call AutoProbe,$(notdir $(4)))
endef
@@ -114,7 +104,7 @@ define Package/iptaccount
$(call Package/xtables-addons)
CATEGORY:=Network
TITLE:=iptables-mod-account control utility
- DEPENDS:=iptables +iptables-mod-account @!LINUX_6_10 @!LINUX_6_11
+ DEPENDS:=iptables +iptables-mod-account
endef
define Package/iptaccount/install
@@ -136,7 +126,7 @@ define Package/iptasn
DEPENDS:=iptables +iptables-mod-asn \
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
+perl-net-cidr-lite \
- +wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10 @!LINUX_6_11
+ +wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip
endef
define Package/iptasn/config
@@ -172,7 +162,7 @@ define Package/iptgeoip
DEPENDS:=iptables +iptables-mod-geoip \
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
+perl-net-cidr-lite \
- +wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10 @!LINUX_6_11
+ +wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip
endef
define Package/iptgeoip/config
diff --git a/xtables-addons/patches/200-add-lua-packetscript.patch b/xtables-addons/patches/200-add-lua-packetscript.patch
index 2a97f54d7..c49014e49 100644
--- a/xtables-addons/patches/200-add-lua-packetscript.patch
+++ b/xtables-addons/patches/200-add-lua-packetscript.patch
@@ -1038,7 +1038,7 @@
+#endif /* CONTROLLER_H_ */
--- /dev/null
+++ b/extensions/LUA/Kbuild
-@@ -0,0 +1,49 @@
+@@ -0,0 +1,51 @@
+# -*- Makefile -*-
+
+# Adding debug options
@@ -1063,6 +1063,8 @@
+ prot_buf_dynamic.o \
+
+
++# Enable
++EXTRA_CFLAGS += -isystem $(shell $(CC) -print-file-name=include)
+# Adding Lua Support
+EXTRA_CFLAGS += -I$(src)/lua -I$(src)/lua/include
+xt_LUA-y += lua/lapi.o \
@@ -1361,16 +1363,13 @@
+#include
--- /dev/null
+++ b/extensions/LUA/lua/lapi.c
-@@ -0,0 +1,1086 @@
+@@ -0,0 +1,1083 @@
+/*
+** $Id: lapi.c,v 2.55.1.5 2008/07/04 18:41:18 roberto Exp $
+** Lua API
+** See Copyright Notice in lua.h
+*/
+
-+#include
-+#include
-+#include
+#include
+
+#define lapi_c
@@ -7825,7 +7824,7 @@
+}
--- /dev/null
+++ b/extensions/LUA/lua/llex.h
-@@ -0,0 +1,81 @@
+@@ -0,0 +1,83 @@
+/*
+** $Id: llex.h,v 1.58.1.1 2007/12/27 13:02:25 roberto Exp $
+** Lexical Analyzer
@@ -7838,6 +7837,8 @@
+#include "lobject.h"
+#include "lzio.h"
+
++/* prevent conflict with definition from asm/current.h */
++#undef current
+
+#define FIRST_RESERVED 257
+
@@ -7909,7 +7910,7 @@
+#endif
--- /dev/null
+++ b/extensions/LUA/lua/llimits.h
-@@ -0,0 +1,125 @@
+@@ -0,0 +1,124 @@
+/*
+** $Id: llimits.h,v 1.69.1.1 2007/12/27 13:02:25 roberto Exp $
+** Limits, basic types, and some other `installation-dependent' definitions
@@ -7920,7 +7921,6 @@
+#define llimits_h
+
+#include
-+#include
+
+#include "lua.h"
+
@@ -12003,7 +12003,7 @@
+}
--- /dev/null
+++ b/extensions/LUA/lua/ltable.c
-@@ -0,0 +1,588 @@
+@@ -0,0 +1,587 @@
+/*
+** $Id: ltable.c,v 2.32.1.2 2007/12/28 15:32:23 roberto Exp $
+** Lua tables (hash)
@@ -12024,7 +12024,6 @@
+** Hence even when the load factor reaches 100%, performance remains good.
+*/
+
-+#include
+#include
+
+#define ltable_c
@@ -13062,7 +13061,7 @@
+#endif
--- /dev/null
+++ b/extensions/LUA/lua/luaconf.h
-@@ -0,0 +1,797 @@
+@@ -0,0 +1,803 @@
+/*
+** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $
+** Configuration file for Lua
@@ -13078,8 +13077,12 @@
+#if !defined(__KERNEL__)
+#include
+#else
++#include
++
++#undef UCHAR_MAX
++#undef BUFSIZ
++#undef NO_FPU
+#define UCHAR_MAX 255
-+#define SHRT_MAX 32767
+#define BUFSIZ 8192
+#define NO_FPU
+#endif
@@ -13702,6 +13705,8 @@
+*/
+#if defined(__KERNEL__)
+#undef LUA_USE_ULONGJMP
++#define setjmp __builtin_setjmp
++#define longjmp __builtin_longjmp
+#endif
+
+#if defined(__cplusplus)
@@ -15649,7 +15654,7 @@
+RANLIB = ranlib
+SED = /bin/sed
+SET_MAKE =
-+SHELL = /bin/bash
++SHELL = /bin/sh
+STRIP = strip
+VERSION = 1.21
+abs_builddir = /home/andre/Dropbox/xtables-addons/extensions/LUA
@@ -17221,7 +17226,7 @@
+
--- /dev/null
+++ b/extensions/LUA/prot_buf_ip.c
-@@ -0,0 +1,209 @@
+@@ -0,0 +1,210 @@
+/*
+ * Copyright (C) 2010 University of Basel
+ * by Andre Graf
@@ -17241,6 +17246,7 @@
+ */
+
+#if defined(__KERNEL__)
++ #include
+ #include
+ #include
+#endif
@@ -17479,7 +17485,7 @@
+}
--- /dev/null
+++ b/extensions/LUA/prot_buf_tcp.c
-@@ -0,0 +1,188 @@
+@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2010 University of Basel
+ * by Andre Graf
@@ -17499,6 +17505,7 @@
+ */
+
+#if defined(__KERNEL__)
++ #include
+ #include
+ #include
+#endif
@@ -17760,7 +17767,7 @@
+}
--- /dev/null
+++ b/extensions/LUA/prot_buf_udp.c
-@@ -0,0 +1,53 @@
+@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2010 University of Basel
+ * by Andre Graf
@@ -17780,6 +17787,7 @@
+ */
+
+#if defined(__KERNEL__)
++ #include
+ #include
+#endif
+
@@ -17877,7 +17885,7 @@
+#include
+#include
+#include
-+#include
++#include
+#include
+#include
+#include "xt_LUA.h"
@@ -17922,10 +17930,10 @@
+ * XT_CONTINUE inside the *register_lua_packet_lib* function.
+ */
+
-+spinlock_t lock = SPIN_LOCK_UNLOCKED;
++DEFINE_SPINLOCK(lock);
+
+static uint32_t
-+lua_tg(struct sk_buff *pskb, const struct xt_target_param *par)
++lua_tg(struct sk_buff *pskb, const struct xt_action_param *par)
+{
+ uint32_t verdict;
+ lua_packet_segment *p;
@@ -17937,7 +17945,7 @@
+
+ L = lua_envs[info->state_id]->L;
+
-+ if (!skb_make_writable(pskb, pskb->len))
++ if (skb_ensure_writable(pskb, pskb->len))
+ return NF_DROP;
+
+ /* call the function provided by --function parameter or the default 'process_packet' defined in Lua */
@@ -17946,11 +17954,11 @@
+ /* push the lua_packet_segment as a parameter */
+ p = (lua_packet_segment *)lua_newuserdata(L, sizeof(lua_packet_segment));
+ if (pskb->mac_header)
-+ p->start = pskb->mac_header;
++ p->start = skb_mac_header(pskb);
+ else if (pskb->network_header)
-+ p->start = pskb->network_header;
++ p->start = skb_network_header(pskb);
+ else if (pskb->transport_header)
-+ p->start = pskb->transport_header;
++ p->start = skb_transport_header(pskb);
+ p->offset = 0;
+ p->length = (unsigned long)pskb->tail - (unsigned long)p->start;
+ p->changes = NULL;
@@ -18066,16 +18074,16 @@
+ * some workqueue initialization. So far this is done each time this function
+ * is called, subject to change.
+ */
-+static bool
++static int
+lua_tg_checkentry(const struct xt_tgchk_param *par)
+{
+ const struct xt_lua_tginfo *info = par->targinfo;
+
+ if (load_script_into_state(info->state_id, info->script_size, (char *)info->buf)) {
+ lua_state_refs[info->state_id]++;
-+ return true;
++ return 0;
+ }
-+ return false;
++ return -EINVAL;
+}
+
+/*::*
diff --git a/xtables-addons/patches/201-fix-lua-packetscript.patch b/xtables-addons/patches/201-fix-lua-packetscript.patch
index 64130121c..fad2693fa 100644
--- a/xtables-addons/patches/201-fix-lua-packetscript.patch
+++ b/xtables-addons/patches/201-fix-lua-packetscript.patch
@@ -1,147 +1,12 @@
---- a/extensions/LUA/Kbuild
-+++ b/extensions/LUA/Kbuild
-@@ -22,6 +22,8 @@ xt_LUA-y += nf_lua.o \
- prot_buf_dynamic.o \
-
-
-+# Enable
-+EXTRA_CFLAGS += -isystem $(shell $(CC) -print-file-name=include)
- # Adding Lua Support
- EXTRA_CFLAGS += -I$(src)/lua -I$(src)/lua/include
- xt_LUA-y += lua/lapi.o \
---- a/extensions/LUA/xt_LUA_target.c
-+++ b/extensions/LUA/xt_LUA_target.c
-@@ -19,7 +19,7 @@
- #include
- #include
- #include
--#include
-+#include
- #include
- #include
- #include "xt_LUA.h"
-@@ -64,10 +64,10 @@ uint32_t lua_state_refs[LUA_STATE_ARRAY
- * XT_CONTINUE inside the *register_lua_packet_lib* function.
- */
-
--spinlock_t lock = SPIN_LOCK_UNLOCKED;
-+DEFINE_SPINLOCK(lock);
-
- static uint32_t
--lua_tg(struct sk_buff *pskb, const struct xt_target_param *par)
-+lua_tg(struct sk_buff *pskb, const struct xt_action_param *par)
- {
- uint32_t verdict;
- lua_packet_segment *p;
-@@ -79,7 +79,7 @@ lua_tg(struct sk_buff *pskb, const struc
-
- L = lua_envs[info->state_id]->L;
-
-- if (!skb_make_writable(pskb, pskb->len))
-+ if (skb_ensure_writable(pskb, pskb->len))
- return NF_DROP;
-
- /* call the function provided by --function parameter or the default 'process_packet' defined in Lua */
-@@ -88,11 +88,11 @@ lua_tg(struct sk_buff *pskb, const struc
- /* push the lua_packet_segment as a parameter */
- p = (lua_packet_segment *)lua_newuserdata(L, sizeof(lua_packet_segment));
- if (pskb->mac_header)
-- p->start = pskb->mac_header;
-+ p->start = skb_mac_header(pskb);
- else if (pskb->network_header)
-- p->start = pskb->network_header;
-+ p->start = skb_network_header(pskb);
- else if (pskb->transport_header)
-- p->start = pskb->transport_header;
-+ p->start = skb_transport_header(pskb);
- p->offset = 0;
- p->length = (unsigned long)pskb->tail - (unsigned long)p->start;
- p->changes = NULL;
-@@ -208,16 +208,16 @@ static bool load_script_into_state(uint3
- * some workqueue initialization. So far this is done each time this function
- * is called, subject to change.
- */
--static bool
-+static int
- lua_tg_checkentry(const struct xt_tgchk_param *par)
- {
- const struct xt_lua_tginfo *info = par->targinfo;
-
- if (load_script_into_state(info->state_id, info->script_size, (char *)info->buf)) {
- lua_state_refs[info->state_id]++;
-- return true;
-+ return 0;
- }
-- return false;
-+ return -EINVAL;
- }
-
- /*::*
---- a/extensions/LUA/lua/llimits.h
-+++ b/extensions/LUA/lua/llimits.h
-@@ -8,7 +8,6 @@
- #define llimits_h
-
- #include
--#include
-
- #include "lua.h"
-
---- a/extensions/LUA/lua/lapi.c
-+++ b/extensions/LUA/lua/lapi.c
-@@ -4,9 +4,6 @@
- ** See Copyright Notice in lua.h
- */
-
--#include
--#include
--#include
- #include
-
- #define lapi_c
---- a/extensions/LUA/lua/ltable.c
-+++ b/extensions/LUA/lua/ltable.c
-@@ -18,7 +18,6 @@
- ** Hence even when the load factor reaches 100%, performance remains good.
- */
-
--#include
- #include
-
- #define ltable_c
---- a/extensions/LUA/lua/luaconf.h
-+++ b/extensions/LUA/lua/luaconf.h
-@@ -13,8 +13,12 @@
- #if !defined(__KERNEL__)
- #include
- #else
-+#include
-+
-+#undef UCHAR_MAX
-+#undef BUFSIZ
-+#undef NO_FPU
- #define UCHAR_MAX 255
--#define SHRT_MAX 32767
- #define BUFSIZ 8192
- #define NO_FPU
- #endif
-@@ -637,6 +641,8 @@ union luai_Cast { double l_d; long l_l;
- */
- #if defined(__KERNEL__)
- #undef LUA_USE_ULONGJMP
-+#define setjmp __builtin_setjmp
-+#define longjmp __builtin_longjmp
- #endif
-
- #if defined(__cplusplus)
---- a/extensions/LUA/lua/llex.h
-+++ b/extensions/LUA/lua/llex.h
-@@ -10,6 +10,8 @@
- #include "lobject.h"
- #include "lzio.h"
-
-+/* prevent conflict with definition from asm/current.h */
-+#undef current
-
- #define FIRST_RESERVED 257
+--- a/extensions/LUA/controller.h 2024-09-26 16:49:17.099012595 +0200
++++ b/extensions/LUA/controller.h 2024-09-26 16:49:39.098706793 +0200
+@@ -244,6 +244,9 @@
+ int get_string_generic(lua_State *L);
+ int get_byte_generic_str(lua_State *L);
+ struct field_changes * get_allocated_field_changes(lua_State *L, int nr_of_fields);
++int32_t get_header_size(struct protocol_buf * prot_buf);
++struct field_changes * tftp_get_field_changes(lua_State *L, lua_packet_segment * seg);
++void free_dynamic_prot_buf(struct protocol_buf * prot_buf);
+ /* only used by the dynamic prot buf subsystem */
+ #define MAX_NR_OF_DYN_PROT_BUFS 16
diff --git a/xtables-addons/patches/210-freebsd-build-fix.patch b/xtables-addons/patches/210-freebsd-build-fix.patch
deleted file mode 100644
index 4f05d60eb..000000000
--- a/xtables-addons/patches/210-freebsd-build-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/extensions/LUA/Makefile
-+++ b/extensions/LUA/Makefile
-@@ -110,7 +110,7 @@ PKG_CONFIG = /usr/bin/pkg-config
- RANLIB = ranlib
- SED = /bin/sed
- SET_MAKE =
--SHELL = /bin/bash
-+SHELL = /bin/sh
- STRIP = strip
- VERSION = 1.21
- abs_builddir = /home/andre/Dropbox/xtables-addons/extensions/LUA
diff --git a/xtables-addons/patches/300-fix-path-Makefile.extra.patch b/xtables-addons/patches/300-fix-path-Makefile.extra.patch
new file mode 100644
index 000000000..34791746c
--- /dev/null
+++ b/xtables-addons/patches/300-fix-path-Makefile.extra.patch
@@ -0,0 +1,11 @@
+--- a/extensions/ACCOUNT/Makefile.am
++++ b/extensions/ACCOUNT/Makefile.am
+@@ -3,7 +3,7 @@
+ AM_CPPFLAGS = ${regular_CPPFLAGS} -I${abs_top_srcdir}/extensions
+ AM_CFLAGS = ${regular_CFLAGS} ${libxtables_CFLAGS}
+
+-include ${top_srcdir}/Makefile.extra
++include ../../Makefile.extra
+
+ sbin_PROGRAMS = iptaccount
+ iptaccount_LDADD = libxt_ACCOUNT_cl.la
diff --git a/xtables-addons/patches/301-fix-build-with-linux-6.11.patch b/xtables-addons/patches/301-fix-build-with-linux-6.11.patch
new file mode 100644
index 000000000..15ebf12a4
--- /dev/null
+++ b/xtables-addons/patches/301-fix-build-with-linux-6.11.patch
@@ -0,0 +1,15 @@
+--- a/extensions/rtsp/nf_conntrack_rtsp.c
++++ b/extensions/rtsp/nf_conntrack_rtsp.c
+@@ -735,8 +735,12 @@ init(void)
+ }
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0)
+ strlcpy(hlpr->name, tmpname, sizeof(hlpr->name));
+ #else
++ strscpy(hlpr->name, tmpname, sizeof(hlpr->name));
++#endif
++#else
+ hlpr->name = tmpname;
+ #endif
+ pr_debug("port #%d: %d\n", i, ports[i]);
diff --git a/xtables-addons/patches/900-remove-checksumh.patch b/xtables-addons/patches/900-remove-checksumh.patch
deleted file mode 100644
index 4af1688f5..000000000
--- a/xtables-addons/patches/900-remove-checksumh.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/extensions/LUA/prot_buf_ip.c 2023-10-20 16:55:00.658340536 +0200
-+++ b/extensions/LUA/prot_buf_ip.c 2023-10-20 16:55:11.030165998 +0200
-@@ -17,7 +17,6 @@
- */
-
- #if defined(__KERNEL__)
-- #include
- #include
- #endif
-
---- a/extensions/LUA/prot_buf_tcp.c 2023-10-20 17:05:44.507457150 +0200
-+++ v/extensions/LUA/prot_buf_tcp.c 2023-10-20 17:06:08.907041173 +0200
-@@ -17,7 +17,6 @@
- */
-
- #if defined(__KERNEL__)
-- #include
- #include
- #endif
- #include "controller.h"
---- a/extensions/LUA/prot_buf_udp.c 2023-10-20 17:05:54.411288304 +0200
-+++ b/extensions/LUA/prot_buf_udp.c 2023-10-20 17:06:15.758924360 +0200
-@@ -16,10 +16,9 @@
- * along with this program; if not, see .
- */
-
- #if defined(__KERNEL__)
-- #include
- #endif
-
- #include "controller.h"
-
-