diff --git a/htdocs/luci-static/resources/pbr/status.js b/htdocs/luci-static/resources/pbr/status.js index 79d0666..6101415 100644 --- a/htdocs/luci-static/resources/pbr/status.js +++ b/htdocs/luci-static/resources/pbr/status.js @@ -10,8 +10,14 @@ var pkg = { get Name() { return "pbr"; }, + // Must equal pbr's pkg.compat and rpcdCompat in luci.pbr. Any change to + // pbr's error/warning catalog bumps all five in lockstep: pbr pkg.uc, + // pbr files/etc/init.d/pbr, pbr tests/04_policies/01_start_dynamic_routing, + // this getter, and rpcdCompat. A mismatch trips isVersionMismatch() below + // and tells the user their WebUI is outdated, so the two packages have to + // be released together. get LuciCompat() { - return 35; + return 36; }, get ReadmeCompat() { return "1.2.3"; @@ -180,7 +186,6 @@ var status = baseclass.extend({ reply = { enabled: reply.enabled || false, running: reply.running || false, - running_iptables: reply.running_iptables || false, running_nft: reply.running_nft || false, running_nft_file: reply.running_nft_file || false, version: reply.version || null, @@ -227,9 +232,7 @@ var status = baseclass.extend({ text = _("Version %s").format(reply.version) + " - "; if (reply.running) { text += _("Running"); - if (reply.running_iptables) { - text += " (" + _("iptables mode") + ")."; - } else if (reply.running_nft_file) { + if (reply.running_nft_file) { text += " (" + _("fw4 nft file mode") + ")."; } else if (reply.running_nft) { text += " (" + _("nft mode") + ")."; @@ -302,15 +305,15 @@ var status = baseclass.extend({ "Installed AdGuardHome (%s) doesn't support 'ipset_file' option.", ), warningPolicyProcessCMD: _("%s"), - warningTorUnsetParams: _( - "Please unset 'src_addr', 'src_port' and 'dest_port' for policy '%s'", + warningTorUnsetSrcPort: _( + "Please unset 'src_port' for policy '%s': it produces an invalid rule", + ), + warningTorUnsetDestPort: _( + "Please unset 'dest_port' for policy '%s': it is ignored", ), warningTorUnsetProto: _( "Please unset 'proto' or set 'proto' to 'all' for policy '%s'", ), - warningTorUnsetChainIpt: _( - "Please unset 'chain' or set 'chain' to 'PREROUTING' for policy '%s'", - ), warningTorUnsetChainNft: _( "Please unset 'chain' or set 'chain' to 'prerouting' for policy '%s'", ), @@ -398,10 +401,6 @@ var status = baseclass.extend({ errorConfigValidation: _("Config (%s) validation failure").format( "/etc/config/" + pkg.Name, ), - errorNoIptables: _("%s binary cannot be found").format("iptables"), - errorNoIpset: _( - "Resolver set support (%s) requires ipset, but ipset binary cannot be found", - ).format(pkg.escapeInfo(L.uci.get(pkg.Name, "config", "resolver_set"))), errorNoNft: _( "Resolver set support (%s) requires nftables, but nft binary cannot be found", ).format(pkg.escapeInfo(L.uci.get(pkg.Name, "config", "resolver_set"))), @@ -423,9 +422,6 @@ var status = baseclass.extend({ '', "!
", ), - errorIpsetNameTooLong: _( - "The ipset name '%s' is longer than allowed 31 characters", - ), errorNftsetNameTooLong: _( "The nft set name '%s' is longer than allowed 255 characters", ), diff --git a/htdocs/luci-static/resources/view/status/include/72_pbr.js b/htdocs/luci-static/resources/view/status/include/72_pbr.js index 75dcca7..f187acb 100644 --- a/htdocs/luci-static/resources/view/status/include/72_pbr.js +++ b/htdocs/luci-static/resources/view/status/include/72_pbr.js @@ -25,9 +25,7 @@ return baseclass.extend({ versionText = reply.version; if (reply.running) { statusText = _("Active"); - if (reply.running_iptables) { - modeText = _("iptables mode"); - } else if (reply.running_nft_file) { + if (reply.running_nft_file) { modeText = _("fw4 nft file mode"); } else if (reply.running_nft) { modeText = _("nft mode"); diff --git a/root/usr/share/rpcd/ucode/luci.pbr b/root/usr/share/rpcd/ucode/luci.pbr index 95425ca..108c4ea 100644 --- a/root/usr/share/rpcd/ucode/luci.pbr +++ b/root/usr/share/rpcd/ucode/luci.pbr @@ -17,7 +17,10 @@ import { access } from 'fs'; import { cursor } from 'uci'; const packageName = 'pbr'; // ucode-lsp disable -const rpcdCompat = 35; // ucode-lsp disable +// Must equal LuciCompat in pbr/status.js and pkg.compat in the pbr backend; +// a mismatch trips isVersionMismatch() and warns the user to update. Bump all +// five locations together whenever pbr's message catalog changes. +const rpcdCompat = 36; // ucode-lsp disable // ── rpcd Method Handlers ────────────────────────────────────────────