On 01/12/2012 10:08 AM, Steve Beattie wrote:
> This patch moves the generation of the rules that grant write access
> to /proc/*/attr/current to mkprofile.pl from prologue.inc.
> 
Acked-by: John Johansen <[email protected]>

> ---
>  tests/regression/apparmor/mkprofile.pl |    8 ++++++--
>  tests/regression/apparmor/prologue.inc |   13 ++-----------
>  2 files changed, 8 insertions(+), 13 deletions(-)
> 
> Index: b/tests/regression/apparmor/mkprofile.pl
> ===================================================================
> --- a/tests/regression/apparmor/mkprofile.pl
> +++ b/tests/regression/apparmor/mkprofile.pl
> @@ -32,7 +32,7 @@ sub usage {
>    print STDERR "  help:        print this message\n";
>  }
>  
> -&usage && exit 0 if ($help || @ARGV < 1); 
> +&usage && exit 0 if ($help || @ARGV < 1);
>  
>  sub emit_netdomain {
>    my $rule = shift;
> @@ -95,13 +95,17 @@ sub emit_hat {
>      (!$nowarn) && print STDERR "Warning: invalid hat description '$rule', 
> ignored\n";
>    } else {
>      $hat = $rules[1];
> -    $output_rules{$hat} = ( );
> +    # give every profile/hat access to change_hat
> +    @{$output_rules{$hat}} = ( "  /proc/*/attr/current w,\n",);
>    }
>  }
>  
>  my $bin = shift @ARGV;
>  !(-e $bin || $nowarn) && print STDERR "Warning: execname '$bin': no such 
> file or directory\n";
>  
> +# give every profile/hat access to change_hat
> +emit_file("/proc/*/attr/current:w");
> +
>  for my $rule (@ARGV) {
>    #($fn, @rules) = split (/:/, $rule);
>    if ($rule =~ /^(tcp|udp)/) {
> Index: b/tests/regression/apparmor/prologue.inc
> ===================================================================
> --- a/tests/regression/apparmor/prologue.inc
> +++ b/tests/regression/apparmor/prologue.inc
> @@ -433,9 +433,7 @@ fi
>                                ;;
>               esac
>  
> -             #give every profile/hat access to change_hat
> -             args[0]="/proc/*/attr/current:w"
> -             num_args=1
> +             num_args=0
>               while [ $# -gt 0 ]
>               do
>                       arg="$1"
> @@ -447,15 +445,8 @@ fi
>                               eval emit_profile \"$imagename\" \"$imageperm\" 
> \
>                                       $(for i in $(seq 0 $((${num_args} - 
> 1))) ; do echo \"\${args[${i}]}\" ; done)
>                               num_emitted=$((num_emitted + 1))
> -                             #give every profile/hat access to change_hat
> -                             args[0]="/proc/*/attr/current:w"
> -                             num_args=1
> +                             num_args=0
>                               continue 2
> -                     elif [ ${arg:0:4} == "hat:" ] ; then
> -                             args[${num_args}]=${arg}
> -                             num_args=$(($num_args + 1))
> -                             args[${num_args}]="/proc/*/attr/current:w"
> -                             num_args=$(($num_args + 1))
>                       else
>                               args[${num_args}]=${arg}
>                               num_args=$(($num_args + 1))
> 
> 
> -- AppArmor mailing list [email protected] Modify settings or 
> unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor
> 


-- 
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to