mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 08:24:42 +01:00
Fix: variable expansion for link target
link rules with a variable in the link target, eg. link /foo -> @{var}, do not currently have the variable expanded Signed-off-by: John Johansen <john.johansen@canonical.com> Acked-by: Tyler Hicks <tyhicks@canonical.com> Acked-by: Seth Arnold <seth.arnold@canonical.com>
This commit is contained in:
parent
9460aa042d
commit
0b00b5d482
31 changed files with 323 additions and 0 deletions
|
@ -254,6 +254,11 @@ static int process_variables_in_entries(struct cod_entry *entry_list)
|
|||
error = expand_entry_variables(&entry->name);
|
||||
if (error)
|
||||
return error;
|
||||
if (entry->link_name) {
|
||||
error = expand_entry_variables(&entry->link_name);
|
||||
if (error)
|
||||
return error;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
10
parser/tst/simple_tests/file/var1_ok_audit_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var1_ok_audit_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
audit deny link @{var} -> @{var},
|
||||
}
|
||||
|
10
parser/tst/simple_tests/file/var1_ok_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var1_ok_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
deny link @{var} -> @{var},
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var1_ok_link_1.sd
Normal file
11
parser/tst/simple_tests/file/var1_ok_link_1.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
@{var} rl,
|
||||
/gamma/* rwl,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var1_ok_link_2.sd
Normal file
11
parser/tst/simple_tests/file/var1_ok_link_2.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link @{var} -> @{var},
|
||||
@{var} r,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var1_ok_link_3.sd
Normal file
11
parser/tst/simple_tests/file/var1_ok_link_3.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link subset @{var} -> @{var},
|
||||
@{var} r,
|
||||
}
|
||||
|
10
parser/tst/simple_tests/file/var1_src_ok_audit_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var1_src_ok_audit_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
audit deny link @{var} -> /tmp/**,
|
||||
}
|
||||
|
10
parser/tst/simple_tests/file/var1_src_ok_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var1_src_ok_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
deny link @{var} -> /tmp/**,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var1_src_ok_link_1.sd
Normal file
11
parser/tst/simple_tests/file/var1_src_ok_link_1.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
@{var} rl,
|
||||
/gamma/* rwl,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var1_src_ok_link_2.sd
Normal file
11
parser/tst/simple_tests/file/var1_src_ok_link_2.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link @{var} -> /tmp/**,
|
||||
/tmp/** r,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var1_src_ok_link_3.sd
Normal file
11
parser/tst/simple_tests/file/var1_src_ok_link_3.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link subset @{var} -> /tmp/**,
|
||||
/tmp/** r,
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
audit deny link /alpha/beta -> @{var},
|
||||
}
|
||||
|
10
parser/tst/simple_tests/file/var1_target_ok_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var1_target_ok_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
deny link /alpha/beta -> @{var},
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var1_target_ok_link_1.sd
Normal file
11
parser/tst/simple_tests/file/var1_target_ok_link_1.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
/alpha/beta rl,
|
||||
/gamma/* rwl,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var1_target_ok_link_2.sd
Normal file
11
parser/tst/simple_tests/file/var1_target_ok_link_2.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link /alpha/beta -> @{var},
|
||||
@{var} r,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var1_target_ok_link_3.sd
Normal file
11
parser/tst/simple_tests/file/var1_target_ok_link_3.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link subset /alpha/beta -> @{var},
|
||||
@{var} r,
|
||||
}
|
||||
|
10
parser/tst/simple_tests/file/var2_ok_audit_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var2_ok_audit_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
audit deny link /foo@{var} -> /foo@{var},
|
||||
}
|
||||
|
10
parser/tst/simple_tests/file/var2_ok_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var2_ok_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
deny link /foo@{var} -> /foo@{var},
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var2_ok_link_1.sd
Normal file
11
parser/tst/simple_tests/file/var2_ok_link_1.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
/foo@{var} rl,
|
||||
/gamma/* rwl,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var2_ok_link_2.sd
Normal file
11
parser/tst/simple_tests/file/var2_ok_link_2.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link /foo@{var} -> /foo@{var},
|
||||
/foo@{var} r,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var2_ok_link_3.sd
Normal file
11
parser/tst/simple_tests/file/var2_ok_link_3.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link subset /foo@{var} -> /foo@{var},
|
||||
/foo@{var} r,
|
||||
}
|
||||
|
10
parser/tst/simple_tests/file/var2_src_ok_audit_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var2_src_ok_audit_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
audit deny link /foo@{var} -> /tmp/**,
|
||||
}
|
||||
|
10
parser/tst/simple_tests/file/var2_src_ok_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var2_src_ok_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
deny link /foo@{var} -> /tmp/**,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var2_src_ok_link_1.sd
Normal file
11
parser/tst/simple_tests/file/var2_src_ok_link_1.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
/foo@{var} rl,
|
||||
/gamma/* rwl,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var2_src_ok_link_2.sd
Normal file
11
parser/tst/simple_tests/file/var2_src_ok_link_2.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link /foo@{var} -> /tmp/**,
|
||||
/tmp/** r,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var2_src_ok_link_3.sd
Normal file
11
parser/tst/simple_tests/file/var2_src_ok_link_3.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link subset /foo@{var} -> /tmp/**,
|
||||
/tmp/** r,
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
audit deny link /alpha/beta -> /foo@{var},
|
||||
}
|
||||
|
10
parser/tst/simple_tests/file/var2_target_ok_deny_link.sd
Normal file
10
parser/tst/simple_tests/file/var2_target_ok_deny_link.sd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
deny link /alpha/beta -> /foo@{var},
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var2_target_ok_link_1.sd
Normal file
11
parser/tst/simple_tests/file/var2_target_ok_link_1.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
/alpha/beta rl,
|
||||
/gamma/* rwl,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var2_target_ok_link_2.sd
Normal file
11
parser/tst/simple_tests/file/var2_target_ok_link_2.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link /alpha/beta -> /foo@{var},
|
||||
/foo@{var} r,
|
||||
}
|
||||
|
11
parser/tst/simple_tests/file/var2_target_ok_link_3.sd
Normal file
11
parser/tst/simple_tests/file/var2_target_ok_link_3.sd
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
#=DESCRIPTION simple link access test
|
||||
#=EXRESULT PASS
|
||||
#
|
||||
|
||||
@{var}=/test
|
||||
profile test {
|
||||
link subset /alpha/beta -> /foo@{var},
|
||||
/foo@{var} r,
|
||||
}
|
||||
|
Loading…
Add table
Reference in a new issue