luci-proto-wireguard: fix fwmark validation to allow 32 bit values
authorJo-Philipp Wich <jo@mein.io>
Wed, 2 Jun 2021 18:35:32 +0000 (14:35 -0400)
committerJo-Philipp Wich <jo@mein.io>
Thu, 3 Jun 2021 07:51:58 +0000 (09:51 +0200)
The iptables mark field is 32 bits wide, which is 4 bytes and so 8 hex
characters. Fix the fwmark validation to allow 8 characters in the hex
string.

Fixes: #5098
Suggested-by: Robert <32970961+differentblue@users.noreply.github.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js

index dd933c95447e63c19b23f4182d8bf81791f39616..6321f85d9b9dde5d1dca274645666f378fc1546d 100644 (file)
@@ -97,7 +97,7 @@ return network.registerProtocol('wireguard', {
                o = s.taboption('advanced', form.Value, 'fwmark', _('Firewall Mark'), _('Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, starting with <code>0x</code>.'));
                o.optional = true;
                o.validate = function(section_id, value) {
-                       if (value.length > 0 && !value.match(/^0x[a-fA-F0-9]{1,4}$/))
+                       if (value.length > 0 && !value.match(/^0x[a-fA-F0-9]{1,8}$/))
                                return _('Invalid hexadecimal value');
 
                        return true;