luci-mod-network: tighten MAC check regex
authorPaul Donald <redacted>
Mon, 23 Mar 2026 18:10:01 +0000 (19:10 +0100)
committerPaul Donald <redacted>
Mon, 23 Mar 2026 18:10:01 +0000 (19:10 +0100)
dnsmasq behaviour changed slightly and MACs separated
by hyphen are no longer accepted. Accept only colon
separator when validating. Also enforce hex doublets,
i.e. 00 instead of 0.

Signed-off-by: Paul Donald <redacted>
modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js

index 18b82dadff3a72cf8010f7d5d8e9dfa48c1294e4..d4774bbadd059917bb3be13e28b34eef2e8cd28a 100644 (file)
@@ -201,7 +201,7 @@ function isValidMAC(sid, s) {
        if (!s) return true;
 
        for (const mac of L.toArray(s))
-               if (!mac.match(/^(([0-9a-f]{1,2}|\*)[:-]){5}([0-9a-f]{1,2}|\*)$/i))
+               if (!mac.match(/^(([0-9a-f]{2}|\*):){5}([0-9a-f]{2}|\*)$/i))
                        return _('Expecting a valid MAC address, optionally including wildcards') + _('; invalid MAC: ') + mac;
 
        return true;
git clone https://git.99rst.org/PROJECT