diff options
author | Jo-Philipp Wich <jo@mein.io> | 2021-12-09 16:24:31 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2021-12-09 16:24:31 +0100 |
commit | 43818163155d5ce49414a8e54f5746a85606ba03 (patch) | |
tree | ba299d313f9a6462c745201175a833e024d53e73 | |
parent | 604c00905987cf38336754aef408d837b368a8e5 (diff) |
luci-app-firewall: CBIProtocolSelect: properly handle unrecognized protos
Prevent incorrectly replacing unrecognized protocol numbers with -1.
Fixes: #5587
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r-- | applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js | 7 |
1 files changed, 4 insertions, 3 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 3f6a309033..03e505e89d 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 @@ -590,8 +590,7 @@ return baseclass.extend({ }); widget.createChoiceElement = function(sb, value) { - var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/), - p = lookupProto(lookupProto(m ? +m[1] : value)[0]); + var p = lookupProto(value); return ui.Dropdown.prototype.createChoiceElement.call(this, sb, p[2], p[1]); }; @@ -601,9 +600,11 @@ return baseclass.extend({ var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/), p = lookupProto(m ? +m[1] : value); - return (p[0] > -1) ? p[2] : value; + return (p[0] > -1) ? p[2] : p[1]; }); + values.sort(); + return ui.Dropdown.prototype.createItems.call(this, sb, values.join(' ')); }; |