aa-complain exits 0 when path not found
Bug #1564625 reported by
Chris Holcombe
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
AppArmor |
Confirmed
|
Undecided
|
Unassigned | ||
One Hundred Papercuts |
Confirmed
|
High
|
Unassigned | ||
apparmor (Ubuntu) |
Confirmed
|
High
|
Unassigned |
Bug Description
I'm using juju to deploy apparmor profiles and I've found that when the apparmor path isn't found the command still exists 0. If this exited with a non zero status I could detect I had a problem in my code and take action :)
root@ip-
Can't find foo in the system path list. If the name of the application
is correct, please run 'which foo' as a user with correct PATH
environment set up in order to find the fully-qualified path and
use the full path as parameter.
root@ip-
0
Some context on the environment:
root@ip-
Ubuntu 14.04.4 LTS \n \l
tags: | added: trusty |
description: | updated |
tags: | added: xenial |
Changed in apparmor: | |
status: | New → Confirmed |
Changed in apparmor (Ubuntu): | |
status: | New → Confirmed |
tags: | added: aa-tools |
Changed in apparmor (Ubuntu): | |
importance: | Undecided → Medium |
importance: | Medium → High |
Changed in hundredpapercuts: | |
status: | New → Confirmed |
importance: | Undecided → High |
To post a comment you must log in.
So I dug into this with pydb and figured out what's going on. utils/apparmor/ tools.py lines 79 and 81 need to be changed to fatal_error( message) . I tried both fatal_error and also sys.exit(1) and aa-complain seems to ignore it and still exit 0. I'm not exactly sure why though. It seems there's a custom sys exit handler in place that is messing with it. Does anyone know what I should change it to? I'll put in the change and the merge request :)