On 06/18/2018 09:21 PM, appar...@raf.org wrote:
> Hi,
> 
> I'm upgrading from debian8/apparmor-2.9.0 to
> debian9/apparmor-2.11.0 and am seeing an error message
> when using aa-complain and aa-enforce (but not when using
> apparmor_parser).
> 
>  # aa-enforce usr.sbin.apache2
>  ERROR: Profile /usr/sbin/apache2^indexcgi defined twice in
>    /etc/apparmor.d/usr.sbin.apache2, last found in line 89
> 
>  # aa-complain usr.sbin.apache2
>  ERROR: Profile /usr/sbin/apache2^indexcgi defined twice in
>    /etc/apparmor.d/usr.sbin.apache2, last found in line 89
> 

The tools have never properly supported nesting beyond a single
child. I assume some of the refactoring to clean them up broke
this for you

> Strangely, loading it with "apparmor_parser -r usr.sbin.apache2"
> is silent, exits with 0, and the profiles are all loaded.
> aa-status shows:
> 
>   /usr/sbin/apache2
>   /usr/sbin/apache2//indexcgi
>   /usr/sbin/apache2//indexcgi//enscript
>   /usr/sbin/apache2//indexcgi//mutt
>   /usr/sbin/apache2//indexcgi//mutt//exim4
>   /usr/sbin/apache2//officecgi
> 

The apparmor_parser atm uses a different parsing engine (its a
long term goal to move the parsing to a shared lib

> But removing it with "apparmor_parser -R usr.sbin.apache2",
> produces:
> 
>  apparmor_parser: Unable to remove "/usr/sbin/apache2//indexcgi//enscript".
>    Profile doesn't exist
> 
:( , that should work. Looks like a bug

> The structure of the /etc/apparmor.d/usr.sbin.apache2 is:
> 
>   /usr/sbin/apache2 {
>     ...
>     /var/vwebsites/example.com/index.cgi rCx -> indexcgi,
>     /var/vwebsites/example.com/office/index.cgi rCx -> officecgi,
>     profile indexcgi {
>       ...
>         /usr/bin/enscript Px -> /usr/sbin/apache2//indexcgi//enscript,
>         /usr/bin/mutt     Px -> /usr/sbin/apache2//indexcgi//mutt,
>     }
>     profile officecgi {
>       ...
>     }
>   }
>   profile /usr/sbin/apache2//indexcgi//mutt { # this is line 89
>     ...
>     /usr/sbin/exim4 Px -> /usr/sbin/apache2//indexcgi//mutt//exim4,
>   }
>   profile /usr/sbin/apache2//indexcgi//mutt//exim4 {
>     ...
>   }
>   profile /usr/sbin/apache2//indexcgi//enscript {
>     ...
>   }
> 
thanks we will have to make sure to setup some tests around this

> The line 89 referred in the error message is the line
> where the profile /usr/sbin/apache2//indexcgi//mutt is
> defined (even though it's saying that that's where the
> previous definition of the /usr/sbin/apache2//indexcgi
> profile occurred).
> 
> Is there something wrong with the above?
> Has the syntax changed for nested profiles?
> 
no it hasn't, the code has been slowly being cleaned up and
you have found a regression

> I originally tried to put the last three profiles inside
> the parent profile but that syntax wasn't supported at the time
> and I was advised to do it this way.
> 

correct more than a single level of nesting is not supported yet


-- 
AppArmor mailing list
AppArmor@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to