From: Steven Noonan Date: Thu, 27 Feb 2020 21:04:34 +0000 (-0800) Subject: test-11-nopriv: check Linux GID permission for unprivileged ping X-Git-Url: https://git.gsnw.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=44dd04562c1c1d393ede04d84c87ae3c561e2d2b;p=fping.git test-11-nopriv: check Linux GID permission for unprivileged ping Signed-off-by: Steven Noonan --- diff --git a/ci/test-11-nopriv.pl b/ci/test-11-nopriv.pl index a6bcfd2..243362e 100755 --- a/ci/test-11-nopriv.pl +++ b/ci/test-11-nopriv.pl @@ -1,5 +1,6 @@ #!/usr/bin/perl -w +use English; use Test::Command; use Test::More; @@ -7,6 +8,26 @@ if( $^O eq 'darwin' ) { plan skip_all => 'Test irrelevant on MacOS'; exit 0; } + +sub get_ping_gid_range { + open FD, "/proc/sys/net/ipv4/ping_group_range" or return undef; + chomp(my $line = ); + my @range = split(/\s+/, $line); + close FD; + return @range; +} + +my @gids = split(' ', $EGID); +my @allowed_gid_range = get_ping_gid_range(); + +# Linux test for unprivileged ping support +foreach(@gids) { + if ($_ >= $allowed_gid_range[0] && $_ <= $allowed_gid_range[1]) { + plan skip_all => "Userspace pings are allowed, gid $_ in range [$allowed_gid_range[0], $allowed_gid_range[1]]"; + exit 0; + } +} + plan tests => 3; # run without privileges