mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-09-02 15:25:27 +00:00
Fix viewing a local inactive profile in aa-genprof
aa-genprof checks if one of the profiles in the extra profile dir matches the binary, and proposes to use that profile as a starting point. Since4d722f1839
the "(V)iew profile" option to display the proposed profile was broken. The easiest fix is to remember the filename in the extras directory, and display the file from there. Sidenote: when choosing to use the extra profile, it gets written to disk without any problems, so this bug really only affected "(V)iew profile" to preview the proposed extra profile. PR: https://gitlab.com/apparmor/apparmor/merge_requests/268 (cherry picked from commit8b4e76a7d5
) Signed-off-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
committed by
John Johansen
parent
5e45af1752
commit
44ca6942f0
@@ -518,6 +518,7 @@ def get_profile(prof_name):
|
||||
if inactive_profile:
|
||||
uname = 'Inactive local profile for %s' % prof_name
|
||||
inactive_profile[prof_name][prof_name]['flags'] = 'complain'
|
||||
orig_filename = inactive_profile[prof_name][prof_name]['filename'] # needed for CMD_VIEW_PROFILE
|
||||
inactive_profile[prof_name][prof_name]['filename'] = ''
|
||||
profile_hash[uname]['username'] = uname
|
||||
profile_hash[uname]['profile_type'] = 'INACTIVE_LOCAL'
|
||||
@@ -559,11 +560,7 @@ def get_profile(prof_name):
|
||||
q.selected = options.index(options[arg])
|
||||
if ans == 'CMD_VIEW_PROFILE':
|
||||
pager = get_pager()
|
||||
proc = subprocess.Popen(pager, stdin=subprocess.PIPE)
|
||||
# proc.communicate('Profile submitted by %s:\n\n%s\n\n' %
|
||||
# (options[arg], p['profile']))
|
||||
proc.communicate(p['profile'].encode())
|
||||
proc.kill()
|
||||
subprocess.call([pager, orig_filename])
|
||||
elif ans == 'CMD_USE_PROFILE':
|
||||
if p['profile_type'] == 'INACTIVE_LOCAL':
|
||||
profile_data = p['profile_data']
|
||||
|
Reference in New Issue
Block a user