mirror of
git://git.proxmox.com/git/pve-firewall.git
synced 2025-03-07 04:58:15 +03:00
parse_address_list: make sure we only have one type of addresses (ipv4 or ipv6)
This commit is contained in:
parent
5163367b84
commit
a589b6acd9
@ -802,7 +802,7 @@ sub parse_address_list {
|
||||
|
||||
my $count = 0;
|
||||
my $iprange = 0;
|
||||
my $ipversion = undef;
|
||||
my $ipversion;
|
||||
|
||||
foreach my $elem (split(/,/, $str)) {
|
||||
$count++;
|
||||
@ -811,10 +811,17 @@ sub parse_address_list {
|
||||
die "invalid IP address: $err\n";
|
||||
}
|
||||
$iprange = 1 if $elem =~ m/-/;
|
||||
$ipversion = Net::IP::ip_get_version($elem); #fixme : don't work with range
|
||||
|
||||
my $new_ipversion = Net::IP::ip_get_version($elem); #fixme : don't work with range
|
||||
|
||||
die "detected mixed ipv4/ipv6 addresses in address list '$str'\n"
|
||||
if defined($ipversion) && ($new_ipversion != $ipversion);
|
||||
|
||||
$ipversion = $new_ipversion;
|
||||
}
|
||||
|
||||
die "you can't use a range in a list\n" if $iprange && $count > 1;
|
||||
|
||||
return $ipversion;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user