fix bug #335: correctly verify ipv4 network masks

This commit is contained in:
Dietmar Maurer 2013-02-22 09:14:10 +01:00
parent ddd3d22425
commit a13c6f08a3
3 changed files with 42 additions and 3 deletions

View File

@ -1,7 +1,7 @@
RELEASE=2.3
VERSION=1.0
PKGREL=46
PKGREL=47
PACKAGE=libpve-common-perl

View File

@ -149,12 +149,45 @@ sub pve_verify_ipv4 {
}
return $ipv4;
}
my $ipv4_mask_hash = {
'128.0.0.0' => 1,
'192.0.0.0' => 2,
'224.0.0.0' => 3,
'240.0.0.0' => 4,
'248.0.0.0' => 5,
'252.0.0.0' => 6,
'254.0.0.0' => 7,
'255.0.0.0' => 8,
'255.128.0.0' => 9,
'255.192.0.0' => 10,
'255.224.0.0' => 11,
'255.240.0.0' => 12,
'255.248.0.0' => 13,
'255.252.0.0' => 14,
'255.254.0.0' => 15,
'255.255.0.0' => 16,
'255.255.128.0' => 17,
'255.255.192.0' => 18,
'255.255.224.0' => 19,
'255.255.240.0' => 20,
'255.255.248.0' => 21,
'255.255.252.0' => 22,
'255.255.254.0' => 23,
'255.255.255.0' => 24,
'255.255.255.128' => 25,
'255.255.255.192' => 26,
'255.255.255.224' => 27,
'255.255.255.240' => 28,
'255.255.255.248' => 29,
'255.255.255.252' => 30
};
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))) {
if (!defined($ipv4_mask_hash->{$mask})) {
return undef if $noerr;
die "value does not look like a valid IP netmask\n";
}

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
libpve-common-perl (1.0-47) unstable; urgency=low
* fix bug #335: correctly verify ipv4 network masks
-- Proxmox Support Team <support@proxmox.com> Fri, 22 Feb 2013 09:13:35 +0100
libpve-common-perl (1.0-46) unstable; urgency=low
* revert vlan changes