[pve-devel] [PATCH proxmox-widget-toolkit] ui: mac-prefix-validation

Shannon Sterz s.sterz at proxmox.com
Fri Nov 8 12:41:23 CET 2024


On Fri Nov 8, 2024 at 12:30 PM CET, Moayad Almalat wrote:
>
> Allow four-octet MAC prefixes in Web UI validation
> update the MAC prefix validation in the Web UI to support four-octet
> prefixes.
>
> Signed-off-by: Moayad Almalat <m.almalat at proxmox.com>
> ---
>  src/Toolkit.js | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/Toolkit.js b/src/Toolkit.js
> index 8a0138d..42dbfaa 100644
> --- a/src/Toolkit.js
> +++ b/src/Toolkit.js
> @@ -70,7 +70,7 @@ Ext.apply(Ext.form.field.VTypes, {
>      MacAddressText: gettext('Example') + ': 01:23:45:67:89:ab',
>
>      MacPrefix: function(v) {
> -	return (/^[a-f0-9][02468ace](?::[a-f0-9]{2}){0,2}:?$/i).test(v);
> +	return (/^[a-f0-9][02468ace](?::[a-f0-9]{2}){0,3}:?$/i).test(v);

this still does not match `BC:24:11:0` as we recommend in our docs as
this regex requires the fourth octet to also be complete and not just a
nible. you could do something like this:

```
/^[a-f0-9][02468ace](?::[a-f0-9]{2}){0,2}(?::[a-f0-9]{0,2})?:?$/i
```

this would allow the last octet to be incomplete too, but i wonder if at
that point we want to generally allow longer prefixes and just make sure
that a prefix address is not a) a multicast prefix b) a broadcast prefix
and c) a complete set of 6 octets. that may be simpler and more future
proof?

>      },
>      MacPrefixMask: /[a-fA-F0-9:]/,
>      MacPrefixText: gettext('Example') + ': 02:8f - ' + gettext('only unicast addresses are allowed'),





More information about the pve-devel mailing list