mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
sync (#549)
This commit is contained in:
commit
ebf5ea4413
22 changed files with 142 additions and 386 deletions
|
@ -1337,6 +1337,12 @@ function settings_add()
|
||||||
local disable_6in4 = luci.http.formvalue("enable6in4") or "0"
|
local disable_6in4 = luci.http.formvalue("enable6in4") or "0"
|
||||||
ucic:set("openmptcprouter","settings","disable_6in4",disable_6in4)
|
ucic:set("openmptcprouter","settings","disable_6in4",disable_6in4)
|
||||||
|
|
||||||
|
-- Disable ModemManager
|
||||||
|
local disable_modemmanager = luci.http.formvalue("disablemodemmanager") or "0"
|
||||||
|
ucic:set("openmptcprouter","settings","disable_modemmanager",disable_modemmanager)
|
||||||
|
if disable_modemmanager == "1" then
|
||||||
|
luci.sys.exec("/etc/init.d/modemmanager stop")
|
||||||
|
end
|
||||||
|
|
||||||
-- Enable/disable external check
|
-- Enable/disable external check
|
||||||
local externalcheck = luci.http.formvalue("externalcheck") or "1"
|
local externalcheck = luci.http.formvalue("externalcheck") or "1"
|
||||||
|
|
|
@ -297,6 +297,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="cbi-value">
|
||||||
|
<label class="cbi-value-title"><%:Disable ModemManager%></label>
|
||||||
|
<div class="cbi-value-field">
|
||||||
|
<input type="checkbox" name="disablemodemmanager" class="cbi-input-checkbox" value="1" <% if luci.model.uci.cursor():get("openmptcprouter","settings","disable_modemmanager") == "1" then %>checked<% end %>>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="cbi-value">
|
<div class="cbi-value">
|
||||||
<label class="cbi-value-title"><%:Shadowsocks UDP%></label>
|
<label class="cbi-value-title"><%:Shadowsocks UDP%></label>
|
||||||
<div class="cbi-value-field">
|
<div class="cbi-value-field">
|
||||||
|
|
|
@ -7,6 +7,7 @@ START=05
|
||||||
LOG_LEVEL="INFO"
|
LOG_LEVEL="INFO"
|
||||||
|
|
||||||
start_service() {
|
start_service() {
|
||||||
|
[ "$(uci -q get openmptcprouter.settings.disable_modemmanager)" = "1" ] && return
|
||||||
# Setup ModemManager service
|
# Setup ModemManager service
|
||||||
#
|
#
|
||||||
# We will make sure that the rundir always exists, and we initially cleanup
|
# We will make sure that the rundir always exists, and we initially cleanup
|
||||||
|
|
|
@ -104,20 +104,21 @@ if [ "$(pgrep uhttpd)" = "" ] && [ -f /etc/init.d/uhttpd ]; then
|
||||||
sleep 5
|
sleep 5
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ]; then
|
if [ "$(uci -q get openmptcprouter.settings.disable_modemmanager)" != "1" ]; then
|
||||||
_log "Can't find ModemManager, restart it..."
|
if [ -z "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ]; then
|
||||||
/etc/init.d/modemmanager restart >/dev/null 2>&1
|
_log "Can't find ModemManager, restart it..."
|
||||||
sleep 5
|
/etc/init.d/modemmanager restart >/dev/null 2>&1
|
||||||
elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ] && [ -z "$(timeout 2 mmcli -L)" ]; then
|
sleep 5
|
||||||
_log "ModemManager doesn't answer, restart it..."
|
elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ] && [ -z "$(timeout 2 mmcli -L)" ]; then
|
||||||
/etc/init.d/modemmanager restart >/dev/null 2>&1
|
_log "ModemManager doesn't answer, restart it..."
|
||||||
sleep 5
|
/etc/init.d/modemmanager restart >/dev/null 2>&1
|
||||||
#elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -z "$(uci -q show network | grep modemmanager)" ]; then
|
sleep 5
|
||||||
# _log "ModemManager not used, stop it..."
|
#elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -z "$(uci -q show network | grep modemmanager)" ]; then
|
||||||
# /etc/init.d/modemmanager stop >/dev/null 2>&1
|
# _log "ModemManager not used, stop it..."
|
||||||
# sleep 5
|
# /etc/init.d/modemmanager stop >/dev/null 2>&1
|
||||||
|
# sleep 5
|
||||||
|
fi
|
||||||
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
|
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..."
|
_log "Can't find omr-tracker-v2ray, restart omr-tracker..."
|
||||||
/etc/init.d/omr-tracker restart >/dev/null 2>&1
|
/etc/init.d/omr-tracker restart >/dev/null 2>&1
|
||||||
|
|
|
@ -35,7 +35,7 @@ config defaults 'defaults'
|
||||||
option family 'ipv4'
|
option family 'ipv4'
|
||||||
option reliability '1'
|
option reliability '1'
|
||||||
option count '2'
|
option count '2'
|
||||||
option failure_interval '5'
|
option failure_interval '20'
|
||||||
option tries_up '5'
|
option tries_up '5'
|
||||||
|
|
||||||
config proxy 'proxy'
|
config proxy 'proxy'
|
||||||
|
|
|
@ -115,6 +115,13 @@ if [ "$(uci -q get omr-tracker.defaults.server_http_test)" = "" ]; then
|
||||||
EOF
|
EOF
|
||||||
fi
|
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
|
if [ "$(uci -q get omr-tracker.defaults.family)" = "" ]; then
|
||||||
uci -q batch <<-EOF >/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
set omr-tracker.defaults.initial_state='online'
|
set omr-tracker.defaults.initial_state='online'
|
||||||
|
|
|
@ -42,7 +42,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
|
||||||
# ifup $OMR_TRACKER_INTERFACE
|
# ifup $OMR_TRACKER_INTERFACE
|
||||||
# sleep 30
|
# 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" ] && [ -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"
|
modemfind="0"
|
||||||
device="$(uci -q get network.$OMR_TRACKER_INTERFACE.device)"
|
device="$(uci -q get network.$OMR_TRACKER_INTERFACE.device)"
|
||||||
. /usr/share/ModemManager/modemmanager.common
|
. /usr/share/ModemManager/modemmanager.common
|
||||||
|
|
|
@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk
|
||||||
define KernelPackage/ovpn-dco-v2
|
define KernelPackage/ovpn-dco-v2
|
||||||
SUBMENU:=Network Support
|
SUBMENU:=Network Support
|
||||||
TITLE:=OpenVPN data channel offload
|
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
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco-v2.ko
|
||||||
AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2)
|
AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2)
|
||||||
endef
|
endef
|
||||||
|
|
15
ovpn-dco/patches/900-fix-linux-6.6.patch
Normal file
15
ovpn-dco/patches/900-fix-linux-6.6.patch
Normal file
|
@ -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 <net/gso.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include <linux/workqueue.h>
|
||||||
|
#include <uapi/linux/if_ether.h>
|
||||||
|
|
9
ovpn-dco/patches/901-fix-linux-6.11.patch
Normal file
9
ovpn-dco/patches/901-fix-linux-6.11.patch
Normal file
|
@ -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
|
|
@ -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))
|
|
|
@ -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))
|
|
|
@ -1,42 +0,0 @@
|
||||||
--- a/src/r8168_n.c
|
|
||||||
+++ b/src/r8168_n.c
|
|
||||||
@@ -47,6 +47,7 @@
|
|
||||||
#include <linux/etherdevice.h>
|
|
||||||
#include <linux/delay.h>
|
|
||||||
#include <linux/mii.h>
|
|
||||||
+#include <linux/of.h>
|
|
||||||
#include <linux/if_vlan.h>
|
|
||||||
#include <linux/crc32.h>
|
|
||||||
#include <linux/interrupt.h>
|
|
||||||
@@ -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);
|
|
|
@ -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 <linux/mdio.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,5,0)
|
|
||||||
+#include <net/gso.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <asm/io.h>
|
|
||||||
#include <asm/irq.h>
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
PKG_NAME:=shadowsocks-rust
|
PKG_NAME:=shadowsocks-rust
|
||||||
PKG_VERSION:=1.20.4
|
PKG_VERSION:=1.21.0
|
||||||
PKG_HASH:=cf064ad157974b3e396aab3bb60aab380dbc4e11b736603bfbc8e7a138f6bb26
|
PKG_HASH:=4891475a2389676e4fd3250bb579ffa7d1ad0bc9e3987c3e293c8f3a8a37bded
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
|
|
@ -7,9 +7,9 @@ include $(TOPDIR)/rules.mk
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
PKG_NAME:=xtables-addons
|
PKG_NAME:=xtables-addons
|
||||||
PKG_VERSION:=3.24
|
PKG_VERSION:=3.26
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_HASH:=3e823f71720519ced31c4c7d2bfaf7120d9c01c59a0843dfcbe93c95c64d81c1
|
PKG_HASH:=0b52df2117bacf2e32d1d3f98d09dbf88b274390733d3955699b108acaf9f2a6
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=https://inai.de/files/xtables-addons/
|
PKG_SOURCE_URL:=https://inai.de/files/xtables-addons/
|
||||||
|
@ -41,15 +41,6 @@ CONFIGURE_ARGS+= \
|
||||||
--with-kbuild="$(LINUX_DIR)" \
|
--with-kbuild="$(LINUX_DIR)" \
|
||||||
--with-xtlibdir="/usr/lib/iptables"
|
--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
|
define Build/Compile
|
||||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||||
$(KERNEL_MAKE_FLAGS) \
|
$(KERNEL_MAKE_FLAGS) \
|
||||||
|
@ -65,7 +56,6 @@ define Build/Install
|
||||||
DEPMOD="/bin/true" \
|
DEPMOD="/bin/true" \
|
||||||
install
|
install
|
||||||
endef
|
endef
|
||||||
endif
|
|
||||||
|
|
||||||
# 1: extension/module suffix used in package name
|
# 1: extension/module suffix used in package name
|
||||||
# 2: extension/module display name used in package title/description
|
# 2: extension/module display name used in package title/description
|
||||||
|
@ -80,7 +70,7 @@ define BuildTemplate
|
||||||
$$(call Package/xtables-addons)
|
$$(call Package/xtables-addons)
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=$(2) iptables extension
|
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
|
endef
|
||||||
|
|
||||||
define Package/iptables-mod-$(1)/install
|
define Package/iptables-mod-$(1)/install
|
||||||
|
@ -99,7 +89,7 @@ define BuildTemplate
|
||||||
define KernelPackage/ipt-$(1)
|
define KernelPackage/ipt-$(1)
|
||||||
SUBMENU:=Netfilter Extensions
|
SUBMENU:=Netfilter Extensions
|
||||||
TITLE:=$(2) netfilter module
|
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))
|
FILES:=$(foreach mod,$(4),$(PKG_BUILD_DIR)/extensions/$(mod).$(LINUX_KMOD_SUFFIX))
|
||||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(4)))
|
AUTOLOAD:=$(call AutoProbe,$(notdir $(4)))
|
||||||
endef
|
endef
|
||||||
|
@ -114,7 +104,7 @@ define Package/iptaccount
|
||||||
$(call Package/xtables-addons)
|
$(call Package/xtables-addons)
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=iptables-mod-account control utility
|
TITLE:=iptables-mod-account control utility
|
||||||
DEPENDS:=iptables +iptables-mod-account @!LINUX_6_10 @!LINUX_6_11
|
DEPENDS:=iptables +iptables-mod-account
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/iptaccount/install
|
define Package/iptaccount/install
|
||||||
|
@ -136,7 +126,7 @@ define Package/iptasn
|
||||||
DEPENDS:=iptables +iptables-mod-asn \
|
DEPENDS:=iptables +iptables-mod-asn \
|
||||||
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
|
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
|
||||||
+perl-net-cidr-lite \
|
+perl-net-cidr-lite \
|
||||||
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10 @!LINUX_6_11
|
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/iptasn/config
|
define Package/iptasn/config
|
||||||
|
@ -172,7 +162,7 @@ define Package/iptgeoip
|
||||||
DEPENDS:=iptables +iptables-mod-geoip \
|
DEPENDS:=iptables +iptables-mod-geoip \
|
||||||
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
|
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
|
||||||
+perl-net-cidr-lite \
|
+perl-net-cidr-lite \
|
||||||
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10 @!LINUX_6_11
|
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/iptgeoip/config
|
define Package/iptgeoip/config
|
||||||
|
|
|
@ -1038,7 +1038,7 @@
|
||||||
+#endif /* CONTROLLER_H_ */
|
+#endif /* CONTROLLER_H_ */
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/extensions/LUA/Kbuild
|
+++ b/extensions/LUA/Kbuild
|
||||||
@@ -0,0 +1,49 @@
|
@@ -0,0 +1,51 @@
|
||||||
+# -*- Makefile -*-
|
+# -*- Makefile -*-
|
||||||
+
|
+
|
||||||
+# Adding debug options
|
+# Adding debug options
|
||||||
|
@ -1063,6 +1063,8 @@
|
||||||
+ prot_buf_dynamic.o \
|
+ prot_buf_dynamic.o \
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
|
+# Enable <stddef.h> <stdarg.h>
|
||||||
|
+EXTRA_CFLAGS += -isystem $(shell $(CC) -print-file-name=include)
|
||||||
+# Adding Lua Support
|
+# Adding Lua Support
|
||||||
+EXTRA_CFLAGS += -I$(src)/lua -I$(src)/lua/include
|
+EXTRA_CFLAGS += -I$(src)/lua -I$(src)/lua/include
|
||||||
+xt_LUA-y += lua/lapi.o \
|
+xt_LUA-y += lua/lapi.o \
|
||||||
|
@ -1361,16 +1363,13 @@
|
||||||
+#include <linux/string.h>
|
+#include <linux/string.h>
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/extensions/LUA/lua/lapi.c
|
+++ 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 $
|
+** $Id: lapi.c,v 2.55.1.5 2008/07/04 18:41:18 roberto Exp $
|
||||||
+** Lua API
|
+** Lua API
|
||||||
+** See Copyright Notice in lua.h
|
+** See Copyright Notice in lua.h
|
||||||
+*/
|
+*/
|
||||||
+
|
+
|
||||||
+#include <stdarg.h>
|
|
||||||
+#include <math.h>
|
|
||||||
+#include <assert.h>
|
|
||||||
+#include <string.h>
|
+#include <string.h>
|
||||||
+
|
+
|
||||||
+#define lapi_c
|
+#define lapi_c
|
||||||
|
@ -7825,7 +7824,7 @@
|
||||||
+}
|
+}
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/extensions/LUA/lua/llex.h
|
+++ 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 $
|
+** $Id: llex.h,v 1.58.1.1 2007/12/27 13:02:25 roberto Exp $
|
||||||
+** Lexical Analyzer
|
+** Lexical Analyzer
|
||||||
|
@ -7838,6 +7837,8 @@
|
||||||
+#include "lobject.h"
|
+#include "lobject.h"
|
||||||
+#include "lzio.h"
|
+#include "lzio.h"
|
||||||
+
|
+
|
||||||
|
+/* prevent conflict with definition from asm/current.h */
|
||||||
|
+#undef current
|
||||||
+
|
+
|
||||||
+#define FIRST_RESERVED 257
|
+#define FIRST_RESERVED 257
|
||||||
+
|
+
|
||||||
|
@ -7909,7 +7910,7 @@
|
||||||
+#endif
|
+#endif
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/extensions/LUA/lua/llimits.h
|
+++ 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 $
|
+** $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
|
+** Limits, basic types, and some other `installation-dependent' definitions
|
||||||
|
@ -7920,7 +7921,6 @@
|
||||||
+#define llimits_h
|
+#define llimits_h
|
||||||
+
|
+
|
||||||
+#include <stddef.h>
|
+#include <stddef.h>
|
||||||
+#include <limits.h>
|
|
||||||
+
|
+
|
||||||
+#include "lua.h"
|
+#include "lua.h"
|
||||||
+
|
+
|
||||||
|
@ -12003,7 +12003,7 @@
|
||||||
+}
|
+}
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/extensions/LUA/lua/ltable.c
|
+++ 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 $
|
+** $Id: ltable.c,v 2.32.1.2 2007/12/28 15:32:23 roberto Exp $
|
||||||
+** Lua tables (hash)
|
+** Lua tables (hash)
|
||||||
|
@ -12024,7 +12024,6 @@
|
||||||
+** Hence even when the load factor reaches 100%, performance remains good.
|
+** Hence even when the load factor reaches 100%, performance remains good.
|
||||||
+*/
|
+*/
|
||||||
+
|
+
|
||||||
+#include <math.h>
|
|
||||||
+#include <string.h>
|
+#include <string.h>
|
||||||
+
|
+
|
||||||
+#define ltable_c
|
+#define ltable_c
|
||||||
|
@ -13062,7 +13061,7 @@
|
||||||
+#endif
|
+#endif
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/extensions/LUA/lua/luaconf.h
|
+++ 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 $
|
+** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $
|
||||||
+** Configuration file for Lua
|
+** Configuration file for Lua
|
||||||
|
@ -13078,8 +13077,12 @@
|
||||||
+#if !defined(__KERNEL__)
|
+#if !defined(__KERNEL__)
|
||||||
+#include <limits.h>
|
+#include <limits.h>
|
||||||
+#else
|
+#else
|
||||||
|
+#include <linux/kernel.h>
|
||||||
|
+
|
||||||
|
+#undef UCHAR_MAX
|
||||||
|
+#undef BUFSIZ
|
||||||
|
+#undef NO_FPU
|
||||||
+#define UCHAR_MAX 255
|
+#define UCHAR_MAX 255
|
||||||
+#define SHRT_MAX 32767
|
|
||||||
+#define BUFSIZ 8192
|
+#define BUFSIZ 8192
|
||||||
+#define NO_FPU
|
+#define NO_FPU
|
||||||
+#endif
|
+#endif
|
||||||
|
@ -13702,6 +13705,8 @@
|
||||||
+*/
|
+*/
|
||||||
+#if defined(__KERNEL__)
|
+#if defined(__KERNEL__)
|
||||||
+#undef LUA_USE_ULONGJMP
|
+#undef LUA_USE_ULONGJMP
|
||||||
|
+#define setjmp __builtin_setjmp
|
||||||
|
+#define longjmp __builtin_longjmp
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
+#if defined(__cplusplus)
|
+#if defined(__cplusplus)
|
||||||
|
@ -15649,7 +15654,7 @@
|
||||||
+RANLIB = ranlib
|
+RANLIB = ranlib
|
||||||
+SED = /bin/sed
|
+SED = /bin/sed
|
||||||
+SET_MAKE =
|
+SET_MAKE =
|
||||||
+SHELL = /bin/bash
|
+SHELL = /bin/sh
|
||||||
+STRIP = strip
|
+STRIP = strip
|
||||||
+VERSION = 1.21
|
+VERSION = 1.21
|
||||||
+abs_builddir = /home/andre/Dropbox/xtables-addons/extensions/LUA
|
+abs_builddir = /home/andre/Dropbox/xtables-addons/extensions/LUA
|
||||||
|
@ -17221,7 +17226,7 @@
|
||||||
+
|
+
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/extensions/LUA/prot_buf_ip.c
|
+++ b/extensions/LUA/prot_buf_ip.c
|
||||||
@@ -0,0 +1,209 @@
|
@@ -0,0 +1,210 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2010 University of Basel <http://cn.cs.unibas.ch/>
|
+ * Copyright (C) 2010 University of Basel <http://cn.cs.unibas.ch/>
|
||||||
+ * by Andre Graf <andre@dergraf.org>
|
+ * by Andre Graf <andre@dergraf.org>
|
||||||
|
@ -17241,6 +17246,7 @@
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+#if defined(__KERNEL__)
|
+#if defined(__KERNEL__)
|
||||||
|
+ #include <linux/bitops.h>
|
||||||
+ #include <net/checksum.h>
|
+ #include <net/checksum.h>
|
||||||
+ #include <net/tcp.h>
|
+ #include <net/tcp.h>
|
||||||
+#endif
|
+#endif
|
||||||
|
@ -17479,7 +17485,7 @@
|
||||||
+}
|
+}
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/extensions/LUA/prot_buf_tcp.c
|
+++ b/extensions/LUA/prot_buf_tcp.c
|
||||||
@@ -0,0 +1,188 @@
|
@@ -0,0 +1,189 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2010 University of Basel <http://cn.cs.unibas.ch/>
|
+ * Copyright (C) 2010 University of Basel <http://cn.cs.unibas.ch/>
|
||||||
+ * by Andre Graf <andre@dergraf.org>
|
+ * by Andre Graf <andre@dergraf.org>
|
||||||
|
@ -17499,6 +17505,7 @@
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+#if defined(__KERNEL__)
|
+#if defined(__KERNEL__)
|
||||||
|
+ #include <linux/bitops.h>
|
||||||
+ #include <net/checksum.h>
|
+ #include <net/checksum.h>
|
||||||
+ #include <net/tcp.h>
|
+ #include <net/tcp.h>
|
||||||
+#endif
|
+#endif
|
||||||
|
@ -17760,7 +17767,7 @@
|
||||||
+}
|
+}
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/extensions/LUA/prot_buf_udp.c
|
+++ b/extensions/LUA/prot_buf_udp.c
|
||||||
@@ -0,0 +1,53 @@
|
@@ -0,0 +1,54 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2010 University of Basel <http://cn.cs.unibas.ch/>
|
+ * Copyright (C) 2010 University of Basel <http://cn.cs.unibas.ch/>
|
||||||
+ * by Andre Graf <andre@dergraf.org>
|
+ * by Andre Graf <andre@dergraf.org>
|
||||||
|
@ -17780,6 +17787,7 @@
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+#if defined(__KERNEL__)
|
+#if defined(__KERNEL__)
|
||||||
|
+ #include <linux/bitops.h>
|
||||||
+ #include <net/checksum.h>
|
+ #include <net/checksum.h>
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
|
@ -17877,7 +17885,7 @@
|
||||||
+#include <linux/kernel.h>
|
+#include <linux/kernel.h>
|
||||||
+#include <linux/slab.h>
|
+#include <linux/slab.h>
|
||||||
+#include <linux/module.h>
|
+#include <linux/module.h>
|
||||||
+#include <asm/uaccess.h>
|
+#include <linux/uaccess.h>
|
||||||
+#include <net/ip.h>
|
+#include <net/ip.h>
|
||||||
+#include <linux/netfilter/x_tables.h>
|
+#include <linux/netfilter/x_tables.h>
|
||||||
+#include "xt_LUA.h"
|
+#include "xt_LUA.h"
|
||||||
|
@ -17922,10 +17930,10 @@
|
||||||
+ * XT_CONTINUE inside the *register_lua_packet_lib* function.
|
+ * XT_CONTINUE inside the *register_lua_packet_lib* function.
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+spinlock_t lock = SPIN_LOCK_UNLOCKED;
|
+DEFINE_SPINLOCK(lock);
|
||||||
+
|
+
|
||||||
+static uint32_t
|
+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;
|
+ uint32_t verdict;
|
||||||
+ lua_packet_segment *p;
|
+ lua_packet_segment *p;
|
||||||
|
@ -17937,7 +17945,7 @@
|
||||||
+
|
+
|
||||||
+ L = lua_envs[info->state_id]->L;
|
+ L = lua_envs[info->state_id]->L;
|
||||||
+
|
+
|
||||||
+ if (!skb_make_writable(pskb, pskb->len))
|
+ if (skb_ensure_writable(pskb, pskb->len))
|
||||||
+ return NF_DROP;
|
+ return NF_DROP;
|
||||||
+
|
+
|
||||||
+ /* call the function provided by --function parameter or the default 'process_packet' defined in Lua */
|
+ /* 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 */
|
+ /* push the lua_packet_segment as a parameter */
|
||||||
+ p = (lua_packet_segment *)lua_newuserdata(L, sizeof(lua_packet_segment));
|
+ p = (lua_packet_segment *)lua_newuserdata(L, sizeof(lua_packet_segment));
|
||||||
+ if (pskb->mac_header)
|
+ if (pskb->mac_header)
|
||||||
+ p->start = pskb->mac_header;
|
+ p->start = skb_mac_header(pskb);
|
||||||
+ else if (pskb->network_header)
|
+ else if (pskb->network_header)
|
||||||
+ p->start = pskb->network_header;
|
+ p->start = skb_network_header(pskb);
|
||||||
+ else if (pskb->transport_header)
|
+ else if (pskb->transport_header)
|
||||||
+ p->start = pskb->transport_header;
|
+ p->start = skb_transport_header(pskb);
|
||||||
+ p->offset = 0;
|
+ p->offset = 0;
|
||||||
+ p->length = (unsigned long)pskb->tail - (unsigned long)p->start;
|
+ p->length = (unsigned long)pskb->tail - (unsigned long)p->start;
|
||||||
+ p->changes = NULL;
|
+ p->changes = NULL;
|
||||||
|
@ -18066,16 +18074,16 @@
|
||||||
+ * some workqueue initialization. So far this is done each time this function
|
+ * some workqueue initialization. So far this is done each time this function
|
||||||
+ * is called, subject to change.
|
+ * is called, subject to change.
|
||||||
+ */
|
+ */
|
||||||
+static bool
|
+static int
|
||||||
+lua_tg_checkentry(const struct xt_tgchk_param *par)
|
+lua_tg_checkentry(const struct xt_tgchk_param *par)
|
||||||
+{
|
+{
|
||||||
+ const struct xt_lua_tginfo *info = par->targinfo;
|
+ const struct xt_lua_tginfo *info = par->targinfo;
|
||||||
+
|
+
|
||||||
+ if (load_script_into_state(info->state_id, info->script_size, (char *)info->buf)) {
|
+ if (load_script_into_state(info->state_id, info->script_size, (char *)info->buf)) {
|
||||||
+ lua_state_refs[info->state_id]++;
|
+ lua_state_refs[info->state_id]++;
|
||||||
+ return true;
|
+ return 0;
|
||||||
+ }
|
+ }
|
||||||
+ return false;
|
+ return -EINVAL;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+/*::*
|
+/*::*
|
||||||
|
|
|
@ -1,147 +1,12 @@
|
||||||
--- a/extensions/LUA/Kbuild
|
--- a/extensions/LUA/controller.h 2024-09-26 16:49:17.099012595 +0200
|
||||||
+++ b/extensions/LUA/Kbuild
|
+++ b/extensions/LUA/controller.h 2024-09-26 16:49:39.098706793 +0200
|
||||||
@@ -22,6 +22,8 @@ xt_LUA-y += nf_lua.o \
|
@@ -244,6 +244,9 @@
|
||||||
prot_buf_dynamic.o \
|
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);
|
||||||
+# Enable <stddef.h> <stdarg.h>
|
+int32_t get_header_size(struct protocol_buf * prot_buf);
|
||||||
+EXTRA_CFLAGS += -isystem $(shell $(CC) -print-file-name=include)
|
+struct field_changes * tftp_get_field_changes(lua_State *L, lua_packet_segment * seg);
|
||||||
# Adding Lua Support
|
+void free_dynamic_prot_buf(struct protocol_buf * prot_buf);
|
||||||
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 <linux/kernel.h>
|
|
||||||
#include <linux/slab.h>
|
|
||||||
#include <linux/module.h>
|
|
||||||
-#include <asm/uaccess.h>
|
|
||||||
+#include <linux/uaccess.h>
|
|
||||||
#include <net/ip.h>
|
|
||||||
#include <linux/netfilter/x_tables.h>
|
|
||||||
#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 <stddef.h>
|
|
||||||
-#include <limits.h>
|
|
||||||
|
|
||||||
#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 <stdarg.h>
|
|
||||||
-#include <math.h>
|
|
||||||
-#include <assert.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#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 <math.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#define ltable_c
|
|
||||||
--- a/extensions/LUA/lua/luaconf.h
|
|
||||||
+++ b/extensions/LUA/lua/luaconf.h
|
|
||||||
@@ -13,8 +13,12 @@
|
|
||||||
#if !defined(__KERNEL__)
|
|
||||||
#include <limits.h>
|
|
||||||
#else
|
|
||||||
+#include <linux/kernel.h>
|
|
||||||
+
|
|
||||||
+#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
|
|
||||||
|
|
||||||
|
/* only used by the dynamic prot buf subsystem */
|
||||||
|
#define MAX_NR_OF_DYN_PROT_BUFS 16
|
||||||
|
|
|
@ -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
|
|
11
xtables-addons/patches/300-fix-path-Makefile.extra.patch
Normal file
11
xtables-addons/patches/300-fix-path-Makefile.extra.patch
Normal file
|
@ -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
|
15
xtables-addons/patches/301-fix-build-with-linux-6.11.patch
Normal file
15
xtables-addons/patches/301-fix-build-with-linux-6.11.patch
Normal file
|
@ -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]);
|
|
@ -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 <net/checksum.h>
|
|
||||||
#include <net/tcp.h>
|
|
||||||
#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 <net/checksum.h>
|
|
||||||
#include <net/tcp.h>
|
|
||||||
#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 <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(__KERNEL__)
|
|
||||||
- #include <net/checksum.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "controller.h"
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue