[apparmor] [patch] Use *Rule.match() in aa.py
Seth Arnold
seth.arnold at canonical.com
Tue Apr 21 23:43:15 UTC 2015
On Wed, Apr 22, 2015 at 12:05:47AM +0200, Christian Boltz wrote:
> Hello,
>
> this patch replaces usage of RE_PROFILE_CAP and RE_PROFILE_NETWORK with
> CapabilityRule.match() and NetworkRule.match() calls.
> This also means aa.py doesn't need to import those regexes anymore.
>
> As a side effect of this change, test-regex_matches.py needs a small
> fix because it imported RE_PROFILE_CAP from apparmor.aa instead of
> apparmor.regex.
>
>
> Needless to say that this patch depends on patch 48 ;-)
Acked-by: Seth Arnold <seth.arnold at canonical.com>
Thanks
>
>
> [ 49-use-rule-match-in-aa.py.diff ]
>
> === modified file utils/apparmor/aa.py
> --- utils/apparmor/aa.py 2015-04-17 23:26:26.067399028 +0200
> +++ utils/apparmor/aa.py 2015-04-21 23:51:13.233664335 +0200
> @@ -40,11 +40,11 @@
> mode_to_str_user, mode_contains, AA_OTHER,
> flatten_mode, owner_flatten_mode)
>
> -from apparmor.regex import (RE_PROFILE_START, RE_PROFILE_END, RE_PROFILE_CAP, RE_PROFILE_LINK,
> +from apparmor.regex import (RE_PROFILE_START, RE_PROFILE_END, RE_PROFILE_LINK,
> RE_PROFILE_CHANGE_PROFILE, RE_PROFILE_ALIAS, RE_PROFILE_RLIMIT,
> RE_PROFILE_BOOLEAN, RE_PROFILE_VARIABLE, RE_PROFILE_CONDITIONAL,
> RE_PROFILE_CONDITIONAL_VARIABLE, RE_PROFILE_CONDITIONAL_BOOLEAN,
> - RE_PROFILE_BARE_FILE_ENTRY, RE_PROFILE_PATH_ENTRY, RE_PROFILE_NETWORK,
> + RE_PROFILE_BARE_FILE_ENTRY, RE_PROFILE_PATH_ENTRY,
> RE_PROFILE_CHANGE_HAT,
> RE_PROFILE_HAT_DEF, RE_PROFILE_DBUS, RE_PROFILE_MOUNT,
> RE_PROFILE_SIGNAL, RE_PROFILE_PTRACE, RE_PROFILE_PIVOT_ROOT,
> @@ -2701,7 +2701,7 @@
>
> initial_comment = ''
>
> - elif RE_PROFILE_CAP.search(line):
> + elif CapabilityRule.match(line):
> if not profile:
> raise AppArmorException(_('Syntax Error: Unexpected capability entry found in file: %(file)s line: %(line)s') % { 'file': file, 'line': lineno + 1 })
>
> @@ -2915,7 +2915,7 @@
> if not include.get(include_name, False):
> load_include(include_name)
>
> - elif RE_PROFILE_NETWORK.search(line):
> + elif NetworkRule.match(line):
> if not profile:
> raise AppArmorException(_('Syntax Error: Unexpected network entry found in file: %(file)s line: %(line)s') % { 'file': file, 'line': lineno + 1 })
>
> @@ -3830,7 +3830,7 @@
> else:
> profile = None
>
> - elif RE_PROFILE_CAP.search(line):
> + elif CapabilityRule.match(line):
> cap = CapabilityRule.parse(line)
> if write_prof_data[hat]['capability'].is_covered(cap, True, True):
> if not segments['capability'] and True in segments.values():
> @@ -4069,7 +4069,7 @@
> write_filelist['include'].pop(include_name)
> data.append(line)
>
> - elif RE_PROFILE_NETWORK.search(line):
> + elif NetworkRule.match(line):
> network_obj = NetworkRule.parse(line)
> if write_prof_data[hat]['network'].is_covered(network_obj, True, True):
> if not segments['network'] and True in segments.values():
> === modified file utils/test/test-regex_matches.py
> --- utils/test/test-regex_matches.py 2015-04-11 20:17:35.131546115 +0200
> +++ utils/test/test-regex_matches.py 2015-04-21 23:53:27.505660866 +0200
> @@ -14,7 +14,7 @@
> from common_test import AATest, setup_all_loops
> from apparmor.common import AppArmorBug
>
> -from apparmor.regex import strip_quotes, parse_profile_start_line, RE_PROFILE_START
> +from apparmor.regex import strip_quotes, parse_profile_start_line, RE_PROFILE_START, RE_PROFILE_CAP
>
>
> class AARegexTest(AATest):
> @@ -203,7 +203,7 @@
> class AARegexCapability(AARegexTest):
> '''Tests for RE_PROFILE_CAP'''
>
> - regex = aa.RE_PROFILE_CAP
> + regex = RE_PROFILE_CAP
>
> tests = [
> (' capability net_raw,', (None, None, 'net_raw', 'net_raw', None)),
>
>
>
> Regards,
>
> Christian Boltz
> --
> An NT server can be run by an idiot, and usually is.
> [Tom Holub,a.h.b-o-u]
>
>
> --
> 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: Digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20150421/8d9875d0/attachment.pgp>
More information about the AppArmor
mailing list