[apparmor] [PATCH 2/6] tests: Update mkprofile.pl to accept unix rules
Tyler Hicks
tyhicks at canonical.com
Thu Sep 4 11:55:42 UTC 2014
Example gen_unix() inputs and outputs:
"unix:ALL" -> " unix,\n"
"unix:(create,bind,listen,accept):addr=@foo:peer=(label=bar)" ->
" unix (create,bind,listen accept) addr=@foo peer=(label=bar),\n"
Signed-off-by: Tyler Hicks <tyhicks at canonical.com>
---
tests/regression/apparmor/mkprofile.pl | 12 ++++++++++++
tests/regression/apparmor/unix_socket.sh | 1 -
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/tests/regression/apparmor/mkprofile.pl b/tests/regression/apparmor/mkprofile.pl
index e1e67f5..adae98f 100755
--- a/tests/regression/apparmor/mkprofile.pl
+++ b/tests/regression/apparmor/mkprofile.pl
@@ -154,6 +154,16 @@ sub gen_network($) {
push (@{$output_rules{$hat}}, " @rules,\n");
}
+sub gen_unix($) {
+ my $rule = shift;
+ if ($rule =~ /^unix:ALL$/) {
+ push (@{$output_rules{$hat}}, " unix,\n");
+ } else {
+ $rule =~ s/:/ /g;
+ push(@{$output_rules{$hat}}, " " . $rule . ",\n");
+ }
+}
+
sub gen_cap($) {
my $rule = shift;
my @rules = split (/:/, $rule);
@@ -376,6 +386,8 @@ sub gen_from_args() {
gen_netdomain($rule);
} elsif ($rule =~ /^network:/) {
gen_network($rule);
+ } elsif ($rule =~ /^unix:/) {
+ gen_unix($rule);
} elsif ($rule =~ /^cap:/) {
gen_cap($rule);
} elsif ($rule =~ /^ptrace:/) {
diff --git a/tests/regression/apparmor/unix_socket.sh b/tests/regression/apparmor/unix_socket.sh
index b4fd59d..10fa59d 100755
--- a/tests/regression/apparmor/unix_socket.sh
+++ b/tests/regression/apparmor/unix_socket.sh
@@ -76,7 +76,6 @@ testsocktype()
# TODO: Make additional changes to test abstract sockets w/ confinement
#
- # * Adjust genprofile to generate af_unix abstract socket rules
# * Create variables to hold genprofile arguments for socket accesses
# and initialize them according to socket address type
# * Remove the following conditional
--
2.1.0
More information about the AppArmor
mailing list