aboutsummaryrefslogtreecommitdiff
path: root/tests/sys/mac/do/valid_configs.sh
blob: fc1c9a37085467e984a861eacd16c5921750afdd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# Copyright (c) 2026 The FreeBSD Foundation
#
# SPDX-License-Identifier: BSD-2-Clause
#
# This software was developed by Olivier Certner <olce@FreeBSD.org> at
# Kumacom SARL under sponsorship from the FreeBSD Foundation.

atf_test_case rule_uid_to_any
rule_uid_to_any_head()
{
    atf_set descr "Single \"to any\" rule"
}
rule_uid_to_any_body()
{
    sysctl_set_and_check_rules "uid=1001>any"
    sysctl_set_and_check_rules "gid=1001>any"
}

atf_test_case rule_uid_to_uid
rule_uid_to_uid_head()
{
    atf_set descr "Single \"to UID\" rule"
}
rule_uid_to_uid_body()
{
    sysctl_set_and_check_rules "uid=1001>uid=0"
    sysctl_set_and_check_rules "gid=1001>uid=0"
}

atf_test_case rule_uid_to_uid_any
rule_uid_to_uid_any_head()
{
    atf_set descr "Single \"to UID any\" rule"
}
rule_uid_to_uid_any_body()
{
    sysctl_set_and_check_rules "uid=1001>uid=any"
    sysctl_set_and_check_rules "gid=1001>uid=any"
}

atf_test_case rule_uid_to_uid_star
rule_uid_to_uid_star_head()
{
    atf_set descr "Single \"to any (with '*')\" rule"
}
rule_uid_to_uid_star_body()
{
    sysctl_set_and_check_rules "uid=1001>uid=*"
    sysctl_set_and_check_rules "gid=1001>uid=*"
}

atf_test_case rule_uid_to_uid_gid
rule_uid_to_uid_gid_head()
{
    atf_set descr "Single \"to UID and GID\" rule"
}
rule_uid_to_uid_gid_body()
{
    sysctl_set_and_check_rules "uid=1001>uid=0,gid=0"
    sysctl_set_and_check_rules "gid=1001>uid=0,gid=0"
}

atf_test_case rule_uid_to_uid_gid_optional_sgid
rule_uid_to_uid_gid_optional_sgid_head()
{
    atf_set descr "Single \"to UID, GID and \
optional supplementary group rule\" rule"
}
rule_uid_to_uid_gid_optional_sgid_body()
{
    sysctl_set_and_check_rules "uid=1001>uid=0,gid=0,+gid=0"
    sysctl_set_and_check_rules "gid=1001>uid=0,gid=0,+gid=0"
}

atf_test_case rule_uid_to_uid_gid_mandatory_sgid
rule_uid_to_uid_gid_mandatory_sgid_head()
{
    atf_set descr "Single \"to UID, GID and \
mandatory supplementary group\" rule"
}
rule_uid_to_uid_gid_mandatory_sgid_body()
{
    sysctl_set_and_check_rules "uid=1001>uid=0,gid=0,!gid=0"
    sysctl_set_and_check_rules "gid=1001>uid=0,gid=0,!gid=0"
}

atf_test_case rule_uid_to_uid_gid_excluded_sgid
rule_uid_to_uid_gid_excluded_sgid_head()
{
    atf_set descr "Single \"to UID, GID and excluded supplementary group\" rule"
}
rule_uid_to_uid_gid_excluded_sgid_body()
{
    sysctl_set_and_check_rules "uid=1001>uid=0,gid=0,-gid=0"
    sysctl_set_and_check_rules "gid=1001>uid=0,gid=0,-gid=0"
}

atf_test_case rules_uid_to_uid
rules_uid_to_uid_head()
{
    atf_set descr "Multiple \"to UID\" rules"
}
rules_uid_to_uid_body() {
    sysctl_set_and_check_rules \
        "uid=1001>uid=0;uid=1001>uid=0,gid=0,!gid=0,+gid=5;gid=1001>gid=5"
}

atf_test_case rules_uid_to_uid_with_spaces
rules_uid_to_uid_with_spaces_head()
{
    atf_set descr "Multiple \"to UID\" rules with extra spaces"
}
rules_uid_to_uid_with_spaces_body()
{
    sysctl_set_and_check_rules \
        "uid=1001 > uid=0; uid=1001>uid=0, gid = 0, !gid =0,+gid =5;  \
gid= 1001 >gid =5"
}


atf_init_test_cases()
{
    . "$(atf_get_srcdir)"/common.sh

    atf_add_test_case rule_uid_to_any
    atf_add_test_case rule_uid_to_uid
    atf_add_test_case rule_uid_to_uid_any
    atf_add_test_case rule_uid_to_uid_star
    atf_add_test_case rule_uid_to_uid_gid
    atf_add_test_case rule_uid_to_uid_gid_optional_sgid
    atf_add_test_case rule_uid_to_uid_gid_mandatory_sgid
    atf_add_test_case rule_uid_to_uid_gid_excluded_sgid
    atf_add_test_case rules_uid_to_uid
    atf_add_test_case rules_uid_to_uid_with_spaces
}