From cd05327d57fac9c5e2455076a3045bfc47d80593 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Mon, 12 Jan 2004 09:19:20 +0000 Subject: allow a range of ports (anthill bug #267) --- perl-install/network/drakfirewall.pm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'perl-install/network') diff --git a/perl-install/network/drakfirewall.pm b/perl-install/network/drakfirewall.pm index 428c855c2..aa0db51d9 100644 --- a/perl-install/network/drakfirewall.pm +++ b/perl-install/network/drakfirewall.pm @@ -68,8 +68,11 @@ sub port2server { sub check_ports_syntax { my ($ports) = @_; foreach (split ' ', $ports) { - my ($nb) = m!^(\d+)/(tcp|udp)$! or return $_; - 1 <= $nb && $nb <= 65535 or return $_; + my ($nb, $range, $nb2) = m!^(\d+)(:(\d+))?/(tcp|udp)$! or return $_; + foreach my $port ($nb, if_($range, $nb2)) { + 1 <= $port && $port <= 65535 or return $_; + } + $nb < $nb2 or return $_ if $range; } ''; } @@ -165,7 +168,9 @@ Have a look at /etc/services for information."), if (my $invalid_port = check_ports_syntax($unlisted)) { $in->ask_warn('', N("Invalid port given: %s. The proper format is \"port/tcp\" or \"port/udp\", -where port is between 1 and 65535.", $invalid_port)); +where port is between 1 and 65535. + +You can also give a range of ports (eg: 24300:24350/udp)", $invalid_port)); return 1; } }, -- cgit v1.2.1