Hi Damien, many thanks for the patch!
Using a regex for that purpose is a bit slow, so I committed a slightly modified version using a hash lookup table (there are only 30 valid masks). see: https://git.proxmox.com/?p=pve-common.git;a=commit;h=a13c6f08a36cd499fe9eb5a2aa7333ef5ff9bb92 > -----Original Message----- > From: pve-devel-boun...@pve.proxmox.com [mailto:pve-devel- > boun...@pve.proxmox.com] On Behalf Of Damien PIQUET > Sent: Donnerstag, 21. Februar 2013 20:30 > To: pve-devel@pve.proxmox.com > Subject: [pve-devel] [PATCH] Modified pve_verify_ipv4mask > > fixed class A validation failure > Improved validation filtering > > see https://bugzilla.proxmox.com/show_bug.cgi?id=335 for details > > Signed-off-by: Damien PIQUET <piqu...@gmail.com> > --- > data/PVE/JSONSchema.pm | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/data/PVE/JSONSchema.pm b/data/PVE/JSONSchema.pm index > dbaffa5..3a5a7a1 100644 > --- a/data/PVE/JSONSchema.pm > +++ b/data/PVE/JSONSchema.pm > @@ -153,8 +153,11 @@ register_format('ipv4mask', \&pve_verify_ipv4mask); > sub pve_verify_ipv4mask { > my ($mask, $noerr) = @_; > > - if ($mask !~ m/^255\.255\.(\d{1,3})\.(\d{1,3})$/ || > - !(($1 <= 255) && ($2 <= 255))) { > + my $maskre = '(0|128|192|224|240|248|252|254|255)'; > + my $fbytere = '(128|192|224|240|248|252|254|255)'; > + my $lbytere = '(0|128|192|224|240|248|252)'; > + > + if ($mask !~ m/^${fbytere}\.${maskre}\.${maskre}\.${lbytere}$/) { > return undef if $noerr; > die "value does not look like a valid IP netmask\n"; > } > -- > 1.7.10.4 > > _______________________________________________ > pve-devel mailing list > pve-devel@pve.proxmox.com > http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel