X-Git-Url: https://git.proxmox.com/?p=pve-firewall.git;a=blobdiff_plain;f=src%2FPVE%2FFirewall.pm;h=88fc044315a77aed0664dbbf4455a83e960d764a;hp=e060244e9d26439f3cffc5df0c270bec8c42ebfe;hb=3162af6b6288fdf740f6808421ad1ebc7993784c;hpb=cbb5d6f35612337edbb6d2bb0aa18028dd07fe9f diff --git a/src/PVE/Firewall.pm b/src/PVE/Firewall.pm index e060244..88fc044 100644 --- a/src/PVE/Firewall.pm +++ b/src/PVE/Firewall.pm @@ -613,18 +613,18 @@ sub get_etc_protocols { sub parse_address_list { my ($str) = @_; - my $nbaor = 0; - foreach my $aor (split(/,/, $str)) { - if($nbaor > 0 && $aor =~ m/-/){ - die "you can use a range in a list"; - } - if (!Net::IP->new($aor)) { + my $count = 0; + my $iprange = 0; + foreach my $elem (split(/,/, $str)) { + $count++; + if (!Net::IP->new($elem)) { my $err = Net::IP::Error(); die "invalid IP address: $err\n"; - }else{ - $nbaor++; } + $iprange = 1 if $elem =~ m/-/; } + + die "you can use a range in a list\n" if $iprange && $count > 1; } sub parse_port_name_number_or_range {