diff options
author | Hannu Nyman <hannu.nyman@iki.fi> | 2015-08-26 13:51:31 +0300 |
---|---|---|
committer | Hannu Nyman <hannu.nyman@iki.fi> | 2015-08-26 13:55:26 +0300 |
commit | 34e875b3d35fa1d4dde0a3ec662868213b710c55 (patch) | |
tree | 8fcbad489f9fbfd1d85974540d3e6c6168edbed6 /applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua | |
parent | 084d435060f73a8e098c8022a43bd9f5b1fd63ca (diff) |
firewall: validate max length of zone name
fw3 sets the maximum length of the zone name to 14 and
ignores zone definitions with too long names.
http://nbd.name/gitweb.cgi?p=firewall3.git;a=blob;f=zones.h;hb=HEAD#l25
http://nbd.name/gitweb.cgi?p=firewall3.git;a=blob;f=zones.c;hb=HEAD#l195
Add a simple validation to ensure that the new zone name is short enough.
This should fix issue #345
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Diffstat (limited to 'applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua')
-rw-r--r-- | applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua index 3eb95ebb57..46b3744403 100644 --- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua +++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua @@ -76,6 +76,15 @@ function name.write(self, section, value) } end +function name.validate(self, value) + -- fw3 defines 14 as the maximum length of zone name + if #value > 14 then + return nil, translate("Zone name is too long") + else + return value + end +end + p = { s:taboption("general", ListValue, "input", translate("Input")), s:taboption("general", ListValue, "output", translate("Output")), |