From 1c2a26f6aa1a73e0a159901f543a2ed53fe46308 Mon Sep 17 00:00:00 2001 From: Stan Grishin Date: Mon, 2 Mar 2026 20:33:19 +0000 Subject: [PATCH] luci-app-pbr: update to 1.2.2-r8 * version bump to match the principal package * safer wait for long pbr operations Signed-off-by: Stan Grishin --- applications/luci-app-pbr/Makefile | 2 +- .../luci-static/resources/pbr/status.js | 56 +++-- .../luci-app-pbr/po/templates/pbr.pot | 216 +++++++++--------- 3 files changed, 147 insertions(+), 127 deletions(-) diff --git a/applications/luci-app-pbr/Makefile b/applications/luci-app-pbr/Makefile index 1c39e1fd0a..fd9d73e755 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.2.2 -PKG_RELEASE:=6 +PKG_RELEASE:=8 LUCI_TITLE:=Policy Based Routing Service Web UI LUCI_URL:=https://github.com/mossdef-org/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 80dc225898..c1d6b5efe0 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 @@ -125,31 +125,39 @@ var RPC = { }); }, setInitAction: function (name, action) { - _setInitAction(name, action).then( - function (result) { - this.emit("setInitAction", result); - }.bind(this), - ); + _setInitAction(name, action) + .then( + function (result) { + this.emit("setInitAction", { result: result, action: action }); + }.bind(this), + ) + .catch( + function (error) { + // Even if RPC call fails/times out, emit event to start polling + // This handles cases where the backend task starts but RPC times out + this.emit("setInitAction", { timeout: true, action: action }); + }.bind(this), + ); }, }; -// Poll service status until completion (for long-running operations like download) -var pollServiceStatus = function (callback) { +// Poll service status until the expected running state is reached. +// expectRunning: true for start/restart, false for stop. +var pollServiceStatus = function (expectRunning, callback) { var maxAttempts = 300; // Max 5 minutes of polling var attempt = 0; var checkStatus = function () { attempt++; - // Use the RPC function directly from the module scope L.resolveDefault(getInitStatus(pkg.Name), {}) .then(function (statusData) { - var currentStatus = + var isRunning = statusData && statusData[pkg.Name] && statusData[pkg.Name].running; - // Check if completed or failed - if (currentStatus === true) { - callback(true, currentStatus); + // Check if the expected state has been reached + if (expectRunning ? isRunning === true : isRunning !== true) { + callback(true); } // Check if timed out else if (attempt >= maxAttempts) { @@ -157,7 +165,7 @@ var pollServiceStatus = function (callback) { } // Continue polling else { - setTimeout(checkStatus, 1000); // Check again in 1 second + setTimeout(checkStatus, 1000); } }) .catch(function (err) { @@ -170,7 +178,7 @@ var pollServiceStatus = function (callback) { }); }; - // Start polling after 2 seconds delay (give backend time to start the task) + // Start polling after a delay to give the backend time to start the task setTimeout(checkStatus, 3000); }; @@ -727,12 +735,24 @@ var status = baseclass.extend({ }); RPC.on("setInitAction", function (reply) { - // Don't immediately hide modal and reload - // Instead, poll status until the operation actually completes - pollServiceStatus(function () { + var action = reply && reply.action; + if (action === "start" || action === "restart" || action === "reload") { + // Long-running: poll until service is running + pollServiceStatus(true, function () { + ui.hideModal(); + location.reload(); + }); + } else if (action === "stop") { + // Poll until service has stopped + pollServiceStatus(false, function () { + ui.hideModal(); + location.reload(); + }); + } else { + // enable/disable are fast, just reload immediately ui.hideModal(); location.reload(); - }); + } }); return L.Class.extend({ diff --git a/applications/luci-app-pbr/po/templates/pbr.pot b/applications/luci-app-pbr/po/templates/pbr.pot index 5691bac809..dd25675e3b 100644 --- a/applications/luci-app-pbr/po/templates/pbr.pot +++ b/applications/luci-app-pbr/po/templates/pbr.pot @@ -1,12 +1,12 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:312 -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:442 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:320 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:450 msgid "%s" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:397 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:405 msgid "%s binary cannot be found" msgstr "" @@ -67,7 +67,7 @@ msgstr "" msgid "Chain" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:493 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:501 msgid "Command failed: '%s'" msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "Condensed output" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:394 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:402 msgid "Config (%s) validation failure" msgstr "" @@ -87,7 +87,7 @@ msgstr "" msgid "Custom User File Includes" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:445 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:453 msgid "Custom user file '%s' not found or empty" msgstr "" @@ -107,15 +107,15 @@ msgstr "" msgid "Default ICMP Interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:498 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:506 msgid "Default fw4 chain '%s' is missing" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:497 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:505 msgid "Default fw4 table '%s' is missing" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:650 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:658 msgid "Disable" msgstr "" @@ -125,7 +125,7 @@ msgstr "" msgid "Disabled" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:644 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:652 msgid "Disabling %s service" msgstr "" @@ -133,7 +133,7 @@ msgstr "" msgid "Display these protocols in protocol column in Web UI." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:338 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:346 msgid "" "Dnsmasq instance (%s) targeted in settings, but it doesn't have its own " "confdir" @@ -151,11 +151,11 @@ msgstr "" msgid "Do not enforce policies when their gateway is down" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:697 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:705 msgid "Donate to the Project" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:631 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:639 msgid "Enable" msgstr "" @@ -167,19 +167,19 @@ msgstr "" msgid "Enabled" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:625 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:633 msgid "Enabling %s service" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:447 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:455 msgid "Error running custom user file '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:506 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:514 msgid "Errors encountered, please check %s" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:539 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:547 msgid "Errors encountered, please check the %sREADME%s" msgstr "" @@ -189,35 +189,35 @@ msgid "" "QoS. Change with caution together with" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:504 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:512 msgid "Failed to create temporary file with mktemp mask: '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:489 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:497 msgid "Failed to download '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:487 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:495 msgid "Failed to download '%s', HTTPS is not supported" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:482 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:490 msgid "Failed to install fw4 nft file '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:444 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:452 msgid "Failed to reload '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:478 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:486 msgid "Failed to resolve '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:443 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:451 msgid "Failed to set up '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:451 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:459 msgid "Failed to set up any gateway" msgstr "" @@ -245,15 +245,15 @@ msgstr "" msgid "Inactive (Disabled)" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:353 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:361 msgid "Incompatible DHCP Option 6 for interface %s" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:495 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:503 msgid "Incompatible custom user file detected '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:335 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:343 msgid "" "Incompatible nft calls detected in user include file, disabling fw4 nft file " "support" @@ -263,15 +263,15 @@ msgstr "" msgid "Insert" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:469 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:477 msgid "Insertion failed for IPv4 for policy '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:466 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:474 msgid "Insertion failed for both IPv4 and IPv6 for policy '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:310 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:318 msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option." msgstr "" @@ -279,26 +279,26 @@ msgstr "" msgid "Interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:437 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:445 msgid "Interface '%s' has no assigned DNS" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:476 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:484 msgid "Interface mark for '%s' exceeds the fwmask value" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:312 msgid "" "Internal version mismatch (package: %s, luci app: %s, luci rpcd: %s), you " "may need to update packages or reboot the device, please check the " "%sREADME%s." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:326 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:334 msgid "Invalid OpenVPN config for %s interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:480 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:488 msgid "Invalid OpenVPN config for '%s' interface" msgstr "" @@ -311,7 +311,7 @@ msgstr "" msgid "Local ports" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:460 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:468 msgid "Mismatched IP family between in policy '%s'" msgstr "" @@ -339,27 +339,27 @@ msgid "" "check the %sREADME%s." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:511 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:519 msgid "Netifd setup: failed to delete fw4 netifd nft file '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:508 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:516 msgid "Netifd setup: failed to install fw4 netifd nft file '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:517 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:525 msgid "Netifd setup: invalid value of netifd_interface_default option '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:520 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:528 msgid "Netifd setup: invalid value of netifd_interface_default6 option '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:356 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:364 msgid "Netifd setup: option netifd_interface_local is missing, assuming '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:514 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:522 msgid "Netifd setup: required option '%s' is missing" msgstr "" @@ -367,7 +367,7 @@ msgstr "" msgid "No Change" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:251 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:259 #: applications/luci-app-pbr/htdocs/luci-static/resources/view/status/include/72_pbr.js:45 msgid "Not installed or not found" msgstr "" @@ -380,8 +380,8 @@ msgstr "" msgid "Path" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:279 -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:705 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:287 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:713 msgid "Please %sdonate%s to support development of this project." msgstr "" @@ -389,24 +389,24 @@ msgstr "" msgid "Please check the %sREADME%s before changing this option." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:342 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:350 msgid "" "Please set 'dhcp.%%s.force=1' to speed up service start-up %s(more info)%s" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:320 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:328 msgid "Please unset 'chain' or set 'chain' to 'PREROUTING' for policy '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:323 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:331 msgid "Please unset 'chain' or set 'chain' to 'prerouting' for policy '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:317 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:325 msgid "Please unset 'proto' or set 'proto' to 'all' for policy '%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:322 msgid "Please unset 'src_addr', 'src_port' and 'dest_port' for policy '%s'" msgstr "" @@ -414,23 +414,23 @@ msgstr "" msgid "Policies" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:440 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:448 msgid "Policy '%s' has an unknown interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:435 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:443 msgid "Policy '%s' has no assigned DNS" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:434 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:442 msgid "Policy '%s' has no assigned interface" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:432 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:440 msgid "Policy '%s' has no source/destination parameters" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:484 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:492 msgid "" "Policy '%s' refers to URL which can't be downloaded in 'secure_reload' mode" msgstr "" @@ -443,7 +443,7 @@ msgstr "" msgid "Policy Based Routing - Configuration" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232 msgid "Policy Based Routing - Status" msgstr "" @@ -455,11 +455,11 @@ msgstr "" msgid "Protocol" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:473 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:481 msgid "Received empty tid/mark or interface name when setting up routing" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:417 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:425 msgid "Refer to %sREADME%s for details" msgstr "" @@ -479,37 +479,37 @@ msgstr "" msgid "Remote ports" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:499 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:507 msgid "Required binary '%s' is missing" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:452 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:460 msgid "Resolver '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:405 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:413 msgid "Resolver set (%s) is not supported on this system" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:307 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:315 msgid "Resolver set (%s) is not supported on this system." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:399 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:407 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:402 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:410 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:593 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:601 msgid "Restart" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:587 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:595 msgid "Restarting %s service" msgstr "" @@ -523,7 +523,7 @@ msgid "" "See the %sREADME%s for details." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:233 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:241 msgid "Running" msgstr "" @@ -535,11 +535,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:676 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:684 msgid "Service Control" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:529 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:537 msgid "Service Errors" msgstr "" @@ -548,15 +548,15 @@ msgstr "" msgid "Service FW Mask" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:265 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:273 msgid "Service Gateways" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:228 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:236 msgid "Service Status" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:365 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:373 msgid "Service Warnings" msgstr "" @@ -566,15 +566,15 @@ msgid "" "%sREADME%s for details." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:454 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:462 msgid "Skipping IPv6 policy '%s' as IPv6 support is disabled" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:574 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:582 msgid "Start" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:568 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:576 msgid "Starting %s service" msgstr "" @@ -596,19 +596,19 @@ msgstr "" msgid "Status" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:612 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:620 msgid "Stop" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:247 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:255 msgid "Stopped (Disabled)." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:245 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:253 msgid "Stopped." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:606 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:614 msgid "Stopping %s service" msgstr "" @@ -632,29 +632,29 @@ msgstr "" msgid "Suppress/No output" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:446 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:454 msgid "Syntax error in custom user file '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:269 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:277 msgid "The %s indicates default gateway. See the %sREADME%s for details." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:414 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:422 msgid "" -"The %s interface not found, you need to set the " -"'pbr.config.uplink_interface' option" +"The %s interface not found, you need to set the 'pbr.config." +"uplink_interface' option" msgstr "" #: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:97 msgid "The %s is not supported on this system." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:411 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:419 msgid "The %s service failed to discover uplink gateway" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:408 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:416 msgid "The %s service is currently disabled" msgstr "" @@ -662,23 +662,23 @@ msgstr "" msgid "The %s support is unknown." msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:491 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:499 msgid "The '%s' 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:337 msgid "The WebUI application (luci-app-pbr) is outdated, please update it" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:423 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:431 msgid "The ipset name '%s' is longer than allowed 31 characters" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:426 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:434 msgid "The nft set name '%s' is longer than allowed 255 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:340 msgid "The principal package (pbr) is outdated, please update it" msgstr "" @@ -686,19 +686,19 @@ msgstr "" msgid "Unable to retrieve %s status" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:429 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:437 msgid "Unexpected exit or service termination: '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:501 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:509 msgid "Unknown IPv6 Link type for device '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:471 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:479 msgid "Unknown entry in policy '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:536 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:544 msgid "Unknown error" msgstr "" @@ -706,15 +706,15 @@ msgstr "" msgid "Unknown message" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:457 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:465 msgid "Unknown packet mark for interface '%s'" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:463 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:471 msgid "Unknown protocol in 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:380 msgid "Unknown warning" msgstr "" @@ -726,17 +726,17 @@ msgstr "" msgid "Uplink Interface Table FW Mark" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:359 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:367 msgid "Uplink/WAN interface is still down, going back to boot mode" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:523 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:531 msgid "" "Uplink/WAN interface is still down, increase value of " "'procd_boot_trigger_delay' option" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:449 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:457 msgid "" "Use of 'curl' is detected in custom user file '%s', but 'curl' isn't " "installed" @@ -754,7 +754,7 @@ msgstr "" msgid "Version" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:231 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:239 msgid "Version %s" msgstr "" @@ -762,11 +762,11 @@ msgstr "" msgid "WAN Table FW Mark" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:351 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:359 msgid "Warnings encountered, please check %s" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:375 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:383 msgid "Warnings encountered, please check the %sREADME%s" msgstr "" @@ -778,17 +778,17 @@ msgstr "" msgid "all" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:237 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:245 #: applications/luci-app-pbr/htdocs/luci-static/resources/view/status/include/72_pbr.js:31 msgid "fw4 nft file mode" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:243 #: applications/luci-app-pbr/htdocs/luci-static/resources/view/status/include/72_pbr.js:29 msgid "iptables mode" msgstr "" -#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:239 +#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:247 #: applications/luci-app-pbr/htdocs/luci-static/resources/view/status/include/72_pbr.js:33 msgid "nft mode" msgstr ""