[apparmor] [patch] replace RE_PROFILE_START

Steve Beattie steve at nxnw.org
Fri Apr 3 08:05:03 UTC 2015


On Mon, Mar 16, 2015 at 12:08:20AM +0100, Christian Boltz wrote:
> this patch replaces RE_PROFILE_START with RE_PROFILE_START_2 and adjusts
> all code section that used RE_PROFILE_START_2.
> 
> The only real change is that test_get_flags_invalid_01 and 
> test_get_flags_invalid_02 now expect AppArmorException instead of 
> AppArmorBug.
> 
> This is another patch I propose for trunk and 2.9.
> 
> 
> For easier reviewing, you can download my pending patches as tarball:
>     www.cboltz.de/tmp/dl/aa-patches.tar.gz
> 
> Happy reviewing ;-)
> 
> 
> 
> [ 24-replace-RE_PROFILE_START.diff ]

Acked-by: Steve Beattie <steve at nxnw.org> for trunk. Thanks.

> === modified file utils/apparmor/regex.py
> --- utils/apparmor/regex.py     2015-03-15 22:58:35.677048807 +0100
> +++ utils/apparmor/regex.py     2015-03-15 23:57:28.485404639 +0100
> @@ -1,6 +1,6 @@
>  # ----------------------------------------------------------------------
>  #    Copyright (C) 2013 Kshitij Gupta <kgupta8592 at gmail.com>
> -#    Copyright (C) 2014 Christian Boltz <apparmor at cboltz.de>
> +#    Copyright (C) 2014-2015 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
> @@ -26,7 +26,6 @@
>  RE_EOL                  = '\s*(?P<comment>#.*?)?\s*$'  # optional whitespace, optional <comment>, optional whitespace, end of the line
>  RE_COMMA_EOL            = '\s*,' + RE_EOL # optional whitespace, comma + RE_EOL
>  
> -RE_PROFILE_START        = re.compile('^\s*("?(/.+?)"??|(profile\s+"?(.+?)"??))\s+((flags=)?\((.+)\)\s+)?\{' + RE_EOL)
>  RE_PROFILE_END          = re.compile('^\s*\}' + RE_EOL)
>  RE_PROFILE_CAP          = re.compile(RE_AUDIT_DENY + 'capability(?P<capability>(\s+\S+)+)?' + RE_COMMA_EOL)
>  RE_PROFILE_LINK         = re.compile(RE_AUDIT_DENY + 'link\s+(((subset)|(<=))\s+)?([\"\@\/].*?"??)\s+->\s*([\"\@\/].*?"??)' + RE_COMMA_EOL)
> @@ -62,7 +61,7 @@
>  
>  
>  
> -RE_PROFILE_START_2        = re.compile(
> +RE_PROFILE_START          = re.compile(
>      '^(?P<leadingspace>\s*)' +
>      '(' +
>          '(?P<plainprofile>(/\S+|"[^"]+"))' + # just a path
> @@ -73,7 +72,7 @@
>      RE_EOL)
>  
>  def parse_profile_start_line(line, filename):
> -    matches = RE_PROFILE_START_2.search(line)
> +    matches = RE_PROFILE_START.search(line)
>  
>      if not matches:
>          raise AppArmorBug('The given line from file %(filename)s is not the start of a profile: %(line)s' % { 'filename': filename, 'line': line } )
> === modified file utils/test/test-aa.py
> --- utils/test/test-aa.py       2015-03-15 23:53:13.286501947 +0100
> +++ utils/test/test-aa.py       2015-03-15 23:57:28.486404579 +0100
> @@ -92,10 +92,10 @@
>          self._test_get_flags('/foo flags=(complain,  audit)', 'complain,  audit')
>  
>      def test_get_flags_invalid_01(self):
> -        with self.assertRaises(AppArmorBug):
> +        with self.assertRaises(AppArmorException):
>              self._test_get_flags('/foo ()', None)
>      def test_get_flags_invalid_02(self):
> -        with self.assertRaises(AppArmorBug):
> +        with self.assertRaises(AppArmorException):
>              self._test_get_flags('/foo flags=()', None)
>      def test_get_flags_invalid_03(self):
>          with self.assertRaises(AppArmorException):
> === modified file utils/test/test-regex_matches.py
> --- utils/test/test-regex_matches.py    2015-03-15 22:58:35.677048807 +0100
> +++ utils/test/test-regex_matches.py    2015-03-15 23:57:28.486404579 +0100
> @@ -14,7 +14,7 @@
>  from common_test import AATest, setup_all_tests
>  from apparmor.common import AppArmorBug
>  
> -from apparmor.regex import strip_quotes, parse_profile_start_line, RE_PROFILE_START_2
> +from apparmor.regex import strip_quotes, parse_profile_start_line, RE_PROFILE_START
>  
>  
>  class AARegexTest(AATest):
> @@ -393,10 +393,10 @@
>      ]
>  
>  class AANamedRegexProfileStart_2(AANamedRegexTest):
> -    '''Tests for RE_PROFILE_START_2'''
> +    '''Tests for RE_PROFILE_START'''
>  
>      def setUp(self):
> -        self.regex = RE_PROFILE_START_2
> +        self.regex = RE_PROFILE_START
>  
>      tests = [
>          ('/bin/foo ', False), # no '{'
> 

-- 
Steve Beattie
<sbeattie at ubuntu.com>
http://NxNW.org/~steve/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20150403/5bbf43ca/attachment.pgp>


More information about the AppArmor mailing list