luci-proto-wireguard: add support for fwmark option

Adds support for the fwmark option.

FwMark is a 32-bit fwmark for outgoing packets.
If set to 0 or "off", this option is disabled.

Signed-off-by: Dan Luedtke <mail@danrl.com>
This commit is contained in:
danrl 2017-02-24 15:03:11 +01:00
parent 09353ff640
commit cd8333cf0b
2 changed files with 24 additions and 4 deletions

View file

@ -283,6 +283,14 @@ function hexstring(val)
return false
end
function hex(val, maxbytes)
maxbytes = tonumber(maxbytes)
if val and maxbytes ~= nil then
return ((val:match("^0x[a-fA-F0-9]+$") ~= nil) and (#val <= 2 + maxbytes * 2))
end
return false
end
function base64(val)
if val then
return (val:match("^[a-zA-Z0-9/+]+=?=?$") ~= nil) and (math.fmod(#val, 4) == 0)

View file

@ -85,6 +85,18 @@ preshared_key.datatype = "and(base64,rangelength(44, 44))"
preshared_key.optional = true
fwmark = section:taboption(
"advanced",
Value,
"fwmark",
translate("Firewall Mark"),
translate("Optional. 32-bit mark for outgoing encrypted packets. " ..
"Enter value in hex, starting with <code>0x</code>.")
)
fwmark.datatype = "hex(4)"
fwmark.optional = true
-- peers -----------------------------------------------------------------------
peers = map:section(