test-11-nopriv: check Linux GID permission for unprivileged ping

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
pull/173/head
Steven Noonan 5 years ago
parent 6bc29919d3
commit 44dd04562c
No known key found for this signature in database
GPG Key ID: 408EEB508ED0CD4D

@ -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 = <FD>);
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

Loading…
Cancel
Save