mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-09-01 23:05:11 +00:00
Regression testsuite: rename the emit_ functions to gen_ which reflects
their purpose a little more accurately; renames the dump_flags to emit_flags for the same reason, and also adds a modicum a function prototype information to the function declarations. Signed-off-by: Steve Beattie <sbeattie@ubuntu.com> Acked-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
@@ -34,7 +34,7 @@ sub usage {
|
|||||||
|
|
||||||
&usage && exit 0 if ($help || @ARGV < 1);
|
&usage && exit 0 if ($help || @ARGV < 1);
|
||||||
|
|
||||||
sub emit_netdomain {
|
sub gen_netdomain($) {
|
||||||
my $rule = shift;
|
my $rule = shift;
|
||||||
# only split on single ':'s
|
# only split on single ':'s
|
||||||
my @rules = split (/(?<!:):(?!:)/, $rule);
|
my @rules = split (/(?<!:):(?!:)/, $rule);
|
||||||
@@ -43,13 +43,13 @@ sub emit_netdomain {
|
|||||||
push (@{$output_rules{$hat}}, " @rules,\n");
|
push (@{$output_rules{$hat}}, " @rules,\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
sub emit_network {
|
sub gen_network($) {
|
||||||
my $rule = shift;
|
my $rule = shift;
|
||||||
my @rules = split (/:/, $rule);
|
my @rules = split (/:/, $rule);
|
||||||
push (@{$output_rules{$hat}}, " @rules,\n");
|
push (@{$output_rules{$hat}}, " @rules,\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
sub emit_cap {
|
sub gen_cap($) {
|
||||||
my $rule = shift;
|
my $rule = shift;
|
||||||
my @rules = split (/:/, $rule);
|
my @rules = split (/:/, $rule);
|
||||||
if (@rules != 2) {
|
if (@rules != 2) {
|
||||||
@@ -59,7 +59,7 @@ sub emit_cap {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub emit_file {
|
sub gen_file($) {
|
||||||
my $rule = shift;
|
my $rule = shift;
|
||||||
my @rules = split (/:/, $rule);
|
my @rules = split (/:/, $rule);
|
||||||
# default: file rules
|
# default: file rules
|
||||||
@@ -78,7 +78,7 @@ sub emit_file {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub emit_flag {
|
sub gen_flag($) {
|
||||||
my $rule = shift;
|
my $rule = shift;
|
||||||
my @rules = split (/:/, $rule);
|
my @rules = split (/:/, $rule);
|
||||||
if (@rules != 2) {
|
if (@rules != 2) {
|
||||||
@@ -88,7 +88,7 @@ sub emit_flag {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub emit_hat {
|
sub gen_hat($) {
|
||||||
my $rule = shift;
|
my $rule = shift;
|
||||||
my @rules = split (/:/, $rule);
|
my @rules = split (/:/, $rule);
|
||||||
if (@rules != 2) {
|
if (@rules != 2) {
|
||||||
@@ -104,27 +104,27 @@ my $bin = shift @ARGV;
|
|||||||
!(-e $bin || $nowarn) && print STDERR "Warning: execname '$bin': no such file or directory\n";
|
!(-e $bin || $nowarn) && print STDERR "Warning: execname '$bin': no such file or directory\n";
|
||||||
|
|
||||||
# give every profile/hat access to change_hat
|
# give every profile/hat access to change_hat
|
||||||
emit_file("/proc/*/attr/current:w");
|
gen_file("/proc/*/attr/current:w");
|
||||||
|
|
||||||
for my $rule (@ARGV) {
|
for my $rule (@ARGV) {
|
||||||
#($fn, @rules) = split (/:/, $rule);
|
#($fn, @rules) = split (/:/, $rule);
|
||||||
if ($rule =~ /^(tcp|udp)/) {
|
if ($rule =~ /^(tcp|udp)/) {
|
||||||
# netdomain rules
|
# netdomain rules
|
||||||
emit_netdomain($rule);
|
gen_netdomain($rule);
|
||||||
} elsif ($rule =~ /^network:/) {
|
} elsif ($rule =~ /^network:/) {
|
||||||
emit_network($rule);
|
gen_network($rule);
|
||||||
} elsif ($rule =~ /^cap:/) {
|
} elsif ($rule =~ /^cap:/) {
|
||||||
emit_cap($rule);
|
gen_cap($rule);
|
||||||
} elsif ($rule =~ /^flag:/) {
|
} elsif ($rule =~ /^flag:/) {
|
||||||
emit_flag($rule);
|
gen_flag($rule);
|
||||||
} elsif ($rule =~ /^hat:/) {
|
} elsif ($rule =~ /^hat:/) {
|
||||||
emit_hat($rule);
|
gen_hat($rule);
|
||||||
} else {
|
} else {
|
||||||
emit_file($rule);
|
gen_file($rule);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub dump_flags {
|
sub emit_flags($) {
|
||||||
my $hat = shift;
|
my $hat = shift;
|
||||||
|
|
||||||
if (exists $flags{$hat}) {
|
if (exists $flags{$hat}) {
|
||||||
@@ -139,7 +139,7 @@ sub dump_flags {
|
|||||||
|
|
||||||
print STDOUT "# Profile autogenerated by $__VERSION__\n";
|
print STDOUT "# Profile autogenerated by $__VERSION__\n";
|
||||||
print STDOUT "$bin ";
|
print STDOUT "$bin ";
|
||||||
dump_flags('__no_hat');
|
emit_flags('__no_hat');
|
||||||
print STDOUT "{\n";
|
print STDOUT "{\n";
|
||||||
foreach my $outrule (@{$output_rules{'__no_hat'}}) {
|
foreach my $outrule (@{$output_rules{'__no_hat'}}) {
|
||||||
print STDOUT $outrule;
|
print STDOUT $outrule;
|
||||||
@@ -147,7 +147,7 @@ foreach my $outrule (@{$output_rules{'__no_hat'}}) {
|
|||||||
foreach my $hat (keys %output_rules) {
|
foreach my $hat (keys %output_rules) {
|
||||||
if (not $hat =~ /^__no_hat$/) {
|
if (not $hat =~ /^__no_hat$/) {
|
||||||
print STDOUT "\n ^$hat";
|
print STDOUT "\n ^$hat";
|
||||||
dump_flags($hat);
|
emit_flags($hat);
|
||||||
print STDOUT " {\n";
|
print STDOUT " {\n";
|
||||||
foreach my $outrule (@{$output_rules{$hat}}) {
|
foreach my $outrule (@{$output_rules{$hat}}) {
|
||||||
print STDOUT " $outrule";
|
print STDOUT " $outrule";
|
||||||
|
Reference in New Issue
Block a user