2
0
mirror of https://gitlab.com/apparmor/apparmor synced 2025-09-02 07:15:18 +00:00

Drop now unused store_list_var() and its tests

This commit is contained in:
Christian Boltz
2020-05-21 23:52:56 +02:00
parent abe0e2b246
commit 430120879c
2 changed files with 2 additions and 60 deletions

View File

@@ -63,7 +63,7 @@ from apparmor.rule.network import NetworkRule
from apparmor.rule.ptrace import PtraceRule from apparmor.rule.ptrace import PtraceRule
from apparmor.rule.rlimit import RlimitRule from apparmor.rule.rlimit import RlimitRule
from apparmor.rule.signal import SignalRule from apparmor.rule.signal import SignalRule
from apparmor.rule.variable import VariableRule, separate_vars from apparmor.rule.variable import VariableRule
from apparmor.rule import quote_if_needed from apparmor.rule import quote_if_needed
# setup module translations # setup module translations
@@ -2105,25 +2105,6 @@ def parse_unix_rule(line):
# XXX Do real parsing here # XXX Do real parsing here
return aarules.Raw_Unix_Rule(line) return aarules.Raw_Unix_Rule(line)
def store_list_var(var, list_var, value, var_operation, filename):
"""Store(add new variable or add values to variable) the variables encountered in the given list_var
- the 'var' parameter will be modified
- 'list_var' is the variable name, for example '@{foo}'
"""
vlist = separate_vars(value)
if var_operation == '=':
if not var.get(list_var, False):
var[list_var] = set(vlist)
else:
raise AppArmorException(_('Redefining existing variable %(variable)s: %(value)s in %(file)s') % { 'variable': list_var, 'value': value, 'file': filename })
elif var_operation == '+=':
if var.get(list_var, False):
var[list_var] |= vlist
else:
raise AppArmorException(_('Values added to a non-existing variable %(variable)s: %(value)s in %(file)s') % { 'variable': list_var, 'value': value, 'file': filename })
else:
raise AppArmorException(_('Unknown variable operation %(operation)s for variable %(variable)s in %(file)s') % { 'operation': var_operation, 'variable': list_var, 'file': filename })
def write_header(prof_data, depth, name, embedded_hat, write_flags): def write_header(prof_data, depth, name, embedded_hat, write_flags):
pre = ' ' * int(depth * 2) pre = ' ' * int(depth * 2)
data = [] data = []

View File

@@ -20,7 +20,7 @@ import sys
import apparmor.aa # needed to set global vars in some tests import apparmor.aa # needed to set global vars in some tests
from apparmor.aa import (check_for_apparmor, get_output, get_reqs, get_interpreter_and_abstraction, create_new_profile, from apparmor.aa import (check_for_apparmor, get_output, get_reqs, get_interpreter_and_abstraction, create_new_profile,
get_profile_flags, change_profile_flags, set_options_audit_mode, set_options_owner_mode, is_skippable_file, is_skippable_dir, get_profile_flags, change_profile_flags, set_options_audit_mode, set_options_owner_mode, is_skippable_file, is_skippable_dir,
parse_profile_start, parse_profile_data, store_list_var, write_header, parse_profile_start, parse_profile_data, write_header,
get_file_perms, propose_file_rules) get_file_perms, propose_file_rules)
from apparmor.aare import AARE from apparmor.aare import AARE
from apparmor.common import AppArmorException, AppArmorBug from apparmor.common import AppArmorException, AppArmorBug
@@ -629,45 +629,6 @@ class AaTest_parse_profile_data(AATest):
d = '/foo flags=(complain) xattrs=(user.bar=bar) {\n}\n' d = '/foo flags=(complain) xattrs=(user.bar=bar) {\n}\n'
parse_profile_data(d.split(), 'somefile', False) parse_profile_data(d.split(), 'somefile', False)
class AaTest_store_list_var(AATest):
tests = [
# old var value operation expected (False for exception)
([ {} , 'foo' , '=' ], {'foo'} ), # set
([ {} , 'foo bar' , '=' ], {'foo', 'bar'} ), # set multi
([ {'@{var}': {'foo'}} , 'bar' , '=' ], False ), # redefine var
([ {} , 'bar' , '+=' ], False ), # add to undefined var
([ {'@{var}': {'foo'}} , 'bar' , '+=' ], {'foo', 'bar'} ), # add
([ {'@{var}': {'foo'}} , 'bar baz' , '+=' ], {'foo', 'bar', 'baz'} ), # add multi
([ {'@{var}': {'foo', 'xy'}} , 'bar baz' , '+=' ], {'foo', 'xy', 'bar', 'baz'} ), # add multi to multi
([ {} , 'foo' , '-=' ], False ), # unknown operation
]
def _run_test(self, params, expected):
var = params[0]
value = params[1]
operation = params[2]
if not expected:
with self.assertRaises(AppArmorException):
store_list_var(var, '@{var}', value, operation, 'somefile')
return
# dumy value that must not be changed
var['@{foo}'] = {'one', 'two'}
exp_var = {
'@{foo}': {'one', 'two'},
'@{var}': expected,
}
store_list_var(var, '@{var}', value, operation, 'somefile')
self.assertEqual(var.keys(), exp_var.keys())
for key in exp_var:
self.assertEqual(var[key], exp_var[key])
class AaTest_write_header(AATest): class AaTest_write_header(AATest):
tests = [ tests = [
# name embedded_hat write_flags depth flags attachment prof.keyw. comment expected # name embedded_hat write_flags depth flags attachment prof.keyw. comment expected