[apparmor] [patch] [2/7] replace other.aa with log_dict['merge']
Seth Arnold
seth.arnold at canonical.com
Tue Jan 17 20:48:33 UTC 2017
On Sun, Jan 15, 2017 at 04:23:20PM +0100, Christian Boltz wrote:
> Hello,
>
> this patch sets log_dict['merge'] = other.aa and aamode = 'merge', and
> uses log_dict[aamode] everywhere.
>
> This brings aa-mergeprof ask_the_questions() closer to the code in aa.py.
>
>
> [ 02-mergeprof-use-log_dict.diff ]
Acked-by: Seth Arnold <seth.arnold at canonical.com>
Thanks
>
> --- utils/aa-mergeprof 2017-01-14 22:43:55.072229682 +0100
> +++ utils/aa-mergeprof 2017-01-14 22:42:54.052499879 +0100
> @@ -1,7 +1,7 @@
> #! /usr/bin/python3
> # ----------------------------------------------------------------------
> # Copyright (C) 2013 Kshitij Gupta <kgupta8592 at gmail.com>
> -# Copyright (C) 2014-2016 Christian Boltz <apparmor at cboltz.de>
> +# Copyright (C) 2014-2017 Christian Boltz <apparmor at cboltz.de>
> #
> # This program is free software; you can redistribute it and/or
> # modify it under the terms of version 2 of the GNU General Public
> @@ -194,11 +194,13 @@
> changed = apparmor.aa.changed # (and be more in sync with aa.py ask_the_questions())
>
> other = self.base
> + log_dict = {'merge': other.aa}
> + aamode = 'merge'
>
> - #Add the file-wide includes from the other profile to the user profile
> apparmor.aa.loadincludes()
> done = False
>
> + #Add the file-wide includes from the other profile to the user profile
> options = []
> for inc in other.filelist[other.filename]['include'].keys():
> if not inc in self.user.filelist[self.user.filename]['include'].keys():
> @@ -233,7 +236,7 @@
> sev_db.unload_variables()
> sev_db.load_variables(get_profile_filename(profile))
>
> - for hat in sorted(other.aa[profile].keys()):
> + for hat in sorted(log_dict[aamode][profile].keys()):
>
> if not aa[profile].get(hat):
> ans = ''
> @@ -241,7 +244,7 @@
> q = aaui.PromptQuestion()
> q.headers += [_('Profile'), profile]
>
> - if other.aa[profile][hat]['profile']:
> + if log_dict[aamode][profile][hat]['profile']:
> q.headers += [_('Requested Subprofile'), hat]
> q.functions.append('CMD_ADDSUBPROFILE')
> else:
> @@ -260,7 +263,7 @@
> if ans == 'CMD_DENY':
> continue # don't ask about individual rules if the user doesn't want the additional subprofile/hat
>
> - if other.aa[profile][hat]['profile']:
> + if log_dict[aamode][profile][hat]['profile']:
> aa[profile][hat] = profile_storage(profile, hat, 'mergeprof ask_the_questions() - missing subprofile')
> aa[profile][hat]['profile'] = True
> else:
> @@ -271,7 +274,7 @@
> done = False
>
> options = []
> - for inc in other.aa[profile][hat]['include'].keys():
> + for inc in log_dict[aamode][profile][hat]['include'].keys():
> if not inc in aa[profile][hat]['include'].keys():
> options.append('#include <%s>' %inc)
>
> @@ -301,11 +304,11 @@
> return
>
> # check for and ask about conflicting exec modes
> - self.ask_conflict_mode(profile, hat, aa[profile][hat], other.aa[profile][hat])
> + self.ask_conflict_mode(profile, hat, aa[profile][hat], log_dict[aamode][profile][hat])
>
> for ruletype in apparmor.aa.ruletypes:
> - if other.aa[profile][hat].get(ruletype, False): # needed until we have proper profile initialization
> - for rule_obj in other.aa[profile][hat][ruletype].rules:
> + if log_dict[aamode][profile][hat].get(ruletype, False): # needed until we have proper profile initialization
> + for rule_obj in log_dict[aamode][profile][hat][ruletype].rules:
>
> if is_known_rule(aa[profile][hat], ruletype, rule_obj):
> continue
>
>
>
> Regards,
>
> Christian Boltz
> --
> Next I can reboot and install witouth the need to burn a DVD. Remember
> that then [the local installation source] should be on a partition you
> are not going to format, because it is very hard to read data from a
> partition you just formatted. ;-) [houghi in opensuse]
> --
> AppArmor mailing list
> AppArmor at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20170117/1b25ec22/attachment.pgp>
More information about the AppArmor
mailing list