summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js')
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js54
1 files changed, 3 insertions, 51 deletions
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!'));