diff --git a/applications/luci-app-pbr/Makefile b/applications/luci-app-pbr/Makefile index 7dda2c253150..3931d10f2b0a 100644 --- a/applications/luci-app-pbr/Makefile +++ b/applications/luci-app-pbr/Makefile @@ -7,7 +7,7 @@ PKG_NAME:=luci-app-pbr PKG_LICENSE:=AGPL-3.0-or-later PKG_MAINTAINER:=Stan Grishin PKG_VERSION:=1.1.7 -PKG_RELEASE:=10 +PKG_RELEASE:=15 LUCI_TITLE:=Policy Based Routing Service Web UI LUCI_URL:=https://github.com/stangri/luci-app-pbr/ diff --git a/applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js b/applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js index c9ba968af174..2ece6a4f5802 100644 --- a/applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js +++ b/applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js @@ -302,7 +302,6 @@ var status = baseclass.extend({ errorConfigValidation: _("Config (%s) validation failure").format( "/etc/config/" + pkg.Name ), - errorNoIpFull: _("%s binary cannot be found").format("ip-full"), errorNoIptables: _("%s binary cannot be found").format("iptables"), errorNoIpset: _( "Resolver set support (%s) requires ipset, but ipset binary cannot be found" @@ -396,6 +395,9 @@ var status = baseclass.extend({ errorIncompatibleUserFile: _( "Incompatible custom user file detected '%s'" ), + errorDefaultFw4TableMissing: _("Default fw4 table '%s' is missing"), + errorDefaultFw4ChainMissing: _("Default fw4 chain '%s' is missing"), + errorRequiredBinaryMissing: _("Required binary '%s' is missing"), }; var errorsTitle = E( "label", diff --git a/applications/luci-app-pbr/po/templates/pbr.pot b/applications/luci-app-pbr/po/templates/pbr.pot index 960a85a2baf5..679336adbb74 100644 --- a/applications/luci-app-pbr/po/templates/pbr.pot +++ b/applications/luci-app-pbr/po/templates/pbr.pot @@ -2,12 +2,11 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" #: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:240 -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:348 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:347 msgid "%s" msgstr "" #: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:305 -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:306 msgid "%s binary cannot be found" msgstr "" @@ -66,7 +65,7 @@ msgstr "" msgid "Chain" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:395 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:394 msgid "Command failed: '%s'" msgstr "" @@ -86,7 +85,7 @@ msgstr "" msgid "Custom User File Includes" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:351 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:350 msgid "Custom user file '%s' not found or empty" msgstr "" @@ -106,7 +105,15 @@ msgstr "" msgid "Default ICMP Interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:529 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:399 +msgid "Default fw4 chain '%s' is missing" +msgstr "" + +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:398 +msgid "Default fw4 table '%s' is missing" +msgstr "" + +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:531 msgid "Disable" msgstr "" @@ -116,7 +123,7 @@ msgstr "" msgid "Disabled" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:523 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:525 msgid "Disabling %s service" msgstr "" @@ -142,11 +149,11 @@ msgstr "" msgid "Do not enforce policies when their gateway is down" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:576 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:578 msgid "Donate to the Project" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:510 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:512 msgid "Enable" msgstr "" @@ -158,15 +165,15 @@ msgstr "" msgid "Enabled" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:504 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:506 msgid "Enabling %s service" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:353 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:352 msgid "Error running custom user file '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:418 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:420 msgid "Errors encountered, please check the %sREADME%s" msgstr "" @@ -176,31 +183,31 @@ msgid "" "QoS. Change with caution together with" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:391 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:390 msgid "Failed to download '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:389 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:388 msgid "Failed to download '%s', HTTPS is not supported" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:384 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:383 msgid "Failed to install fw4 nft file '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:350 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:349 msgid "Failed to reload '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:380 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:379 msgid "Failed to resolve '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:349 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:348 msgid "Failed to set up '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:357 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:356 msgid "Failed to set up any gateway" msgstr "" @@ -228,7 +235,7 @@ msgstr "" msgid "Inactive (Disabled)" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:397 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:396 msgid "Incompatible custom user file detected '%s'" msgstr "" @@ -242,11 +249,11 @@ msgstr "" msgid "Insert" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:375 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:374 msgid "Insertion failed for IPv4 for policy '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:372 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:371 msgid "Insertion failed for both IPv4 and IPv6 for policy '%s'" msgstr "" @@ -258,7 +265,7 @@ msgstr "" msgid "Interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:343 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:342 msgid "Interface '%s' has no assigned DNS" msgstr "" @@ -266,7 +273,7 @@ msgstr "" msgid "Invalid OpenVPN config for %s interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:382 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:381 msgid "Invalid OpenVPN config for '%s' interface" msgstr "" @@ -279,7 +286,7 @@ msgstr "" msgid "Local ports" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:366 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:365 msgid "Mismatched IP family between in policy '%s'" msgstr "" @@ -325,7 +332,7 @@ msgid "Path" msgstr "" #: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215 -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:584 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:586 msgid "Please %sdonate%s to support development of this project." msgstr "" @@ -353,23 +360,23 @@ msgstr "" msgid "Policies" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:346 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:345 msgid "Policy '%s' has an unknown interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:341 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:340 msgid "Policy '%s' has no assigned DNS" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:340 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:339 msgid "Policy '%s' has no assigned interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:338 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:337 msgid "Policy '%s' has no source/destination parameters" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:386 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:385 msgid "" "Policy '%s' refers to URL which can't be downloaded in 'secure_reload' mode" msgstr "" @@ -394,11 +401,11 @@ msgstr "" msgid "Protocol" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:378 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:377 msgid "Received empty tid/mark or interface name when setting up routing" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:326 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:325 msgid "Refer to https://docs.openwrt.melmac.net/pbr/#procd_wan_interface" msgstr "" @@ -414,11 +421,15 @@ msgstr "" msgid "Remote ports" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:358 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:400 +msgid "Required binary '%s' is missing" +msgstr "" + +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:357 msgid "Resolver '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:314 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:313 msgid "Resolver set (%s) is not supported on this system" msgstr "" @@ -426,21 +437,21 @@ msgstr "" msgid "Resolver set (%s) is not supported on this system." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:307 msgid "" "Resolver set support (%s) requires ipset, but ipset binary cannot be found" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:311 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:310 msgid "" "Resolver set support (%s) requires nftables, but nft binary cannot be found" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:472 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:474 msgid "Restart" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:466 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:468 msgid "Restarting %s service" msgstr "" @@ -466,11 +477,11 @@ msgstr "" msgid "Select Add for -A/add and Insert for -I/Insert." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:555 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:557 msgid "Service Control" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:403 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:405 msgid "Service Errors" msgstr "" @@ -497,15 +508,15 @@ msgid "" "%sREADME%s for details." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:360 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:359 msgid "Skipping IPv6 policy '%s' as IPv6 support is disabled" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:453 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:455 msgid "Start" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:447 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:449 msgid "Starting %s service" msgstr "" @@ -519,7 +530,7 @@ msgstr "" msgid "Status" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:491 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:493 msgid "Stop" msgstr "" @@ -531,7 +542,7 @@ msgstr "" msgid "Stopped." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:485 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:487 msgid "Stopping %s service" msgstr "" @@ -555,7 +566,7 @@ msgstr "" msgid "Suppress/No output" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:352 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:351 msgid "Syntax error in custom user file '%s'" msgstr "" @@ -563,7 +574,7 @@ msgstr "" msgid "The %s indicates default gateway. See the %sREADME%s for details." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:323 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:322 msgid "" "The %s interface not found, you need to set the 'pbr.config." "procd_wan_interface' option" @@ -573,11 +584,11 @@ msgstr "" msgid "The %s is not supported on this system." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:320 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:319 msgid "The %s service failed to discover WAN gateway" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:317 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:316 msgid "The %s service is currently disabled" msgstr "" @@ -589,15 +600,15 @@ msgstr "" msgid "The WebUI application (luci-app-pbr) is outdated, please update it" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:393 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:392 msgid "The file:// schema requires curl, but it's not detected on this system" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:329 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:328 msgid "The ipset name '%s' is longer than allowed 31 characters" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:331 msgid "The nft set name '%s' is longer than allowed 255 characters" msgstr "" @@ -605,19 +616,19 @@ msgstr "" msgid "The principal package (pbr) is outdated, please update it" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:335 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:334 msgid "Unexpected exit or service termination: '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:415 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:417 msgid "Unknown error!" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:363 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:362 msgid "Unknown packet mark for interface '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:369 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:368 msgid "Unknown protocol in policy '%s'" msgstr "" @@ -625,7 +636,7 @@ msgstr "" msgid "Unknown warning" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:355 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:354 msgid "" "Use of 'curl' is detected in custom user file '%s', but 'curl' isn't " "installed" diff --git a/applications/luci-app-pbr/root/usr/libexec/rpcd/luci.pbr b/applications/luci-app-pbr/root/usr/libexec/rpcd/luci.pbr index 4bd154a43d7a..bcdf39a5b285 100755 --- a/applications/luci-app-pbr/root/usr/libexec/rpcd/luci.pbr +++ b/applications/luci-app-pbr/root/usr/libexec/rpcd/luci.pbr @@ -11,7 +11,7 @@ # ubus -S call luci.pbr getGateways '{"name": "pbr" }' # ubus -S call luci.pbr getInterfaces '{"name": "pbr" }' -readonly luciCompat='7' +readonly luciCompat='8' readonly pbrFunctionsFile='/etc/init.d/pbr' if [ -s "$pbrFunctionsFile" ]; then # shellcheck source=../../../../../pbr/files/etc/init.d/pbr