From: Maximiliano Sandoval <m.sandoval@proxmox.com>
To: Moayad Almalat <m.almalat@proxmox.com>
Cc: pve-devel@lists.proxmox.com
Subject: Re: [PATCH proxmox-widget-toolkit v2] fix #2685: ui: allow 4-bit mac_prefix suffix
Date: Tue, 24 Feb 2026 16:27:28 +0100 [thread overview]
Message-ID: <s8ojyw2go0v.fsf@proxmox.com> (raw)
In-Reply-To: <20260224120536.141228-1-m.almalat@proxmox.com> (Moayad Almalat's message of "Tue, 24 Feb 2026 13:05:36 +0100")
Moayad Almalat <m.almalat@proxmox.com> writes:
> Signed-off-by: Moayad Almalat <m.almalat@proxmox.com>
> ---
> src/Toolkit.js | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/Toolkit.js b/src/Toolkit.js
> index d4e579b..39513b8 100644
> --- a/src/Toolkit.js
> +++ b/src/Toolkit.js
> @@ -72,7 +72,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,2}:?|[a-f0-9][02468ace](?::[a-f0-9]{2}){2}:[a-f0-9])$/i.test(v);
> },
> MacPrefixMask: /[a-fA-F0-9:]/,
> MacPrefixText:
I had the following stashed locally:
```
modified src/test/Makefile
@@ -4,8 +4,15 @@ cpgtest: cpgtest.c
gcc -Wall cpgtest.c $(shell pkg-config --cflags --libs libcpg libqb) -o cpgtest
.PHONY: check install clean distclean
-check:
+check: corosync-parser-test test-mac-prefix
+
+.PHONY: corosync-parser-test
+corosync-parser-test:
./corosync_parser_test.pl
+.PHONY: test-mac-prefix
+test-mac-prefix:
+ perl test_mac_prefix.pl
+
distclean: clean
clean:
new file src/test/test_mac_prefix.pl
@@ -0,0 +1,24 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+use lib ('.', '..');
+
+use PVE::DataCenterConfig;
+
+my $longest_prefix_len = 10;
+my $prefix = "00:00:00:00:00:00";
+
+# test that all sub-strings of $prefix longer than "00" and strictly shorter than
+# "00:00:00:00" are OK
+for (my $i = 0; $i <= length($prefix); $i++) {
+ my $sub_prefix = substr($prefix, 0, $i);
+ if (2 <= $i && $i <= $longest_prefix_len) {
+ ok(PVE::DataCenterConfig::pve_verify_mac_prefix($sub_prefix), "$sub_prefix is a valid mac prefix");
+ } else {
+ is(PVE::DataCenterConfig::pve_verify_mac_prefix($sub_prefix, 1), undef, "$sub_prefix is not valid mac prefix");
+ }
+}
+
+done_testing();
```
Perhaps this can be added here either in a followup or in v3.
This is pre-existing issue, but at the moment we only allow for 8bit,
16bit or 24bit suffixes, e.g. 00:00:0 is not allowed. The test above
will test any possible prefix lenght from 00 to 00:00:00:0.
--
Maximiliano
prev parent reply other threads:[~2026-02-24 15:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-24 12:05 Moayad Almalat
2026-02-24 13:00 ` Fabian Grünbichler
2026-02-24 14:29 ` Moayad Almalat
2026-02-24 15:13 ` Shannon Sterz
2026-02-24 15:27 ` Maximiliano Sandoval [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=s8ojyw2go0v.fsf@proxmox.com \
--to=m.sandoval@proxmox.com \
--cc=m.almalat@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox