From 041b7e8e058cb55e730d7ffc4cc94e5050e54a9e Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Mon, 7 Apr 2014 08:32:29 +0200 Subject: [PATCH] allow icmp port names --- src/PVE/Firewall.pm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/PVE/Firewall.pm b/src/PVE/Firewall.pm index 1b83334..9054648 100644 --- a/src/PVE/Firewall.pm +++ b/src/PVE/Firewall.pm @@ -694,6 +694,8 @@ sub parse_port_name_number_or_range { my $services = PVE::Firewall::get_etc_services(); my $count = 0; + my $icmp_port = 0; + foreach my $item (split(/,/, $str)) { $count++; if ($item =~ m/^(\d+):(\d+)$/) { @@ -704,10 +706,16 @@ sub parse_port_name_number_or_range { my $port = $1; die "invalid port '$port'\n" if $port > 65535; } else { - die "invalid port '$item'\n" if !$services->{byname}->{$item}; + if ($icmp_type_names->{$item}) { + $icmp_port = 1; + } else { + die "invalid port '$item'\n" if !$services->{byname}->{$item}; + } } } + die "ICPM ports not allowed in port range\n" if $icmp_port && $count > 1; + return $count; } -- 2.39.2