From: Tokisaki-Galaxy Date: Tue, 7 Oct 2025 06:40:03 +0000 (+0800) Subject: luci-mod-status: Fix legacy rule detection false positive X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=63d55a7ec190f71f7027cd450e78e663ff987cb7;p=project%2Fluci.git luci-mod-status: Fix legacy rule detection false positive Refine legacy rule detection to avoid false positives generated by the iptables-nft compatibility layer on fw4 systems. The logic now prioritizes `iptables-legacy-save` for accuracy, while retaining `iptables-save` as a fallback to ensure backward compatibility with fw3. Signed-off-by: Tokisaki-Galaxy --- diff --git a/modules/luci-mod-status/Makefile b/modules/luci-mod-status/Makefile index 26b7c6c6b1..ee00c1d763 100644 --- a/modules/luci-mod-status/Makefile +++ b/modules/luci-mod-status/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Status Pages LUCI_DEPENDS:=+luci-base +libiwinfo +rpcd-mod-iwinfo -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_BUILD_DEPENDS:=iwinfo PKG_LICENSE:=Apache-2.0 diff --git a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js index e619c3e744..40f7f714be 100644 --- a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js +++ b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js @@ -146,8 +146,16 @@ return view.extend({ load: function() { return Promise.all([ L.resolveDefault(fs.exec_direct('/usr/sbin/nft', [ '--terse', '--json', 'list', 'ruleset' ], 'json'), {}), - L.resolveDefault(fs.exec_direct('/usr/sbin/iptables-save'), ''), - L.resolveDefault(fs.exec_direct('/usr/sbin/ip6tables-save'), '') + fs.stat('/usr/sbin/iptables-legacy-save').then(function(stat) { + return L.resolveDefault(fs.exec_direct('/usr/sbin/iptables-legacy-save'), ''); + }).catch(function(err) { + return L.resolveDefault(fs.exec_direct('/usr/sbin/iptables-save'), ''); + }), + fs.stat('/usr/sbin/ip6tables-legacy-save').then(function(stat) { + return L.resolveDefault(fs.exec_direct('/usr/sbin/ip6tables-legacy-save'), ''); + }).catch(function(err) { + return L.resolveDefault(fs.exec_direct('/usr/sbin/ip6tables-save'), ''); + }) ]); },