summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-01-16 22:13:34 +0100
committerJo-Philipp Wich <jo@mein.io>2020-01-16 22:16:53 +0100
commit0608ff09f8a3b4e558c44ec73b1ef62e19666bac (patch)
tree399bd1e72602c3314ea960945503d1da9f7f21ee /applications
parentb752cf35bdb8dbde33914ca7726cd8eaf7e3bc86 (diff)
luci-app-firewall: consolidate duplicate option code
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js134
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js54
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js162
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js54
-rw-r--r--applications/luci-app-firewall/po/bg/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/ca/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/cs/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/de/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/el/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/en/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/es/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/fr/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/he/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/hi/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/hu/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/it/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/ja/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/ko/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/mr/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/ms/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/no/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/pl/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/pt-br/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/pt/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/ro/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/ru/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/sk/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/sv/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/templates/firewall.pot161
-rw-r--r--applications/luci-app-firewall/po/tr/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/uk/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/vi/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/zh-cn/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/zh-tw/firewall.po161
34 files changed, 2247 insertions, 2987 deletions
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js b/applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js
index 198528aaa5..e983035b3d 100644
--- a/applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js
+++ b/applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js
@@ -308,5 +308,139 @@ return L.Class.extend({
else /* if (x == 'DROP') */
return _('Discard input');
}
+ },
+
+ addDSCPOption: function(s, is_target) {
+ var o = s.taboption(is_target ? 'general' : 'advanced', form.Value, is_target ? 'set_dscp' : 'dscp',
+ is_target ? _('DSCP mark') : _('Match DSCP'),
+ is_target ? _('Apply the given DSCP class or value to established connections.') : _('Matches traffic carrying the specified DSCP marking.'));
+
+ o.modalonly = true;
+ o.rmempty = !is_target;
+ o.placeholder = _('any');
+
+ if (is_target)
+ o.depends('target', 'DSCP');
+
+ o.value('CS0');
+ o.value('CS1');
+ o.value('CS2');
+ o.value('CS3');
+ o.value('CS4');
+ o.value('CS5');
+ o.value('CS6');
+ o.value('CS7');
+ o.value('BE');
+ o.value('AF11');
+ o.value('AF12');
+ o.value('AF13');
+ o.value('AF21');
+ o.value('AF22');
+ o.value('AF23');
+ o.value('AF31');
+ o.value('AF32');
+ o.value('AF33');
+ o.value('AF41');
+ o.value('AF42');
+ o.value('AF43');
+ o.value('EF');
+ o.validate = function(section_id, value) {
+ if (value == '')
+ return is_target ? _('DSCP mark required') : true;
+
+ if (!is_target)
+ value = String(value).replace(/^!\s*/, '');
+
+ var m = value.match(/^(?:CS[0-7]|BE|AF[1234][123]|EF|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/);
+
+ if (!m || (m[1] != null && +m[1] > 0x3f))
+ return _('Invalid DSCP mark');
+
+ return true;
+ };
+
+ return o;
+ },
+
+ addMarkOption: function(s, is_target) {
+ var o = s.taboption(is_target ? 'general' : 'advanced', form.Value,
+ (is_target > 1) ? 'set_xmark' : (is_target ? 'set_mark' : 'mark'),
+ (is_target > 1) ? _('XOR mark') : (is_target ? _('Set mark') : _('Match mark')),
+ (is_target > 1) ? _('Apply a bitwise XOR of the given value and the existing mark value on established connections. Format is value[/mask]. If a mask is specified then those bits set in the mask are zeroed out.') :
+ (is_target ? _('Set the given mark value on established connections. Format is value[/mask]. If a mask is specified then only those bits set in the mask are modified.') :
+ _('Matches a specific firewall mark or a range of different marks.')));
+
+ o.modalonly = true;
+ o.rmempty = true;
+
+ if (is_target > 1)
+ o.depends('target', 'MARK_XOR');
+ else if (is_target)
+ o.depends('target', 'MARK_SET');
+
+ o.validate = function(section_id, value) {
+ if (value == '')
+ return is_target ? _('Valid firewall mark required') : true;
+
+ if (!is_target)
+ value = String(value).replace(/^!\s*/, '');
+
+ var m = value.match(/^(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i);
+
+ if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff))
+ return _('Expecting: %s').format(_('valid firewall mark'));
+
+ return true;
+ };
+
+ return o;
+ },
+
+ addLimitOption: function(s) {
+ var o = s.taboption('advanced', form.Value, 'limit',
+ _('Limit matching'),
+ _('Limits traffic matching to the specified rate.'));
+
+ o.modalonly = true;
+ o.rmempty = true;
+ o.placeholder = _('unlimited');
+ o.value('10/second');
+ o.value('60/minute');
+ o.value('3/hour');
+ o.value('500/day');
+ o.validate = function(section_id, value) {
+ if (value == '')
+ return true;
+
+ var m = String(value).toLowerCase().match(/^(?:0x[0-9a-f]{1,8}|[0-9]{1,10})\/([a-z]+)$/),
+ u = ['second', 'minute', 'hour', 'day'],
+ i = 0;
+
+ if (m)
+ for (i = 0; i < u.length; i++)
+ if (u[i].indexOf(m[1]) == 0)
+ break;
+
+ if (!m || i >= u.length)
+ return _('Invalid limit value');
+
+ return true;
+ };
+
+ return o;
+ },
+
+ addLimitBurstOption: function(s) {
+ var o = s.taboption('advanced', form.Value, 'limit_burst',
+ _('Limit burst'),
+ _('Maximum initial number of packets to match: this number gets recharged by one every time the limit specified above is not reached, up to this number.'));
+
+ o.modalonly = true;
+ o.rmempty = true;
+ o.placeholder = '5';
+ o.datatype = 'uinteger';
+ o.depends({ limit: null, '!reverse': true });
+
+ return o;
}
});
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js
index f8b9e19e12..500e68fb17 100644
--- a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js
+++ b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js
@@ -299,57 +299,9 @@ return L.view.extend({
return _('Unknown or not installed conntrack helper "%s"').format(value);
};
- o = s.taboption('advanced', form.Value, 'mark', _('Match mark'),
- _('Matches a specific firewall mark or a range of different marks.'));
- o.modalonly = true;
- o.rmempty = true;
- o.validate = function(section_id, value) {
- if (value == '')
- return true;
-
- var m = String(value).match(/^(?:!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i);
-
- if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff))
- return _('Expecting: %s').format(_('valid firewall mark'));
-
- return true;
- };
-
- o = s.taboption('advanced', form.Value, 'limit', _('Limit matching'),
- _('Limits traffic matching to the specified rate.'));
- o.modalonly = true;
- o.rmempty = true;
- o.placeholder = _('unlimited');
- o.value('10/second');
- o.value('60/minute');
- o.value('3/hour');
- o.value('500/day');
- o.validate = function(section_id, value) {
- if (value == '')
- return true;
-
- var m = String(value).toLowerCase().match(/^(?:0x[0-9a-f]{1,8}|[0-9]{1,10})\/([a-z]+)$/),
- u = ['second', 'minute', 'hour', 'day'],
- i = 0;
-
- if (m)
- for (i = 0; i < u.length; i++)
- if (u[i].indexOf(m[1]) == 0)
- break;
-
- if (!m || i >= u.length)
- return _('Invalid limit value');
-
- return true;
- };
-
- o = s.taboption('advanced', form.Value, 'limit_burst', _('Limit burst'),
- _('Maximum initial number of packets to match: this number gets recharged by one every time the limit specified above is not reached, up to this number.'));
- o.modalonly = true;
- o.rmempty = true;
- o.placeholder = '5';
- o.datatype = 'uinteger';
- o.depends({ limit: null, '!reverse': true });
+ fwtool.addMarkOption(s, false);
+ fwtool.addLimitOption(s);
+ fwtool.addLimitBurstOption(s);
o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'),
_('Passes additional arguments to iptables. Use with care!'));
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js
index a5b27ccf30..6c6efc805f 100644
--- a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js
+++ b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js
@@ -409,69 +409,9 @@ return L.view.extend({
return this.super('write', [section_id, (value == 'MARK_SET' || value == 'MARK_XOR') ? 'MARK' : value]);
};
- o = s.taboption('general', form.Value, 'set_mark', _('Set mark'), _('Set the given mark value on established connections. Format is value[/mask]. If a mask is specified then only those bits set in the mask are modified.'));
- o.modalonly = true;
- o.rmempty = false;
- o.depends('target', 'MARK_SET');
- o.validate = function(section_id, value) {
- var m = String(value).match(/^(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i);
-
- if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff))
- return _('Expecting: %s').format(_('valid firewall mark'));
-
- return true;
- };
-
- o = s.taboption('general', form.Value, 'set_xmark', _('XOR mark'), _('Apply a bitwise XOR of the given value and the existing mark value on established connections. Format is value[/mask]. If a mask is specified then those bits set in the mask are zeroed out.'));
- o.modalonly = true;
- o.rmempty = false;
- o.depends('target', 'MARK_XOR');
- o.validate = function(section_id, value) {
- var m = String(value).match(/^(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i);
-
- if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff))
- return _('Expecting: %s').format(_('valid firewall mark'));
-
- return true;
- };
-
- o = s.taboption('general', form.Value, 'set_dhcp', _('DSCP mark'), _('Apply the given DSCP class or value to established connections.'));
- o.modalonly = true;
- o.rmempty = false;
- o.depends('target', 'DSCP');
- o.value('CS0');
- o.value('CS1');
- o.value('CS2');
- o.value('CS3');
- o.value('CS4');
- o.value('CS5');
- o.value('CS6');
- o.value('CS7');
- o.value('BE');
- o.value('AF11');
- o.value('AF12');
- o.value('AF13');
- o.value('AF21');
- o.value('AF22');
- o.value('AF23');
- o.value('AF31');
- o.value('AF32');
- o.value('AF33');
- o.value('AF41');
- o.value('AF42');
- o.value('AF43');
- o.value('EF');
- o.validate = function(section_id, value) {
- if (value == '')
- return _('DSCP mark required');
-
- var m = String(value).match(/^(?:CS[0-7]|BE|AF[1234][123]|EF|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/);
-
- if (!m || (m[1] != null && +m[1] > 0x3f))
- return _('Invalid DSCP mark');
-
- return true;
- };
+ fwtool.addMarkOption(s, 1);
+ fwtool.addMarkOption(s, 2);
+ fwtool.addDSCPOption(s, true);
o = s.taboption('general', form.ListValue, 'set_helper', _('Tracking helper'), _('Assign the specified connection tracking helper to matched traffic.'));
o.modalonly = true;
@@ -498,98 +438,10 @@ return L.view.extend({
return _('Unknown or not installed conntrack helper "%s"').format(value);
};
- o = s.taboption('advanced', form.Value, 'mark', _('Match mark'),
- _('Matches a specific firewall mark or a range of different marks.'));
- o.modalonly = true;
- o.rmempty = true;
- o.validate = function(section_id, value) {
- if (value == '')
- return true;
-
- var m = String(value).match(/^(?:!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i);
-
- if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff))
- return _('Expecting: %s').format(_('valid firewall mark'));
-
- return true;
- };
-
- o = s.taboption('advanced', form.Value, 'dscp', _('Match DSCP'),
- _('Matches traffic carrying the specified DSCP marking.'));
- o.modalonly = true;
- o.rmempty = true;
- o.placeholder = _('any');
- o.value('CS0');
- o.value('CS1');
- o.value('CS2');
- o.value('CS3');
- o.value('CS4');
- o.value('CS5');
- o.value('CS6');
- o.value('CS7');
- o.value('BE');
- o.value('AF11');
- o.value('AF12');
- o.value('AF13');
- o.value('AF21');
- o.value('AF22');
- o.value('AF23');
- o.value('AF31');
- o.value('AF32');
- o.value('AF33');
- o.value('AF41');
- o.value('AF42');
- o.value('AF43');
- o.value('EF');
- o.validate = function(section_id, value) {
- if (value == '')
- return true;
-
- value = String(value).replace(/^!\s*/, '');
-
- var m = value.match(/^(?:CS[0-7]|BE|AF[1234][123]|EF|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/);
-
- if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff))
- return _('Invalid DSCP mark');
-
- return true;
- };
-
- o = s.taboption('advanced', form.Value, 'limit', _('Limit matching'),
- _('Limits traffic matching to the specified rate.'));
- o.modalonly = true;
- o.rmempty = true;
- o.placeholder = _('unlimited');
- o.value('10/second');
- o.value('60/minute');
- o.value('3/hour');
- o.value('500/day');
- o.validate = function(section_id, value) {
- if (value == '')
- return true;
-
- var m = String(value).toLowerCase().match(/^(?:0x[0-9a-f]{1,8}|[0-9]{1,10})\/([a-z]+)$/),
- u = ['second', 'minute', 'hour', 'day'],
- i = 0;
-
- if (m)
- for (i = 0; i < u.length; i++)
- if (u[i].indexOf(m[1]) == 0)
- break;
-
- if (!m || i >= u.length)
- return _('Invalid limit value');
-
- return true;
- };
-
- o = s.taboption('advanced', form.Value, 'limit_burst', _('Limit burst'),
- _('Maximum initial number of packets to match: this number gets recharged by one every time the limit specified above is not reached, up to this number.'));
- o.modalonly = true;
- o.rmempty = true;
- o.placeholder = '5';
- o.datatype = 'uinteger';
- o.depends({ limit: null, '!reverse': true });
+ fwtool.addMarkOption(s, false);
+ fwtool.addDSCPOption(s, false);
+ fwtool.addLimitOption(s);
+ fwtool.addLimitBurstOption(s);
o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'),
_('Passes additional arguments to iptables. Use with care!'));
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js
index b46791587a..919a418fe6 100644
--- a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js
+++ b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js
@@ -313,57 +313,9 @@ return L.view.extend({
o.modalonly = true;
o.rmempty = true;
- o = s.taboption('advanced', form.Value, 'mark', _('Match mark'),
- _('Matches a specific firewall mark or a range of different marks.'));
- o.modalonly = true;
- o.rmempty = true;
- o.validate = function(section_id, value) {
- if (value == '')
- return true;
-
- var m = String(value).match(/^(?:!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i);
-
- if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff))
- return _('Expecting: %s').format(_('valid firewall mark'));
-
- return true;
- };
-
- o = s.taboption('advanced', form.Value, 'limit', _('Limit matching'),
- _('Limits traffic matching to the specified rate.'));
- o.modalonly = true;
- o.rmempty = true;
- o.placeholder = _('unlimited');
- o.value('10/second');
- o.value('60/minute');
- o.value('3/hour');
- o.value('500/day');
- o.validate = function(section_id, value) {
- if (value == '')
- return true;
-
- var m = String(value).toLowerCase().match(/^(?:0x[0-9a-f]{1,8}|[0-9]{1,10})\/([a-z]+)$/),
- u = ['second', 'minute', 'hour', 'day'],
- i = 0;
-
- if (m)
- for (i = 0; i < u.length; i++)
- if (u[i].indexOf(m[1]) == 0)
- break;
-
- if (!m || i >= u.length)
- return _('Invalid limit value');
-
- return true;
- };
-
- o = s.taboption('advanced', form.Value, 'limit_burst', _('Limit burst'),
- _('Maximum initial number of packets to match: this number gets recharged by one every time the limit specified above is not reached, up to this number.'));
- o.modalonly = true;
- o.rmempty = true;
- o.placeholder = '5';
- o.datatype = 'uinteger';
- o.depends({ limit: null, '!reverse': true });
+ fwtool.addMarkOption(s, false);
+ fwtool.addLimitOption(s);
+ fwtool.addLimitBurstOption(s);
o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'),
_('Passes additional arguments to iptables. Use with care!'));
diff --git a/applications/luci-app-firewall/po/bg/firewall.po b/applications/luci-app-firewall/po/bg/firewall.po
index cc6a5e3148..6498e6f6f8 100644
--- a/applications/luci-app-firewall/po/bg/firewall.po
+++ b/applications/luci-app-firewall/po/bg/firewall.po
@@ -101,25 +101,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -171,11 +171,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -256,11 +256,7 @@ msgstr ""
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -280,9 +276,9 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -335,8 +331,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -441,20 +437,15 @@ msgstr ""
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -462,15 +453,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -510,7 +497,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -541,7 +528,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -551,20 +538,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -572,25 +555,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -648,9 +629,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -754,16 +735,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -844,28 +825,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -895,8 +876,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -905,8 +886,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -932,7 +913,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -948,8 +929,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -958,7 +939,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1001,6 +982,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -1009,13 +994,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -1023,7 +1008,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1041,6 +1026,7 @@ msgstr ""
msgid "accept"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1053,9 +1039,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1154,9 +1139,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1164,10 +1147,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ca/firewall.po b/applications/luci-app-firewall/po/ca/firewall.po
index e34ef2ef9b..f6341cf093 100644
--- a/applications/luci-app-firewall/po/ca/firewall.po
+++ b/applications/luci-app-firewall/po/ca/firewall.po
@@ -103,25 +103,25 @@ msgstr "Permet el reenviament als <em>zones de destí</em>:"
msgid "Any"
msgstr "Qualsevol"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -177,11 +177,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -262,11 +262,7 @@ msgstr "Habilita protecció contra la inundació SYN"
msgid "Enable logging on this zone"
msgstr "Habilita el registre d'aquesta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -286,9 +282,9 @@ msgstr "Adreça IP extern"
msgid "External port"
msgstr "Port extern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Paràmetres extres"
@@ -337,8 +333,8 @@ msgstr "Reenvia"
msgid "Forward to"
msgstr "Reenvia a"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Divendres"
@@ -443,20 +439,15 @@ msgstr "Port intern"
msgid "Internal zone"
msgstr "Zona interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -464,15 +455,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Limita els missatges de registre"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -512,7 +499,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -543,7 +530,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -555,20 +542,16 @@ msgstr ""
"Coincideix amb trànsit entrant dirigit al port o rang de ports de destí en "
"aquest host donat"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -576,25 +559,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Dilluns"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -654,9 +635,9 @@ msgstr ""
msgid "Output"
msgstr "Sortida"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Passa paràmetres addicionals al iptables. Utilitzeu-ho amb cura!"
@@ -762,16 +743,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Dissabte"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -822,28 +803,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Diumenge"
@@ -888,8 +869,8 @@ msgstr ""
"<em>Xarxes cobertes</em> especifica quines xarxes disponibles són membres "
"d'aquesta zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Dijous"
@@ -898,8 +879,8 @@ msgstr "Dijous"
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -925,7 +906,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -944,8 +925,8 @@ msgstr ""
"zones distintes, per exemple per a rebutjar trànsit entre certs hosts o "
"obrir ports WAN en el encaminador."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Dimarts"
@@ -954,7 +935,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -997,6 +978,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Via %s"
@@ -1005,13 +990,13 @@ msgstr "Via %s"
msgid "Via %s at %s"
msgstr "Via %s a %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Dimecres"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -1019,7 +1004,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1037,6 +1022,7 @@ msgstr "Zones"
msgid "accept"
msgstr "accepta"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1049,9 +1035,8 @@ msgstr "accepta"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1150,9 +1135,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1160,11 +1143,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/cs/firewall.po b/applications/luci-app-firewall/po/cs/firewall.po
index 7a147023f7..437ff82d2d 100644
--- a/applications/luci-app-firewall/po/cs/firewall.po
+++ b/applications/luci-app-firewall/po/cs/firewall.po
@@ -99,25 +99,25 @@ msgstr "Povolit přesměrování do <em>zdrojových oblastí</em>:"
msgid "Any"
msgstr "Libovolné"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -172,11 +172,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -257,11 +257,7 @@ msgstr "Povolit ochranu proti SYN-flood"
msgid "Enable logging on this zone"
msgstr "Povolit logování v této oblasti"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -281,9 +277,9 @@ msgstr "Vnější IP adresa"
msgid "External port"
msgstr "Vnější port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Další argumenty volání"
@@ -332,8 +328,8 @@ msgstr "Přesměrování"
msgid "Forward to"
msgstr "Přesměrovat na"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Pátek"
@@ -438,20 +434,15 @@ msgstr "Vnitřní port"
msgid "Internal zone"
msgstr "Vnitřní zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -459,15 +450,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Omezit logovací zprávy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -507,7 +494,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -538,7 +525,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -550,20 +537,16 @@ msgstr ""
"Vybrat příchozí provoz, směrovaný na zadaný cílový port nebo rozsah portů "
"tohoto hostitele"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -571,25 +554,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Pondělí"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Dny v měsíci"
@@ -649,9 +630,9 @@ msgstr ""
msgid "Output"
msgstr "Výstup"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Předává další argumenty iptables. Používat opatrně!"
@@ -759,16 +740,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Sobota"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -819,28 +800,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Neděle"
@@ -883,8 +864,8 @@ msgstr ""
"pro přesměrování provozu mezi rozdílnými sítěmi uvnitř jedné zóny. "
"<em>Pokryté sítě</em> určuje, které z dostupných sítí jsou členy této zóny."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Čtvrtek"
@@ -893,8 +874,8 @@ msgstr "Čtvrtek"
msgid "Time Restrictions"
msgstr "Časová omezení"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Čas v UTC"
@@ -920,7 +901,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -939,8 +920,8 @@ msgstr ""
"různými zónami, například pro odmítnutí provozu mezi jistými hostiteli nebo "
"pro otevření WAN portů na routeru."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Úterý"
@@ -949,7 +930,7 @@ msgid "Unable to save contents: %s"
msgstr "Nelze uložit obsah: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -992,6 +973,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Prostřednictvím %s"
@@ -1000,13 +985,13 @@ msgstr "Prostřednictvím %s"
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Středa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -1014,7 +999,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1032,6 +1017,7 @@ msgstr "Zóny"
msgid "accept"
msgstr "přijmout"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1044,9 +1030,8 @@ msgstr "přijmout"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1145,9 +1130,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1155,11 +1138,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/de/firewall.po b/applications/luci-app-firewall/po/de/firewall.po
index 75eb51a03c..f87f51bae7 100644
--- a/applications/luci-app-firewall/po/de/firewall.po
+++ b/applications/luci-app-firewall/po/de/firewall.po
@@ -107,25 +107,25 @@ msgstr "Erlaube Weiterleitung zu <em>Zielzone</em>:"
msgid "Any"
msgstr "Beliebig"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Beliebig"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -183,11 +183,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -271,11 +271,7 @@ msgstr "Schutz vor SYN-flood-Attacken"
msgid "Enable logging on this zone"
msgstr "Protokollierung innerhalb der Zone aktivieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr "Erwarte: %s"
@@ -296,9 +292,9 @@ msgstr "Externe IP-Adresse"
msgid "External port"
msgstr "Externer Port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Zusätzliche Argumente"
@@ -347,8 +343,8 @@ msgstr "Weitergeleitet"
msgid "Forward to"
msgstr "Weiterleiten an"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Freitag"
@@ -453,20 +449,15 @@ msgstr "Interner Port"
msgid "Internal zone"
msgstr "Interne Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -474,15 +465,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Protokollnachrichten limitieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -526,7 +513,7 @@ msgstr ""
"Selektiere %{protocol?%{family}-%{protocol} Verkehr:jeglichen %{family}-"
"Verkehr} %{mark?mit Firewall-Markierung %{mark}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -561,7 +548,7 @@ msgstr ""
"Portbereich."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -573,20 +560,16 @@ msgstr ""
"Eingehende Verbindungen filtern welche an den angegebenen Port oder "
"Portbereich auf dem lokalen Gerät gerichtet sind"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr "Erfasse Markierung"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
"Selektiert Verkehr mit einer spezifischen Firewall-Markierung oder einem "
@@ -598,25 +581,23 @@ msgstr ""
"Selektiert weitergeleiteten Verkehr welcher die angegebene "
"Netzwerkschnittstelle benutzt."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Montag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Monatstage"
@@ -678,9 +659,9 @@ msgstr "Ausgehende Zone"
msgid "Output"
msgstr "Ausgehend"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Gibt zusätzliche Kommandozeilenargumente an iptables weiter. Mit Vorsicht "
@@ -799,16 +780,16 @@ msgstr "Routing/NAT-Beschleunigung"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr "SNAT - Umschreiben auf spezifische Quell-IP oder Port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Samstag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -859,28 +840,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Startdatum (JJJJ-MM-TT)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "Startzeit (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Enddatum (JJJJ-MM-TT)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "Stoppzeit (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Sonntag"
@@ -926,8 +907,8 @@ msgstr ""
"dieser Zone zu. <em>Covered networks</em> definiert welche der verfügbaren "
"Netzwerke zu dieser Zone gehören."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Donnerstag"
@@ -936,8 +917,8 @@ msgstr "Donnerstag"
msgid "Time Restrictions"
msgstr "Zeitbeschränkungen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Zeit ist UTC"
@@ -965,7 +946,7 @@ msgstr ""
"Zu %{ipaddr?:beliebigem Host} %{port?an %{port}} %{zone?über Zone %{zone}} "
"%{device?ausgehende Schnittstelle %{device}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -984,8 +965,8 @@ msgstr ""
"zum Beispiel um Traffic zwischen bestimmten Rechnern zu unterbinden oder um "
"WAN-Ports auf dem Router zu öffnen."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Dienstag"
@@ -994,7 +975,7 @@ msgid "Unable to save contents: %s"
msgstr "Inhalt kann nicht gespeichert werden: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1041,6 +1022,10 @@ msgstr ""
"Diese Option verwenden, um den Zonenverkehr nach Quell- oder Zielsubnetz "
"anstelle von Netzwerken oder Geräten zu klassifizieren."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Über %s"
@@ -1049,13 +1034,13 @@ msgstr "Über %s"
msgid "Via %s at %s"
msgstr "Über %s an %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Mittwoch"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Wochentage"
@@ -1063,7 +1048,7 @@ msgstr "Wochentage"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1083,6 +1068,7 @@ msgstr "Zonen"
msgid "accept"
msgstr "zulassen"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1095,9 +1081,8 @@ msgstr "zulassen"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1196,9 +1181,7 @@ msgstr "Typ"
msgid "types"
msgstr "Typen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1206,11 +1189,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr "gültige Firewall-Markierung"
diff --git a/applications/luci-app-firewall/po/el/firewall.po b/applications/luci-app-firewall/po/el/firewall.po
index e18179c6b2..8f27b6f9cb 100644
--- a/applications/luci-app-firewall/po/el/firewall.po
+++ b/applications/luci-app-firewall/po/el/firewall.po
@@ -101,25 +101,25 @@ msgstr ""
msgid "Any"
msgstr "Οποιοδήποτε"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -171,11 +171,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -257,11 +257,7 @@ msgstr "Προστασία SYN-flood"
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -281,9 +277,9 @@ msgstr "Εξωτερική διεύθυνση IP"
msgid "External port"
msgstr "Εξωτερική θύρα"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Επιπλέον παράμετροι"
@@ -332,8 +328,8 @@ msgstr "Προώθηση"
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -440,20 +436,15 @@ msgstr "Εξωτερική θύρα"
msgid "Internal zone"
msgstr "Εσωτερική ζώνη"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -461,15 +452,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Περιορισμός καταγραφών συστήματος"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -510,7 +497,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -541,7 +528,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -551,20 +538,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -572,25 +555,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -648,9 +629,9 @@ msgstr ""
msgid "Output"
msgstr "Έξοδος"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -754,16 +735,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -817,28 +798,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -870,8 +851,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -880,8 +861,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -907,7 +888,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -923,8 +904,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -933,7 +914,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -976,6 +957,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -984,13 +969,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -998,7 +983,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1016,6 +1001,7 @@ msgstr "Ζώνες"
msgid "accept"
msgstr "αποδοχή"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1028,9 +1014,8 @@ msgstr "αποδοχή"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1129,9 +1114,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1139,11 +1122,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/en/firewall.po b/applications/luci-app-firewall/po/en/firewall.po
index 4679011027..680a925028 100644
--- a/applications/luci-app-firewall/po/en/firewall.po
+++ b/applications/luci-app-firewall/po/en/firewall.po
@@ -98,25 +98,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -168,11 +168,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -253,11 +253,7 @@ msgstr "Enable SYN-flood protection"
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -277,9 +273,9 @@ msgstr ""
msgid "External port"
msgstr "External port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -332,8 +328,8 @@ msgstr "Forward"
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -438,20 +434,15 @@ msgstr "Internal port"
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -459,15 +450,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -507,7 +494,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -538,7 +525,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -550,20 +537,16 @@ msgstr ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -571,25 +554,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -647,9 +628,9 @@ msgstr ""
msgid "Output"
msgstr "Output"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -754,16 +735,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -844,28 +825,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -897,8 +878,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -907,8 +888,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -934,7 +915,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -950,8 +931,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -960,7 +941,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1003,6 +984,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -1011,13 +996,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -1025,7 +1010,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1043,6 +1028,7 @@ msgstr "Zones"
msgid "accept"
msgstr "accept"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1055,9 +1041,8 @@ msgstr "accept"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1156,9 +1141,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1166,10 +1149,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/es/firewall.po b/applications/luci-app-firewall/po/es/firewall.po
index 1f7b9daba6..2dcef8da82 100644
--- a/applications/luci-app-firewall/po/es/firewall.po
+++ b/applications/luci-app-firewall/po/es/firewall.po
@@ -108,25 +108,25 @@ msgstr "Permitir reenvío a <em>zonas de destino</em>:"
msgid "Any"
msgstr "Cualquiera"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Cualquier día"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
"Asigne el asistente de seguimiento de conexión especificado al tráfico "
@@ -186,11 +186,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -274,11 +274,7 @@ msgstr "Activar protección contra inundaciones SYN"
msgid "Enable logging on this zone"
msgstr "Activar registro en esta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr "Esperando: %s"
@@ -300,9 +296,9 @@ msgstr "Dirección IP externa"
msgid "External port"
msgstr "Puerto externo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Argumentos extra"
@@ -351,8 +347,8 @@ msgstr "Reenviar"
msgid "Forward to"
msgstr "Reenviar a"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Viernes"
@@ -457,20 +453,15 @@ msgstr "Puerto interno"
msgid "Internal zone"
msgstr "Zona interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -478,15 +469,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Limitar registro de mensajes"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -528,7 +515,7 @@ msgstr ""
"Coincidir %{protocolo?%{familia} %{protocolo} tráfico:cualquiera %{familia} "
"tráfico} %{marco?con marco de firewall %{marco}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -563,7 +550,7 @@ msgstr ""
"rango de puertos dados."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr "Ayudante de partido"
@@ -575,22 +562,18 @@ msgstr ""
"Coincidir con tráfico de entrada dirigido al puerto o rango de puertos "
"destino en este host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr "Marca de partido"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
"Haga coincidir el tráfico con el ayudante de seguimiento de conexión "
"especificado."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
"Coincide con una marca de firewall específica o un rango de marcas "
@@ -602,25 +585,23 @@ msgstr ""
"Coincide con el tráfico reenviado utilizando el dispositivo de red saliente "
"especificado."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Lunes"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Días del mes"
@@ -682,9 +663,9 @@ msgstr "Zona de salida"
msgid "Output"
msgstr "Salida"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Ingrese argumentos adicionales a iptables. ¡Utilícelo con cuidado!"
@@ -804,16 +785,16 @@ msgstr "Enrutamiento/NAT Offloading"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr "SNAT - Reescribe a una fuente específica IP o puerto"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Sábado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -868,28 +849,28 @@ msgstr ""
"Especifica si se debe usar la dirección IP externa o interna para el tráfico "
"reflejado."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Fecha de inicio (aaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "Hora de inicio (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Fecha de finalización (aaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "Hora de finalización (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Domingo"
@@ -934,8 +915,8 @@ msgstr ""
"<em>Redes cubiertas</em> especifican qué redes disponibles son miembros de "
"esta zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Jueves"
@@ -944,8 +925,8 @@ msgstr "Jueves"
msgid "Time Restrictions"
msgstr "Restricciones de tiempo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Tiempo en UTC"
@@ -973,7 +954,7 @@ msgstr ""
"A %{ipaddr?:cualquier destino} %{puerto?a %{puerto}} %{zona?via zona "
"%{zona}} %{dispositivo?dispositivo de salida %{dispositivo}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr "Ayudante de seguimiento"
@@ -992,8 +973,8 @@ msgstr ""
"diferentes zonas, por ejemplo, para rechazar el tráfico entre ciertos hosts "
"o para abrir puertos WAN en el enrutador."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Martes"
@@ -1002,7 +983,7 @@ msgid "Unable to save contents: %s"
msgstr "No se puede guardar el contenido: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Ayudante de Conntrack desconocido o no instalado \"%s\""
@@ -1049,6 +1030,10 @@ msgstr ""
"Use esta opción para clasificar el tráfico de zona por subred de origen o "
"destino en lugar de redes o dispositivos."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Vía %s"
@@ -1057,13 +1042,13 @@ msgstr "Vía %s"
msgid "Via %s at %s"
msgstr "Vía %s a %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Miércoles"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Días de la semana"
@@ -1071,7 +1056,7 @@ msgstr "Días de la semana"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1089,6 +1074,7 @@ msgstr "Zonas"
msgid "accept"
msgstr "Aceptar"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1101,9 +1087,8 @@ msgstr "Aceptar"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1202,9 +1187,7 @@ msgstr "Tipo"
msgid "types"
msgstr "Tipos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1212,11 +1195,7 @@ msgstr ""
msgid "unspecified"
msgstr "sin especificar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr "marca de firewall válida"
diff --git a/applications/luci-app-firewall/po/fr/firewall.po b/applications/luci-app-firewall/po/fr/firewall.po
index 17637200f5..ca2494b414 100644
--- a/applications/luci-app-firewall/po/fr/firewall.po
+++ b/applications/luci-app-firewall/po/fr/firewall.po
@@ -101,25 +101,25 @@ msgstr "Permettre la transmission vers les <em>zones destination</em> :"
msgid "Any"
msgstr "N'importe lequel"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "N'importe quel jour"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -177,11 +177,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -262,11 +262,7 @@ msgstr "Activer la protection contre le SYN-flood"
msgid "Enable logging on this zone"
msgstr "Activer les traces (logs) sur cette zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -286,9 +282,9 @@ msgstr "Adresse IP externe"
msgid "External port"
msgstr "Port externe"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Arguments supplémentaires"
@@ -341,8 +337,8 @@ msgstr "Transférer"
msgid "Forward to"
msgstr "Transférer à"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Vendredi"
@@ -447,20 +443,15 @@ msgstr "Port interne"
msgid "Internal zone"
msgstr "Zone interne"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -468,15 +459,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Limiter les messages de journalisation"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -516,7 +503,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -547,7 +534,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -559,20 +546,16 @@ msgstr ""
"Prendre en compte le trafic dirigé vers le port de destination donné (ou la "
"gamme de ports) sur cet hôte"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -580,25 +563,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Lundi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -656,9 +637,9 @@ msgstr ""
msgid "Output"
msgstr "Sortie"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Passe des arguments supplémentaires aux tables d'adresses IP. A utiliser "
@@ -772,16 +753,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Samedi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -862,28 +843,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Dimanche"
@@ -929,8 +910,8 @@ msgstr ""
"cette zone. Les <em>réseaux couverts</em> indiquent quels réseaux "
"disponibles sont membre de cette zone."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Jeudi"
@@ -939,8 +920,8 @@ msgstr "Jeudi"
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Heure en UTC"
@@ -966,7 +947,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -985,8 +966,8 @@ msgstr ""
"entre différentes zones, par exemple pour rejeter le trafic entre certains "
"hôtes ou pour ouvrir des ports WAN sur le routeur."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Mardi"
@@ -995,7 +976,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1040,6 +1021,10 @@ msgstr ""
"Utilisez cette option pour classer le trafic de zone par sous-réseau source "
"ou de destination au lieu de réseaux ou de périphériques."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -1048,13 +1033,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Mercredi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -1062,7 +1047,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1080,6 +1065,7 @@ msgstr "Zones"
msgid "accept"
msgstr "accepter"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1092,9 +1078,8 @@ msgstr "accepter"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1193,9 +1178,7 @@ msgstr "type"
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1203,11 +1186,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/he/firewall.po b/applications/luci-app-firewall/po/he/firewall.po
index f6962a09c1..aad6172eae 100644
--- a/applications/luci-app-firewall/po/he/firewall.po
+++ b/applications/luci-app-firewall/po/he/firewall.po
@@ -95,25 +95,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -165,11 +165,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -250,11 +250,7 @@ msgstr ""
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -274,9 +270,9 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -325,8 +321,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -431,20 +427,15 @@ msgstr ""
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -452,15 +443,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -500,7 +487,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -531,7 +518,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -541,20 +528,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -562,25 +545,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -638,9 +619,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -744,16 +725,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -804,28 +785,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -855,8 +836,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -865,8 +846,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -892,7 +873,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -908,8 +889,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -918,7 +899,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -961,6 +942,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -969,13 +954,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -983,7 +968,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1001,6 +986,7 @@ msgstr ""
msgid "accept"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1013,9 +999,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1114,9 +1099,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1124,10 +1107,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/hi/firewall.po b/applications/luci-app-firewall/po/hi/firewall.po
index 0ab99d8988..89570e9d74 100644
--- a/applications/luci-app-firewall/po/hi/firewall.po
+++ b/applications/luci-app-firewall/po/hi/firewall.po
@@ -101,25 +101,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -171,11 +171,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -256,11 +256,7 @@ msgstr ""
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -280,9 +276,9 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -335,8 +331,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -441,20 +437,15 @@ msgstr ""
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -462,15 +453,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -510,7 +497,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -541,7 +528,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -551,20 +538,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -572,25 +555,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -648,9 +629,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -754,16 +735,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -844,28 +825,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -895,8 +876,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -905,8 +886,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -932,7 +913,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -948,8 +929,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -958,7 +939,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1001,6 +982,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -1009,13 +994,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -1023,7 +1008,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1041,6 +1026,7 @@ msgstr ""
msgid "accept"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1053,9 +1039,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1154,9 +1139,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1164,10 +1147,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/hu/firewall.po b/applications/luci-app-firewall/po/hu/firewall.po
index c30197a753..e7031d9985 100644
--- a/applications/luci-app-firewall/po/hu/firewall.po
+++ b/applications/luci-app-firewall/po/hu/firewall.po
@@ -105,25 +105,25 @@ msgstr "Továbbítás engedélyezése ezekbe a <em>célzónákba</em>:"
msgid "Any"
msgstr "Bármelyik"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Bármely nap"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -181,11 +181,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -268,11 +268,7 @@ msgstr "SYN-elárasztás elleni védelem engedélyezése"
msgid "Enable logging on this zone"
msgstr "Naplózás engedélyezése ezen a zónán"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -294,9 +290,9 @@ msgstr "Külső IP-cím"
msgid "External port"
msgstr "Külső port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "További argumentumok"
@@ -345,8 +341,8 @@ msgstr "Továbbítás"
msgid "Forward to"
msgstr "Továbbítás ide"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Péntek"
@@ -452,20 +448,15 @@ msgstr "Belső port"
msgid "Internal zone"
msgstr "Belső zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -473,15 +464,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Naplóüzenetek korlátozása"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -521,7 +508,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -552,7 +539,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -564,20 +551,16 @@ msgstr ""
"Az ezen a gépen lévő megadott célportra vagy porttartományra irányított "
"bejövő forgalom illesztése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -585,25 +568,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Hétfő"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Hónap napjai"
@@ -664,9 +645,9 @@ msgstr ""
msgid "Output"
msgstr "Kimenet"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Átadja a további argumentumokat az iptables részére. Használja "
@@ -781,16 +762,16 @@ msgstr "Útválasztás vagy NAT kiürítés"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Szombat"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -841,28 +822,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Kezdés dátuma (ÉÉÉÉ-HH-NN)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "Kezdés ideje (ÓÓ.PP.MM)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Leállítás dátuma (ÉÉÉÉ-HH-NN)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "Leállítás ideje (ÓÓ.PP.MM)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Vasárnap"
@@ -907,8 +888,8 @@ msgstr ""
"belül. A <em>lefedett hálózatok</em> adják meg, hogy mely elérhető hálózatok "
"tagjai ennek a zónának."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Csütörtök"
@@ -917,8 +898,8 @@ msgstr "Csütörtök"
msgid "Time Restrictions"
msgstr "Időkorlátozások"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Idő UTC szerint"
@@ -944,7 +925,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -963,8 +944,8 @@ msgstr ""
"szabályokat határozzák meg, például bizonyos gépek közötti forgalom "
"visszautasításához vagy WAN portok megnyitásához az útválasztón."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Kedd"
@@ -973,7 +954,7 @@ msgid "Unable to save contents: %s"
msgstr "Nem lehet elmenteni a tartalmat: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1020,6 +1001,10 @@ msgstr ""
"Használja ezt a beállítást a zónaforgalom forrás- vagy célalhálózat szerint "
"történő besorolásához a hálózatok vagy eszközök helyett."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Ezen keresztül: %s"
@@ -1028,13 +1013,13 @@ msgstr "Ezen keresztül: %s"
msgid "Via %s at %s"
msgstr "Ezen keresztül: %s, itt: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Szerda"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Hétköznapok"
@@ -1042,7 +1027,7 @@ msgstr "Hétköznapok"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1060,6 +1045,7 @@ msgstr "Zónák"
msgid "accept"
msgstr "elfogadás"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1072,9 +1058,8 @@ msgstr "elfogadás"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1173,9 +1158,7 @@ msgstr "típus"
msgid "types"
msgstr "típusok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1183,11 +1166,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/it/firewall.po b/applications/luci-app-firewall/po/it/firewall.po
index 5901306b78..96cec2922b 100644
--- a/applications/luci-app-firewall/po/it/firewall.po
+++ b/applications/luci-app-firewall/po/it/firewall.po
@@ -101,25 +101,25 @@ msgstr "Permetti rounting a <em>zone di destinazione</em>:"
msgid "Any"
msgstr "Qualsiasi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Qualsiasi giorno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -175,11 +175,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -260,11 +260,7 @@ msgstr "Attiva protezione SYN-flood"
msgid "Enable logging on this zone"
msgstr "Attiva registro su questa zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -284,9 +280,9 @@ msgstr "Indirizzo IP Esterno"
msgid "External port"
msgstr "Porta Esterna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Comandi extra"
@@ -335,8 +331,8 @@ msgstr "Inoltra"
msgid "Forward to"
msgstr "Inoltra a"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Venerdì"
@@ -441,20 +437,15 @@ msgstr "Porta interna"
msgid "Internal zone"
msgstr "Zona Interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -462,15 +453,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Limita messaggi del registro"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -510,7 +497,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -541,7 +528,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -553,20 +540,16 @@ msgstr ""
"Corrispondi traffico in entrata diretto alla porta o intervallo di porte "
"dato su questo host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -574,25 +557,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Lunedì"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Giorni del Mese"
@@ -652,9 +633,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Passa comandi addizionali a iptables. Usare con cura!"
@@ -760,16 +741,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Sabato"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -841,28 +822,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Data di Inizio (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Data di Stop (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Domenica"
@@ -907,8 +888,8 @@ msgstr ""
"differenti nella zona. Le <em>reti coperte</em> specificano quali reti "
"disponibili sono membri di questa zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Giovedì"
@@ -917,8 +898,8 @@ msgstr "Giovedì"
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Orario in UTC"
@@ -944,7 +925,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -963,8 +944,8 @@ msgstr ""
"tra zone differenti, per esempio per rifiutare il traffico tra certi host o "
"per aprire porte WAN sul router."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Martedì"
@@ -973,7 +954,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1016,6 +997,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -1024,13 +1009,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr "Via %s a %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Mercoledì"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Giorni della Settimana"
@@ -1038,7 +1023,7 @@ msgstr "Giorni della Settimana"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1056,6 +1041,7 @@ msgstr "Zone"
msgid "accept"
msgstr "accetta"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1068,9 +1054,8 @@ msgstr "accetta"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1169,9 +1154,7 @@ msgstr ""
msgid "types"
msgstr "tipi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1179,11 +1162,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ja/firewall.po b/applications/luci-app-firewall/po/ja/firewall.po
index b924214b6f..be98d30e70 100644
--- a/applications/luci-app-firewall/po/ja/firewall.po
+++ b/applications/luci-app-firewall/po/ja/firewall.po
@@ -108,25 +108,25 @@ msgstr "<em>宛先ゾーン</em>への転送を許可する:"
msgid "Any"
msgstr "全て"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "全日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -184,11 +184,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -272,11 +272,7 @@ msgstr "SYN-Floodプロテクションを有効にする"
msgid "Enable logging on this zone"
msgstr "このゾーンのログ記録を有効にする"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -296,9 +292,9 @@ msgstr "外部IPアドレス"
msgid "External port"
msgstr "外部ポート"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "追加の引数"
@@ -347,8 +343,8 @@ msgstr "転送"
msgid "Forward to"
msgstr "転送先"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "金曜日"
@@ -453,20 +449,15 @@ msgstr "内部ポート"
msgid "Internal zone"
msgstr "内部ゾーン"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -474,15 +465,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "ログメッセージを制限"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -522,7 +509,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -553,7 +540,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -565,20 +552,16 @@ msgstr ""
"設定された宛先ポート(またはポート範囲)に一致した受信トラフィックが対象になり"
"ます"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -586,25 +569,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "月曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "月間"
@@ -666,9 +647,9 @@ msgstr ""
msgid "Output"
msgstr "送信"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"iptablesにパススルーする追加の引数を設定してください。ただし、注意して設定し"
@@ -784,16 +765,16 @@ msgstr "ルーティング/NAT オフロード"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "土曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -844,28 +825,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "開始日 (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "開始時刻 (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "停止日 (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "停止時刻 (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "日曜日"
@@ -908,8 +889,8 @@ msgstr ""
"準のポリシーになります。<em>対象ネットワーク</em>は、どのネットワーク設定がこ"
"のゾーンに属するかを設定します。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "木曜日"
@@ -918,8 +899,8 @@ msgstr "木曜日"
msgid "Time Restrictions"
msgstr "時間制限"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "UTC時刻を使用"
@@ -945,7 +926,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -964,8 +945,8 @@ msgstr ""
"します。例えば、特定のホスト間や、ルーターのWANポートへのトラフィックの拒否を"
"設定することができます。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "火曜日"
@@ -974,7 +955,7 @@ msgid "Unable to save contents: %s"
msgstr "内容を保存できません: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1021,6 +1002,10 @@ msgstr ""
"ネットワークまたはデバイスに代わり、アクセス元またはアクセス先サブネットによ"
"るゾーン トラフィックの区分にこのオプションを使用します。"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "経由 %s"
@@ -1029,13 +1014,13 @@ msgstr "経由 %s"
msgid "Via %s at %s"
msgstr "経由 %s , %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "水曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "曜日"
@@ -1043,7 +1028,7 @@ msgstr "曜日"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1061,6 +1046,7 @@ msgstr "ゾーン"
msgid "accept"
msgstr "許可"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1073,9 +1059,8 @@ msgstr "許可"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1174,9 +1159,7 @@ msgstr "タイプ"
msgid "types"
msgstr "タイプ"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1184,11 +1167,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ko/firewall.po b/applications/luci-app-firewall/po/ko/firewall.po
index 50241e497a..00eb4d1261 100644
--- a/applications/luci-app-firewall/po/ko/firewall.po
+++ b/applications/luci-app-firewall/po/ko/firewall.po
@@ -101,25 +101,25 @@ msgstr "<em>Destination zone</em> 으로 forward 허용:"
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -174,11 +174,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -259,11 +259,7 @@ msgstr "SYN-flood protection 활성화"
msgid "Enable logging on this zone"
msgstr "zone 의 logging 활성화"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -283,9 +279,9 @@ msgstr "외부 IP 주소"
msgid "External port"
msgstr "외부 port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "추가 argument"
@@ -334,8 +330,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "금요일"
@@ -440,20 +436,15 @@ msgstr "내부 port"
msgid "Internal zone"
msgstr "내부 zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -461,15 +452,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -509,7 +496,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -540,7 +527,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -550,20 +537,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -571,25 +554,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "월요일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -647,9 +628,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "iptables 명령에 추가 인자들을 더합니다. 조심해 사용하세요!"
@@ -755,16 +736,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "토요일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -815,28 +796,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "시작 날짜 (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "종료 날짜 (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "일요일"
@@ -880,8 +861,8 @@ msgstr ""
"를 오가는 forward traffic 에 대한 정책을 뜻합니다. <em>Covered networks</em> "
"에서는 zone 의 영향을 받을 네트워크들을 지정할 수 있습니다."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "목요일"
@@ -890,8 +871,8 @@ msgstr "목요일"
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "UTC 기준시"
@@ -917,7 +898,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -936,8 +917,8 @@ msgstr ""
"다. 예를 들어 특정 host 들 사이의 트래픽을 차단하거나 공유기의 WAN port 를 "
"open 할때 사용됩니다."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "화요일"
@@ -946,7 +927,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -989,6 +970,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -997,13 +982,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "수요일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "주일"
@@ -1011,7 +996,7 @@ msgstr "주일"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1029,6 +1014,7 @@ msgstr "Zone 내역"
msgid "accept"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1041,9 +1027,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1142,9 +1127,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1152,11 +1135,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/mr/firewall.po b/applications/luci-app-firewall/po/mr/firewall.po
index 0c830383f3..9b71e137fb 100644
--- a/applications/luci-app-firewall/po/mr/firewall.po
+++ b/applications/luci-app-firewall/po/mr/firewall.po
@@ -101,25 +101,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -171,11 +171,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -256,11 +256,7 @@ msgstr ""
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -280,9 +276,9 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -335,8 +331,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -441,20 +437,15 @@ msgstr ""
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -462,15 +453,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -510,7 +497,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -541,7 +528,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -551,20 +538,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -572,25 +555,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -648,9 +629,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -754,16 +735,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -844,28 +825,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -895,8 +876,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -905,8 +886,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -932,7 +913,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -948,8 +929,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -958,7 +939,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1001,6 +982,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -1009,13 +994,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -1023,7 +1008,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1041,6 +1026,7 @@ msgstr ""
msgid "accept"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1053,9 +1039,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1154,9 +1139,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1164,10 +1147,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ms/firewall.po b/applications/luci-app-firewall/po/ms/firewall.po
index ed6d631f52..0e3856e1a7 100644
--- a/applications/luci-app-firewall/po/ms/firewall.po
+++ b/applications/luci-app-firewall/po/ms/firewall.po
@@ -99,25 +99,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -169,11 +169,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -254,11 +254,7 @@ msgstr ""
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -278,9 +274,9 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -329,8 +325,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -435,20 +431,15 @@ msgstr ""
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -456,15 +447,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -504,7 +491,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -535,7 +522,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -545,20 +532,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -566,25 +549,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -642,9 +623,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -748,16 +729,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -808,28 +789,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -859,8 +840,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -869,8 +850,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -896,7 +877,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -912,8 +893,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -922,7 +903,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -965,6 +946,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -973,13 +958,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -987,7 +972,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1005,6 +990,7 @@ msgstr ""
msgid "accept"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1017,9 +1003,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1118,9 +1103,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1128,10 +1111,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/no/firewall.po b/applications/luci-app-firewall/po/no/firewall.po
index c14e234576..11e2df5f60 100644
--- a/applications/luci-app-firewall/po/no/firewall.po
+++ b/applications/luci-app-firewall/po/no/firewall.po
@@ -97,25 +97,25 @@ msgstr "Tillat videresending til <em>destinasjon soner</em>:"
msgid "Any"
msgstr "Enhver"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -170,11 +170,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -255,11 +255,7 @@ msgstr "Aktiver SYN-flood beskyttelse"
msgid "Enable logging on this zone"
msgstr "Aktiver logging av denne sonen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -279,9 +275,9 @@ msgstr "Ekstern IP adressse"
msgid "External port"
msgstr "Ekstern port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Ekstra argumenter"
@@ -330,8 +326,8 @@ msgstr "Videresend"
msgid "Forward to"
msgstr "Videresend til"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -436,20 +432,15 @@ msgstr "Intern port"
msgid "Internal zone"
msgstr "Intern sone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -457,15 +448,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Begrens logging"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -505,7 +492,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -536,7 +523,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -548,20 +535,16 @@ msgstr ""
"Match innkommende trafikk rettet mot den oppgitte destinasjonsport eller "
"portområdet på denne verten"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -569,25 +552,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -647,9 +628,9 @@ msgstr ""
msgid "Output"
msgstr "Utdata"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Sender flere argumenter til iptables. Bruk med forsiktighet!"
@@ -757,16 +738,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -817,28 +798,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -883,8 +864,8 @@ msgstr ""
"spesifiserer hvilken av de tilgjengelige nettverk som er medlem av denne "
"sone."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -893,8 +874,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -920,7 +901,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -939,8 +920,8 @@ msgstr ""
"for eksempel for å avvise trafikk mellom visse verter eller for å åpne WAN "
"porter på ruteren."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -949,7 +930,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -992,6 +973,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Via %s"
@@ -1000,13 +985,13 @@ msgstr "Via %s"
msgid "Via %s at %s"
msgstr "Via %s på %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -1014,7 +999,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1032,6 +1017,7 @@ msgstr "Soner"
msgid "accept"
msgstr "godta"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1044,9 +1030,8 @@ msgstr "godta"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1145,9 +1130,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1155,11 +1138,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/pl/firewall.po b/applications/luci-app-firewall/po/pl/firewall.po
index 444f7b2bd3..375c46c18b 100644
--- a/applications/luci-app-firewall/po/pl/firewall.po
+++ b/applications/luci-app-firewall/po/pl/firewall.po
@@ -109,14 +109,14 @@ msgstr "Zezwól na przekazywanie do <em>strefy docelowej</em>:"
msgid "Any"
msgstr "Każdy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Każdy dzień"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
@@ -126,11 +126,11 @@ msgstr ""
"ustanowionych połączeniach. Format to wartość [/mask]. Jeśli maska jest "
"określona, wówczas ustawione w niej bity są zerowane."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr "Zastosuj daną klasę lub wartość DSCP do ustanowionych połączeń."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
"Przypisz określonego pomocnika śledzenia połączeń do dopasowanego ruchu."
@@ -188,11 +188,11 @@ msgstr ""
msgid "DSCP classification"
msgstr "Klasyfikacja DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr "Znacznik DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr "Wymagany znacznik DSCP"
@@ -276,11 +276,7 @@ msgstr "Włącz ochronę SYN-flood"
msgid "Enable logging on this zone"
msgstr "Włącz logowanie tej strefy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr "Zaleca się użyć: %s"
@@ -301,9 +297,9 @@ msgstr "Zewnętrzne adresy IP"
msgid "External port"
msgstr "Port zewnętrzny"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Dodatkowe argumenty"
@@ -355,8 +351,8 @@ msgstr "Przekazuj"
msgid "Forward to"
msgstr "Przekazuj do"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Piątek"
@@ -461,20 +457,15 @@ msgstr "Port wewnętrzny"
msgid "Internal zone"
msgstr "Strefa wewnętrzna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr "Nieprawidłowy znacznik DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr "Nieprawidłowa wartość graniczna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr "Naruszenie limitu"
@@ -482,15 +473,11 @@ msgstr "Naruszenie limitu"
msgid "Limit log messages"
msgstr "Ograniczenie logowania"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr "Dopasowanie limitu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr "Ogranicza ruch zgodny z określoną stawką."
@@ -532,7 +519,7 @@ msgstr ""
"Dopasuj %{protocol?%{family} %{protocol} traffic:any %{family} traffic} "
"%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr "Dopasuj DSCP"
@@ -566,7 +553,7 @@ msgstr ""
"portów."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr "Dopasuj pomocnika"
@@ -578,20 +565,16 @@ msgstr ""
"Dopasuj ruch przychodzący do danego portu docelowego lub zakresu portów na "
"tym hoście"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr "Znacznik dopasowania"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr "Dopasuj ruch, używając określonego pomocnika śledzenia połączeń."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr "Odpowiada konkretnemu znakowi zapory lub zakresowi różnych znaków."
@@ -601,13 +584,11 @@ msgstr ""
"Dopasowuje przesyłany ruch przy użyciu określonego wychodzącego urządzenia "
"sieciowego."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr "Dopasowuje ruch niosący określone oznaczenie DSCP."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
@@ -616,13 +597,13 @@ msgstr ""
"ładowana jednorazowo za każdym razem, gdy limit określony powyżej nie "
"zostanie osiągnięty, aż do tej liczby."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Poniedziałek"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Dni miesiąca"
@@ -684,9 +665,9 @@ msgstr "Strefa wychodząca"
msgid "Output"
msgstr "Ruch wychodzący"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Przekazuje dodatkowe argumenty do iptables. Zachowaj szczególną ostrożność!"
@@ -804,16 +785,16 @@ msgstr "Routing/NAT Offloading"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr "SNAT - Przepisz do określonego źródłowego adresu IP lub portu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Sobota"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr "Ustaw znacznik"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -871,28 +852,28 @@ msgstr ""
"Określa, czy użyć zewnętrznego czy wewnętrznego adresu IP do odbijanego "
"ruchu."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Data rozpoczęcia (rrrr-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "Czas rozpoczęcia (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Data zakończenia (yyyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "Czas zatrzymania (yyyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Niedziela"
@@ -935,8 +916,8 @@ msgstr ""
"politykę ruchu przekazywanego pomiędzy różnymi sieciami wewnątrz strefy. "
"<em>Objęte sieci</em> określają dostępne sieci będące członkami tej strefy."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Czwartek"
@@ -945,8 +926,8 @@ msgstr "Czwartek"
msgid "Time Restrictions"
msgstr "Ograniczenia czasowe"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Czas w UTC"
@@ -974,7 +955,7 @@ msgstr ""
"Do %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
"%{device?egress device %{device}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr "Pomocnik śledzenia"
@@ -993,8 +974,8 @@ msgstr ""
"między strefami, na przykład aby odrzucać ruch między konkretnymi hostami "
"albo otworzyć porty WAN routera."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Wtorek"
@@ -1003,7 +984,7 @@ msgid "Unable to save contents: %s"
msgstr "Nie można zapisać zawartości: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Nieznany lub nie zainstalowany pomocnik conntrack \"%s\""
@@ -1050,6 +1031,10 @@ msgstr ""
"Opcji tej należy używać do klasyfikacji ruchu strefowego według źródła lub "
"podsieci docelowej zamiast sieci lub urządzeń."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Przez %s"
@@ -1058,13 +1043,13 @@ msgstr "Przez %s"
msgid "Via %s at %s"
msgstr "Przez %s w %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Środa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Dni tygodnia"
@@ -1072,7 +1057,7 @@ msgstr "Dni tygodnia"
msgid "XOR firewall mark"
msgstr "Znacznik zapory XOR"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr "Znacznik XOR"
@@ -1090,6 +1075,7 @@ msgstr "Strefy"
msgid "accept"
msgstr "akceptuj"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1102,9 +1088,8 @@ msgstr "akceptuj"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1203,9 +1188,7 @@ msgstr "typ"
msgid "types"
msgstr "typy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr "nielimitowane"
@@ -1213,11 +1196,7 @@ msgstr "nielimitowane"
msgid "unspecified"
msgstr "nieokreślone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr "prawidłowy znacznik zapory sieciowej"
diff --git a/applications/luci-app-firewall/po/pt-br/firewall.po b/applications/luci-app-firewall/po/pt-br/firewall.po
index a3a1284bb1..2ee9b06f58 100644
--- a/applications/luci-app-firewall/po/pt-br/firewall.po
+++ b/applications/luci-app-firewall/po/pt-br/firewall.po
@@ -107,25 +107,25 @@ msgstr "Permite o encaminhamento para a <em>zona de destino</em>:"
msgid "Any"
msgstr "Qualquer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Qualquer dia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -182,11 +182,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -270,11 +270,7 @@ msgstr "Habilite proteção contra SYN-flood"
msgid "Enable logging on this zone"
msgstr "Habilite o registro nesta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -297,9 +293,9 @@ msgstr "Endereço IP externo"
msgid "External port"
msgstr "Porta Externa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Argumentos extras"
@@ -348,8 +344,8 @@ msgstr "Encaminhar"
msgid "Forward to"
msgstr "Encaminhar para"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Sexta-feira"
@@ -454,20 +450,15 @@ msgstr "Porta Interna"
msgid "Internal zone"
msgstr "Zona interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -475,15 +466,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Limita as mensagens de registro"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -523,7 +510,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -554,7 +541,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -566,20 +553,16 @@ msgstr ""
"Casa o tráfego entrante direcionado para uma porta ou faixa de portas de "
"destino específica neste computador"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -587,25 +570,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Segunda-Feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Dias do mês"
@@ -666,9 +647,9 @@ msgstr ""
msgid "Output"
msgstr "Saída"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Passa argumentos adicionais para o iptables. Use com cuidado!"
@@ -780,16 +761,16 @@ msgstr "Aceleração de Roteamento/NAT"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Sábado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -840,28 +821,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Dia inicial (aaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "Hora de Início (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Dia final (aaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "Hora de Parada (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Domingo"
@@ -905,8 +886,8 @@ msgstr ""
"<em>Redes Cobertas</em> especificam que redes disponíveis são membros desta "
"zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Quita-feira"
@@ -915,8 +896,8 @@ msgstr "Quita-feira"
msgid "Time Restrictions"
msgstr "Restrições de tempo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Hora em UTC"
@@ -942,7 +923,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -961,8 +942,8 @@ msgstr ""
"diferentes zonas. Por exemplo, rejeitar o tráfego entre certos equipamentos "
"ou abrir portas WAN no roteador."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Terça-feira"
@@ -971,7 +952,7 @@ msgid "Unable to save contents: %s"
msgstr "Não foi possível salvar os conteúdos: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1018,6 +999,10 @@ msgstr ""
"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou "
"destino em vez de redes ou dispositivos."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Via %s"
@@ -1026,13 +1011,13 @@ msgstr "Via %s"
msgid "Via %s at %s"
msgstr "Através do %s na %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Quarta-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Dias da semana"
@@ -1040,7 +1025,7 @@ msgstr "Dias da semana"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1058,6 +1043,7 @@ msgstr "Zonas"
msgid "accept"
msgstr "aceitar"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1070,9 +1056,8 @@ msgstr "aceitar"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1171,9 +1156,7 @@ msgstr "tipo"
msgid "types"
msgstr "tipos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1181,11 +1164,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/pt/firewall.po b/applications/luci-app-firewall/po/pt/firewall.po
index 77a621d3ac..59615617fa 100644
--- a/applications/luci-app-firewall/po/pt/firewall.po
+++ b/applications/luci-app-firewall/po/pt/firewall.po
@@ -107,25 +107,25 @@ msgstr "Permitir encaminhamento para <em>zonas de destino</em>:"
msgid "Any"
msgstr "Qualquer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Qualquer dia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -183,11 +183,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -271,11 +271,7 @@ msgstr "Ativar a Proteção SYN-flood"
msgid "Enable logging on this zone"
msgstr "Ativar registo nesta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -297,9 +293,9 @@ msgstr "Endereço IP externo"
msgid "External port"
msgstr "Porta externa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Argumentos adicionais"
@@ -348,8 +344,8 @@ msgstr "Encaminhar"
msgid "Forward to"
msgstr "Encaminhar para"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Sexta-feira"
@@ -454,20 +450,15 @@ msgstr "Porta interna"
msgid "Internal zone"
msgstr "Zona Interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -475,15 +466,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Limitar registo de mensagens"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -523,7 +510,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -554,7 +541,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -566,20 +553,16 @@ msgstr ""
"O tráfego de entrada corresponde a uma dada porta de destino ou intervalo de "
"portas neste host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -587,25 +570,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Segunda-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Dias do mês"
@@ -665,9 +646,9 @@ msgstr ""
msgid "Output"
msgstr "Saída"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Passa argumentos adicionais para o iptables. Usar com cuidado!"
@@ -781,16 +762,16 @@ msgstr "Descargar Roteamento/NAT"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Sábado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -841,28 +822,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Data de Início (aaaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "Hora de início (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Data de Paragem (aaaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "Tempo de Parada (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Domingo"
@@ -907,8 +888,8 @@ msgstr ""
"abrangidas</em> especifica quais das redes disponíveis são membros desta "
"zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Quinta-feira"
@@ -917,8 +898,8 @@ msgstr "Quinta-feira"
msgid "Time Restrictions"
msgstr "Restrições de Tempo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Tempo em UTC"
@@ -944,7 +925,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -963,8 +944,8 @@ msgstr ""
"diferentes zonas, por exemplo, para rejeitar trafego entre certos hosts ou "
"para abrir portas WAN no router."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Terça-feira"
@@ -973,7 +954,7 @@ msgid "Unable to save contents: %s"
msgstr "Incapaz de gravar conteúdos: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1020,6 +1001,10 @@ msgstr ""
"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou "
"destino em vez de redes ou aparelhos."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Via %s"
@@ -1028,13 +1013,13 @@ msgstr "Via %s"
msgid "Via %s at %s"
msgstr "Via %s no %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Quarta-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Dias úteis"
@@ -1042,7 +1027,7 @@ msgstr "Dias úteis"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1060,6 +1045,7 @@ msgstr "Zonas"
msgid "accept"
msgstr "aceitar"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1072,9 +1058,8 @@ msgstr "aceitar"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1173,9 +1158,7 @@ msgstr "tipo"
msgid "types"
msgstr "tipos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1183,11 +1166,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ro/firewall.po b/applications/luci-app-firewall/po/ro/firewall.po
index f7c604b7c1..cabf779ac5 100644
--- a/applications/luci-app-firewall/po/ro/firewall.po
+++ b/applications/luci-app-firewall/po/ro/firewall.po
@@ -100,25 +100,25 @@ msgstr "Permite trecerea catre <em>zonele sursa</em>."
msgid "Any"
msgstr "Oricare"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Orice zi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -170,11 +170,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -255,11 +255,7 @@ msgstr "Activează protecţia SYN-flood"
msgid "Enable logging on this zone"
msgstr "Activeaza log in aceasta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -279,9 +275,9 @@ msgstr "Adresă IP externă"
msgid "External port"
msgstr "Port extern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -330,8 +326,8 @@ msgstr "Forward"
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Vineri"
@@ -436,20 +432,15 @@ msgstr "Port intern"
msgid "Internal zone"
msgstr "Zonă internă"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -457,15 +448,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Limitează mesaje în log"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -505,7 +492,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -536,7 +523,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -546,20 +533,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -567,25 +550,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Luni"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -643,9 +624,9 @@ msgstr ""
msgid "Output"
msgstr "Ieşire"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -749,16 +730,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Sâmbătă"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -809,28 +790,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Duminică"
@@ -860,8 +841,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Joi"
@@ -870,8 +851,8 @@ msgstr "Joi"
msgid "Time Restrictions"
msgstr "Restricţii de timp"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -897,7 +878,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -913,8 +894,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Marţi"
@@ -923,7 +904,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -966,6 +947,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -974,13 +959,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Miercuri"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -988,7 +973,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1006,6 +991,7 @@ msgstr "Zone"
msgid "accept"
msgstr "accept"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1018,9 +1004,8 @@ msgstr "accept"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1119,9 +1104,7 @@ msgstr "tip"
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1129,11 +1112,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ru/firewall.po b/applications/luci-app-firewall/po/ru/firewall.po
index 3a7fa1432b..116b351969 100644
--- a/applications/luci-app-firewall/po/ru/firewall.po
+++ b/applications/luci-app-firewall/po/ru/firewall.po
@@ -109,25 +109,25 @@ msgstr "Разрешить перенаправление в <em>'зоны на
msgid "Any"
msgstr "Любой"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Любой день"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
"Назначить указанного помощника отслеживания соединений для соответствующего "
@@ -187,11 +187,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -275,11 +275,7 @@ msgstr "Включить защиту от SYN-flood атак"
msgid "Enable logging on this zone"
msgstr "Включить журналирование в этой зоне"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr "Ожидается: %s"
@@ -301,9 +297,9 @@ msgstr "Внешний IP-адрес"
msgid "External port"
msgstr "Внешний порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Дополнительные аргументы"
@@ -352,8 +348,8 @@ msgstr "Перенаправление"
msgid "Forward to"
msgstr "Перенаправлять на"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Пятница"
@@ -458,20 +454,15 @@ msgstr "Внутренний порт"
msgid "Internal zone"
msgstr "Внутренняя зона"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -479,15 +470,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Ограничить журнал сообщений"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -530,7 +517,7 @@ msgstr ""
"Соответствует %{protocol?%{family} %{protocol} трафику:любому %{family} "
"трафику} %{mark?с меткой брандмауэра %{mark}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -567,7 +554,7 @@ msgstr ""
"источника или диапазона портов."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr "Соответствие помощнику"
@@ -579,21 +566,17 @@ msgstr ""
"Порт или диапазон портов, входящие подключения на который будут "
"перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr "Соответствие метки"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
"Сопоставление трафика с помощью указанного помощника отслеживания соединений."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
"Соответствие определённой метке брандмауэра или диапазона различных меток."
@@ -604,25 +587,23 @@ msgstr ""
"Соответствие перенаправляемого трафика, использующего указанное исходящее "
"сетевое устройство."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Понедельник"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Дни месяца"
@@ -687,9 +668,9 @@ msgstr "Исходящая зона"
msgid "Output"
msgstr "Исходящий трафик"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Передаёт дополнительные аргументы таблице iptables. Используйте с "
@@ -807,16 +788,16 @@ msgstr "Маршрутизация/NAT offloading"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr "SNAT — перезаписать на указанный IP-адрес источника или порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Суббота"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -871,28 +852,28 @@ msgstr ""
"Определяет, использовать внешний или внутренний IP-адрес для отраженного "
"трафика."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Дата начала (год-мес-день)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "Время начала (чч.мм.сс)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Дата окончания (год-мес-день)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "Время окончания (чч.мм.сс)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Воскресенье"
@@ -935,8 +916,8 @@ msgstr ""
"различными сетями внутри зоны. <em>'Использовать сети'</em> указывает, какие "
"доступные сети являются членами этой зоны."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Четверг"
@@ -945,8 +926,8 @@ msgstr "Четверг"
msgid "Time Restrictions"
msgstr "Временные ограничения"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Время UTC"
@@ -974,7 +955,7 @@ msgstr ""
"На %{ipaddr?:любой адрес назначения} %{port?порт %{port}} %{zone?через зону "
"%{zone}} %{device?исходящее устройство %{device}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr "Помощник отслеживания"
@@ -993,8 +974,8 @@ msgstr ""
"зонами, например, запрет трафика между некоторыми хостами или открытие WAN-"
"портов маршрутизатора."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Вторник"
@@ -1003,7 +984,7 @@ msgid "Unable to save contents: %s"
msgstr "Невозможно сохранить содержимое: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Неизвестный или не установленный помощник «‎%s»"
@@ -1050,6 +1031,10 @@ msgstr ""
"Используйте эту опцию для классификации трафика зоны по источнику или "
"подсети назначения вместо сети или устройств."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Через %s"
@@ -1058,13 +1043,13 @@ msgstr "Через %s"
msgid "Via %s at %s"
msgstr "Через %s, %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Среда"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Дни недели"
@@ -1072,7 +1057,7 @@ msgstr "Дни недели"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1090,6 +1075,7 @@ msgstr "Зоны"
msgid "accept"
msgstr "принимать"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1102,9 +1088,8 @@ msgstr "принимать"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1203,9 +1188,7 @@ msgstr "тип"
msgid "types"
msgstr "типы"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1213,11 +1196,7 @@ msgstr ""
msgid "unspecified"
msgstr "не определено"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr "верная метка брандмауэра"
diff --git a/applications/luci-app-firewall/po/sk/firewall.po b/applications/luci-app-firewall/po/sk/firewall.po
index ad80268fec..d7f2664659 100644
--- a/applications/luci-app-firewall/po/sk/firewall.po
+++ b/applications/luci-app-firewall/po/sk/firewall.po
@@ -99,25 +99,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -169,11 +169,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -254,11 +254,7 @@ msgstr ""
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -278,9 +274,9 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -329,8 +325,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -435,20 +431,15 @@ msgstr ""
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -456,15 +447,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -504,7 +491,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -535,7 +522,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -545,20 +532,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -566,25 +549,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -642,9 +623,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -748,16 +729,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -808,28 +789,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -859,8 +840,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -869,8 +850,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -896,7 +877,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -912,8 +893,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -922,7 +903,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -965,6 +946,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -973,13 +958,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -987,7 +972,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1005,6 +990,7 @@ msgstr ""
msgid "accept"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1017,9 +1003,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1118,9 +1103,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1128,10 +1111,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/sv/firewall.po b/applications/luci-app-firewall/po/sv/firewall.po
index 9f94584f9d..1319bdfafe 100644
--- a/applications/luci-app-firewall/po/sv/firewall.po
+++ b/applications/luci-app-firewall/po/sv/firewall.po
@@ -99,25 +99,25 @@ msgstr "Till vidarebefordring till <em>destinationszonerna:</em>:"
msgid "Any"
msgstr "Något"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -169,11 +169,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -254,11 +254,7 @@ msgstr ""
msgid "Enable logging on this zone"
msgstr "Aktivera loggning i den här zonen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -278,9 +274,9 @@ msgstr "Extern IP-adress"
msgid "External port"
msgstr "Extern port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Extra argument"
@@ -329,8 +325,8 @@ msgstr "Vidarebefordra"
msgid "Forward to"
msgstr "Vidarebefordra till"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "Fredag"
@@ -435,20 +431,15 @@ msgstr "Intern port"
msgid "Internal zone"
msgstr "Intern zon"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -456,15 +447,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Begränsa loggmeddelanden"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -504,7 +491,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -535,7 +522,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -547,20 +534,16 @@ msgstr ""
"Matcha inkommande trafik dirigerad till den angivna destinationsporten eller "
"portens räckvidd på den här värden"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -568,25 +551,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Måndag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Dagar i månaden"
@@ -645,9 +626,9 @@ msgstr ""
msgid "Output"
msgstr "Utmatning"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -751,16 +732,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Lördag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -811,28 +792,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Startdatum (åååå-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Stopptid (åååå-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Söndag"
@@ -862,8 +843,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Torsdag"
@@ -872,8 +853,8 @@ msgstr "Torsdag"
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Tid enligt UTC"
@@ -899,7 +880,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -915,8 +896,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Tisdag"
@@ -925,7 +906,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -968,6 +949,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Via %s"
@@ -976,13 +961,13 @@ msgstr "Via %s"
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Onsdag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Veckodagar"
@@ -990,7 +975,7 @@ msgstr "Veckodagar"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1008,6 +993,7 @@ msgstr "Zoner"
msgid "accept"
msgstr "acceptera"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1020,9 +1006,8 @@ msgstr "acceptera"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1121,9 +1106,7 @@ msgstr "typ"
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1131,11 +1114,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/templates/firewall.pot b/applications/luci-app-firewall/po/templates/firewall.pot
index 445d0b1d70..f11d72686e 100644
--- a/applications/luci-app-firewall/po/templates/firewall.pot
+++ b/applications/luci-app-firewall/po/templates/firewall.pot
@@ -88,25 +88,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -158,11 +158,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -243,11 +243,7 @@ msgstr ""
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -267,9 +263,9 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -318,8 +314,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -424,20 +420,15 @@ msgstr ""
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -445,15 +436,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -493,7 +480,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -524,7 +511,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -534,20 +521,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -555,25 +538,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -631,9 +612,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -737,16 +718,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -797,28 +778,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -848,8 +829,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -858,8 +839,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -885,7 +866,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -901,8 +882,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -911,7 +892,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -954,6 +935,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -962,13 +947,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -976,7 +961,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -994,6 +979,7 @@ msgstr ""
msgid "accept"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1006,9 +992,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1107,9 +1092,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1117,10 +1100,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/tr/firewall.po b/applications/luci-app-firewall/po/tr/firewall.po
index f5bda6470c..71604217cb 100644
--- a/applications/luci-app-firewall/po/tr/firewall.po
+++ b/applications/luci-app-firewall/po/tr/firewall.po
@@ -99,25 +99,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -169,11 +169,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -254,11 +254,7 @@ msgstr ""
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -278,9 +274,9 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -329,8 +325,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -435,20 +431,15 @@ msgstr ""
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -456,15 +447,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -504,7 +491,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -535,7 +522,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -545,20 +532,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -566,25 +549,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -642,9 +623,9 @@ msgstr ""
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -748,16 +729,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -808,28 +789,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -859,8 +840,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -869,8 +850,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -896,7 +877,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -912,8 +893,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -922,7 +903,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -965,6 +946,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -973,13 +958,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -987,7 +972,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1005,6 +990,7 @@ msgstr ""
msgid "accept"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1017,9 +1003,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1118,9 +1103,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1128,10 +1111,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/uk/firewall.po b/applications/luci-app-firewall/po/uk/firewall.po
index c51d575ae8..209bfbfabc 100644
--- a/applications/luci-app-firewall/po/uk/firewall.po
+++ b/applications/luci-app-firewall/po/uk/firewall.po
@@ -106,25 +106,25 @@ msgstr "Дозволити переспрямовування до <em>зон п
msgid "Any"
msgstr "Будь-який"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "Будь-який день"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -187,11 +187,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -275,11 +275,7 @@ msgstr "Увімкнути захист від SYN-flood"
msgid "Enable logging on this zone"
msgstr "Увімкнути реєстрування у цій зоні"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -301,9 +297,9 @@ msgstr "Зовнішня IP-адреса"
msgid "External port"
msgstr "Зовнішній порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "Додаткові аргументи"
@@ -352,8 +348,8 @@ msgstr "Переспрямовування"
msgid "Forward to"
msgstr "переспрямовування до"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "П'ятниця"
@@ -458,20 +454,15 @@ msgstr "Внутрішній порт"
msgid "Internal zone"
msgstr "Внутрішня зона"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -479,15 +470,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "Обмеження повідомлень журналу"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -527,7 +514,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -558,7 +545,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -570,20 +557,16 @@ msgstr ""
"Зіставляти вхідний трафік, спрямований на заданий порт призначення або "
"діапазон портів цього вузла"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -591,25 +574,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "Понеділок"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "Дні місяця"
@@ -669,9 +650,9 @@ msgstr ""
msgid "Output"
msgstr "Вихідний"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Передача додаткових аргументів для IPTables. Використовуйте з обережністю!"
@@ -784,16 +765,16 @@ msgstr "Розвантаження маршрутизації/NAT"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "Субота"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -844,28 +825,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "Дата початку (рррр-мм-дд)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "Час початку (гг:хх:сс)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Дата зупинки (рррр-мм-дд)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "Час зупинки (гг:хх:сс)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "Неділя"
@@ -909,8 +890,8 @@ msgstr ""
"спрямовування трафіку між різними мережами в межах зони. Пункт <em>Покриті "
"мережі</em> визначає, які доступні мережі є членами цієї зони."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "Четвер"
@@ -919,8 +900,8 @@ msgstr "Четвер"
msgid "Time Restrictions"
msgstr "Часові обмеження"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "Час в UTC"
@@ -946,7 +927,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -965,8 +946,8 @@ msgstr ""
"різними зонами, наприклад, відхиляти трафік між певними вузлами або відкрити "
"порти WAN на маршрутизаторі."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "Вівторок"
@@ -975,7 +956,7 @@ msgid "Unable to save contents: %s"
msgstr "Не вдалося зберегти вміст: %s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1022,6 +1003,10 @@ msgstr ""
"Використовуйте цей параметр для класифікації трафіку зон за підмережею "
"джерела чи призначення замість мереж або пристроїв."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "Через %s"
@@ -1030,13 +1015,13 @@ msgstr "Через %s"
msgid "Via %s at %s"
msgstr "Через %s на %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "Середа"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "Дні тижня"
@@ -1044,7 +1029,7 @@ msgstr "Дні тижня"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1062,6 +1047,7 @@ msgstr "Зони"
msgid "accept"
msgstr "приймати"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1074,9 +1060,8 @@ msgstr "приймати"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1175,9 +1160,7 @@ msgstr "типом"
msgid "types"
msgstr "типами"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1185,11 +1168,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/vi/firewall.po b/applications/luci-app-firewall/po/vi/firewall.po
index 0cfba4b3d4..39a6ce0874 100644
--- a/applications/luci-app-firewall/po/vi/firewall.po
+++ b/applications/luci-app-firewall/po/vi/firewall.po
@@ -103,25 +103,25 @@ msgstr ""
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -173,11 +173,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -260,11 +260,7 @@ msgstr "SYN-flood bảo vệ "
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -284,9 +280,9 @@ msgstr ""
msgid "External port"
msgstr "External port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr ""
@@ -335,8 +331,8 @@ msgstr ""
msgid "Forward to"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr ""
@@ -443,20 +439,15 @@ msgstr "External port"
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -464,15 +455,11 @@ msgstr ""
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -513,7 +500,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -544,7 +531,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -554,20 +541,16 @@ msgid ""
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -575,25 +558,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr ""
@@ -651,9 +632,9 @@ msgstr ""
msgid "Output"
msgstr "Output"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -757,16 +738,16 @@ msgstr ""
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -820,28 +801,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr ""
@@ -873,8 +854,8 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr ""
@@ -883,8 +864,8 @@ msgstr ""
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr ""
@@ -910,7 +891,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -926,8 +907,8 @@ msgid ""
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr ""
@@ -936,7 +917,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -979,6 +960,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr ""
@@ -987,13 +972,13 @@ msgstr ""
msgid "Via %s at %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr ""
@@ -1001,7 +986,7 @@ msgstr ""
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1019,6 +1004,7 @@ msgstr "Zones"
msgid "accept"
msgstr "chấp nhận"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1031,9 +1017,8 @@ msgstr "chấp nhận"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1132,9 +1117,7 @@ msgstr ""
msgid "types"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1142,10 +1125,6 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/zh-cn/firewall.po b/applications/luci-app-firewall/po/zh-cn/firewall.po
index f84eb481c0..9270c8f660 100644
--- a/applications/luci-app-firewall/po/zh-cn/firewall.po
+++ b/applications/luci-app-firewall/po/zh-cn/firewall.po
@@ -107,25 +107,25 @@ msgstr "允许转发到<em>目标区域</em>:"
msgid "Any"
msgstr "任何"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr "每天"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -179,11 +179,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -266,11 +266,7 @@ msgstr "启用 SYN-flood 防御"
msgid "Enable logging on this zone"
msgstr "启用此区域的日志记录"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -290,9 +286,9 @@ msgstr "外部 IP 地址"
msgid "External port"
msgstr "外部端口"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "额外参数"
@@ -341,8 +337,8 @@ msgstr "转发"
msgid "Forward to"
msgstr "转发到"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "星期五"
@@ -447,20 +443,15 @@ msgstr "内部端口"
msgid "Internal zone"
msgstr "内部区域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -468,15 +459,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "限制日志信息"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -516,7 +503,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -547,7 +534,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -557,20 +544,16 @@ msgid ""
"on this host"
msgstr "匹配指向此主机上指定目标端口或目标端口范围的入站流量"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -578,25 +561,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "星期一"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "日期"
@@ -654,9 +635,9 @@ msgstr ""
msgid "Output"
msgstr "出站数据"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "传递到 iptables 的额外参数。小心使用!"
@@ -764,16 +745,16 @@ msgstr "Routing/NAT 分载"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "星期六"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -824,28 +805,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "开始日期(yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr "开始时间(hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "停止日期(yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr "停止时间(hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "星期日"
@@ -882,8 +863,8 @@ msgstr ""
"域入站和出站流量的默认策略,<em>转发</em>选项描述该区域内不同网络之间的流量转"
"发策略。<em>涵盖的网络</em>指定从属于这个区域的网络。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "星期四"
@@ -892,8 +873,8 @@ msgstr "星期四"
msgid "Time Restrictions"
msgstr "时间限制"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "UTC 时间"
@@ -919,7 +900,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -937,8 +918,8 @@ msgstr ""
"通信规则定义了不同区域间的数据包传输策略,例如:拒绝一些主机之间的通信,开放"
"路由器 WAN 上的端口。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "星期二"
@@ -947,7 +928,7 @@ msgid "Unable to save contents: %s"
msgstr "无法保存内容:%s"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -990,6 +971,10 @@ msgid ""
"instead of networks or devices."
msgstr "此选项可对源或目标子网而非网络或设备进行区域流量分类。"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "通过 %s"
@@ -998,13 +983,13 @@ msgstr "通过 %s"
msgid "Via %s at %s"
msgstr "通过 %s 在 %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "星期三"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "星期"
@@ -1012,7 +997,7 @@ msgstr "星期"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1030,6 +1015,7 @@ msgstr "区域"
msgid "accept"
msgstr "接受"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1042,9 +1028,8 @@ msgstr "接受"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1143,9 +1128,7 @@ msgstr "类型"
msgid "types"
msgstr "类型"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1153,11 +1136,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/zh-tw/firewall.po b/applications/luci-app-firewall/po/zh-tw/firewall.po
index d21b563215..9d35ee5ebf 100644
--- a/applications/luci-app-firewall/po/zh-tw/firewall.po
+++ b/applications/luci-app-firewall/po/zh-tw/firewall.po
@@ -100,25 +100,25 @@ msgstr "允許轉發到<em>目標區域</em>:"
msgid "Any"
msgstr "任何"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:602
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:618
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:377
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
@@ -172,11 +172,11 @@ msgstr ""
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
msgid "DSCP mark required"
msgstr ""
@@ -257,11 +257,7 @@ msgstr "啟用 SYN-flood 防禦"
msgid "Enable logging on this zone"
msgstr "啟用此區域的日誌記錄"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "Expecting: %s"
msgstr ""
@@ -281,9 +277,9 @@ msgstr "外部 IP 位址"
msgid "External port"
msgstr "外部埠"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:354
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:594
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
msgid "Extra arguments"
msgstr "附加引數"
@@ -332,8 +328,8 @@ msgstr "轉發"
msgid "Forward to"
msgstr "轉發到"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:608
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
msgid "Friday"
msgstr "星期五"
@@ -438,20 +434,15 @@ msgstr "內部埠"
msgid "Internal zone"
msgstr "內部區域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:553
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:581
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:586
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
msgid "Limit burst"
msgstr ""
@@ -459,15 +450,11 @@ msgstr ""
msgid "Limit log messages"
msgstr "限制日誌資訊"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:558
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:559
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
msgid "Limits traffic matching to the specified rate."
msgstr ""
@@ -507,7 +494,7 @@ msgid ""
"with firewall mark %{mark}} %{limit?limited to %{limit}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid "Match DSCP"
msgstr ""
@@ -538,7 +525,7 @@ msgid ""
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match helper"
msgstr ""
@@ -548,20 +535,16 @@ msgid ""
"on this host"
msgstr "匹配指向此主機上指定目標埠或目標埠範圍的入站流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Match mark"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:317
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
@@ -569,25 +552,23 @@ msgstr ""
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:347
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:587
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:604
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
msgid "Monday"
msgstr "星期一"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:614
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:389
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
msgid "Month Days"
msgstr "日期"
@@ -645,9 +626,9 @@ msgstr ""
msgid "Output"
msgstr "出站資料"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:595
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "傳遞到 iptables 的額外引數。小心使用!"
@@ -751,16 +732,16 @@ msgstr "Routing/NAT 分載"
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:609
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:384
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
msgid "Saturday"
msgstr "星期六"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -811,28 +792,28 @@ msgid ""
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:633
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:408
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
msgid "Start Date (yyyy-mm-dd)"
msgstr "開始日期(yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:625
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:637
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:412
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
msgid "Stop Date (yyyy-mm-dd)"
msgstr "停止日期(yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:629
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:404
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:603
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
msgid "Sunday"
msgstr "星期日"
@@ -869,8 +850,8 @@ msgstr ""
"域入站和出站流量的預設策略,<em>轉發</em>選項描述該區域內不同網路之間的流量轉"
"發策略。<em>覆蓋網路</em>指定從屬於這個區域的網路。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:607
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
msgid "Thursday"
msgstr "星期四"
@@ -879,8 +860,8 @@ msgstr "星期四"
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:641
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
msgid "Time in UTC"
msgstr "UTC 時間"
@@ -906,7 +887,7 @@ msgid ""
"%{device?egress device %{device}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:476
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
msgid "Tracking helper"
msgstr ""
@@ -924,8 +905,8 @@ msgstr ""
"通訊規則定義了不同區域間的資料包傳輸策略,例如:拒絕一些主機之間的通訊,開放"
"路由器 WAN 上的埠。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:605
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:380
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
msgid "Tuesday"
msgstr "星期二"
@@ -934,7 +915,7 @@ msgid "Unable to save contents: %s"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:498
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -977,6 +958,10 @@ msgid ""
"instead of networks or devices."
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid "Valid firewall mark required"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
msgid "Via %s"
msgstr "通過 %s"
@@ -985,13 +970,13 @@ msgstr "通過 %s"
msgid "Via %s at %s"
msgstr "通過 %s 在 %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:606
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:381
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
msgid "Wednesday"
msgstr "星期三"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:598
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
msgid "Week Days"
msgstr "星期"
@@ -999,7 +984,7 @@ msgstr "星期"
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
msgid "XOR mark"
msgstr ""
@@ -1017,6 +1002,7 @@ msgstr "區域"
msgid "accept"
msgstr "接受"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
@@ -1029,9 +1015,8 @@ msgstr "接受"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:521
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
@@ -1130,9 +1115,7 @@ msgstr "型別"
msgid "types"
msgstr "型別"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:562
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
msgid "unlimited"
msgstr ""
@@ -1140,11 +1123,7 @@ msgstr ""
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:512
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:327
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
msgid "valid firewall mark"
msgstr ""