summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
cbb5d6f)
The previous check did not work if the range is the first entry in the list,
for example:
IN ACCEPT net0 10.0.0.1-10.0.0.10,10.0.0.12
sub parse_address_list {
my ($str) = @_;
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";
my $err = Net::IP::Error();
die "invalid IP address: $err\n";
+ $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 {
}
sub parse_port_name_number_or_range {