mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-09-03 07:45:50 +00:00
ProfileList: merge get_clean_first() into get_clean()
Now that ProfileList handles the whole preamble, there's no need to keep two half functions.
This commit is contained in:
@@ -2190,8 +2190,6 @@ def serialize_profile(profile_data, name, options):
|
|||||||
else:
|
else:
|
||||||
prof_filename = get_profile_filename_from_profile_name(name, True)
|
prof_filename = get_profile_filename_from_profile_name(name, True)
|
||||||
|
|
||||||
data += active_profiles.get_clean_first(prof_filename, 0)
|
|
||||||
|
|
||||||
data += active_profiles.get_clean(prof_filename, 0)
|
data += active_profiles.get_clean(prof_filename, 0)
|
||||||
|
|
||||||
#Here should be all the profiles from the files added write after global/common stuff
|
#Here should be all the profiles from the files added write after global/common stuff
|
||||||
|
@@ -156,24 +156,11 @@ class ProfileList:
|
|||||||
if not self.files.get(filename):
|
if not self.files.get(filename):
|
||||||
raise AppArmorBug('%s not listed in ProfileList files' % filename)
|
raise AppArmorBug('%s not listed in ProfileList files' % filename)
|
||||||
|
|
||||||
data = []
|
|
||||||
# commented out for now because abi rules need to be written first - for now, use get_clean_first() instead
|
|
||||||
# data += self.files[filename]['abi'].get_clean_unsorted(depth)
|
|
||||||
# data += write_alias(self.files[filename])
|
|
||||||
data += self.files[filename]['inc_ie'].get_clean_unsorted(depth)
|
|
||||||
data += self.files[filename]['variable'].get_clean_unsorted(depth)
|
|
||||||
return data
|
|
||||||
|
|
||||||
def get_clean_first(self, filename, depth=0):
|
|
||||||
''' Get preamble rules for the given profile filename (in clean formatting) that need to be at the beginning.
|
|
||||||
This is a temporary function, and will be dropped / merged with get_clean() when the whole preamble is moved to ProfileList
|
|
||||||
'''
|
|
||||||
if not self.files.get(filename):
|
|
||||||
raise AppArmorBug('%s not listed in ProfileList files' % filename)
|
|
||||||
|
|
||||||
data = []
|
data = []
|
||||||
data += self.files[filename]['abi'].get_clean_unsorted(depth)
|
data += self.files[filename]['abi'].get_clean_unsorted(depth)
|
||||||
data += write_alias(self.files[filename])
|
data += write_alias(self.files[filename])
|
||||||
|
data += self.files[filename]['inc_ie'].get_clean_unsorted(depth)
|
||||||
|
data += self.files[filename]['variable'].get_clean_unsorted(depth)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def filename_from_profile_name(self, name):
|
def filename_from_profile_name(self, name):
|
||||||
|
@@ -172,16 +172,14 @@ class TestAdd_abi(AATest):
|
|||||||
def testAdd_abi_1(self):
|
def testAdd_abi_1(self):
|
||||||
self.pl.add_abi('/etc/apparmor.d/bin.foo', AbiRule('abi/4.19', False, True))
|
self.pl.add_abi('/etc/apparmor.d/bin.foo', AbiRule('abi/4.19', False, True))
|
||||||
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
||||||
# self.assertEqual(self.pl.get_clean('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', ''])
|
self.assertEqual(self.pl.get_clean('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', ''])
|
||||||
self.assertEqual(self.pl.get_clean_first('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', '']) # TODO switch to get_clean() once merged
|
|
||||||
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', ''])
|
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', ''])
|
||||||
|
|
||||||
def testAdd_abi_2(self):
|
def testAdd_abi_2(self):
|
||||||
self.pl.add_abi('/etc/apparmor.d/bin.foo', AbiRule('abi/4.19', False, True))
|
self.pl.add_abi('/etc/apparmor.d/bin.foo', AbiRule('abi/4.19', False, True))
|
||||||
self.pl.add_abi('/etc/apparmor.d/bin.foo', AbiRule('foo', False, False))
|
self.pl.add_abi('/etc/apparmor.d/bin.foo', AbiRule('foo', False, False))
|
||||||
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
||||||
# self.assertEqual(self.pl.get_clean('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', 'abi "foo",', ''])
|
self.assertEqual(self.pl.get_clean('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', 'abi "foo",', ''])
|
||||||
self.assertEqual(self.pl.get_clean_first('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', 'abi "foo",', '']) # TODO switch to get_clean() once merged
|
|
||||||
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', 'abi "foo",', ''])
|
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', 'abi "foo",', ''])
|
||||||
|
|
||||||
def testAdd_abi_error_1(self):
|
def testAdd_abi_error_1(self):
|
||||||
@@ -195,7 +193,7 @@ class TestAdd_abi(AATest):
|
|||||||
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
||||||
deleted = self.pl.delete_preamble_duplicates('/etc/apparmor.d/bin.foo')
|
deleted = self.pl.delete_preamble_duplicates('/etc/apparmor.d/bin.foo')
|
||||||
self.assertEqual(deleted, 1)
|
self.assertEqual(deleted, 1)
|
||||||
self.assertEqual(self.pl.get_clean_first('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', '']) # TODO switch to get_clean() once merged
|
self.assertEqual(self.pl.get_clean('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', ''])
|
||||||
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', ''])
|
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['abi <abi/4.19>,', ''])
|
||||||
|
|
||||||
class TestAdd_alias(AATest):
|
class TestAdd_alias(AATest):
|
||||||
@@ -205,14 +203,14 @@ class TestAdd_alias(AATest):
|
|||||||
def testAdd_alias_1(self):
|
def testAdd_alias_1(self):
|
||||||
self.pl.add_alias('/etc/apparmor.d/bin.foo', '/foo', '/bar')
|
self.pl.add_alias('/etc/apparmor.d/bin.foo', '/foo', '/bar')
|
||||||
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
||||||
self.assertEqual(self.pl.get_clean_first('/etc/apparmor.d/bin.foo'), ['alias /foo -> /bar,', '']) # TODO switch to get_clean() once merged
|
self.assertEqual(self.pl.get_clean('/etc/apparmor.d/bin.foo'), ['alias /foo -> /bar,', ''])
|
||||||
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['alias /foo -> /bar,', ''])
|
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['alias /foo -> /bar,', ''])
|
||||||
|
|
||||||
def testAdd_alias_2(self):
|
def testAdd_alias_2(self):
|
||||||
self.pl.add_alias('/etc/apparmor.d/bin.foo', '/foo', '/bar')
|
self.pl.add_alias('/etc/apparmor.d/bin.foo', '/foo', '/bar')
|
||||||
self.pl.add_alias('/etc/apparmor.d/bin.foo', '/xyz', '/zyx')
|
self.pl.add_alias('/etc/apparmor.d/bin.foo', '/xyz', '/zyx')
|
||||||
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
||||||
self.assertEqual(self.pl.get_clean_first('/etc/apparmor.d/bin.foo'), ['alias /foo -> /bar,', 'alias /xyz -> /zyx,', '']) # TODO switch to get_clean() once merged
|
self.assertEqual(self.pl.get_clean('/etc/apparmor.d/bin.foo'), ['alias /foo -> /bar,', 'alias /xyz -> /zyx,', ''])
|
||||||
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['alias /foo -> /bar,', 'alias /xyz -> /zyx,', ''])
|
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['alias /foo -> /bar,', 'alias /xyz -> /zyx,', ''])
|
||||||
|
|
||||||
def testAdd_alias_dupe(self):
|
def testAdd_alias_dupe(self):
|
||||||
@@ -222,7 +220,7 @@ class TestAdd_alias(AATest):
|
|||||||
# self.pl.add_alias('/etc/apparmor.d/bin.foo', '/foo', '/redefine') # attempt to redefine alias
|
# self.pl.add_alias('/etc/apparmor.d/bin.foo', '/foo', '/redefine') # attempt to redefine alias
|
||||||
self.pl.add_alias('/etc/apparmor.d/bin.foo', '/foo', '/redefine') # redefine alias
|
self.pl.add_alias('/etc/apparmor.d/bin.foo', '/foo', '/redefine') # redefine alias
|
||||||
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
self.assertEqual(list(self.pl.files.keys()), ['/etc/apparmor.d/bin.foo'])
|
||||||
self.assertEqual(self.pl.get_clean_first('/etc/apparmor.d/bin.foo'), ['alias /foo -> /redefine,', '']) # TODO switch to get_clean() once merged
|
self.assertEqual(self.pl.get_clean('/etc/apparmor.d/bin.foo'), ['alias /foo -> /redefine,', ''])
|
||||||
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['alias /foo -> /redefine,', ''])
|
self.assertEqual(self.pl.get_raw('/etc/apparmor.d/bin.foo'), ['alias /foo -> /redefine,', ''])
|
||||||
|
|
||||||
def testAdd_alias_error_1(self):
|
def testAdd_alias_error_1(self):
|
||||||
|
Reference in New Issue
Block a user