hc
2024-08-13 72be3801e63d82671c9d90577a9efb3126a6aa37
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
config BR2_PACKAGE_REFPOLICY
   bool "refpolicy"
   depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol
   # Even though libsepol is not necessary for building, we get
   # the policy version from libsepol, so we select it, and treat
   # it like a runtime dependency.
   select BR2_PACKAGE_LIBSEPOL
   help
     The SELinux Reference Policy project (refpolicy) is a
     complete SELinux policy that can be used as the system
     policy for a variety of systems and used as the basis for
     creating other policies. Reference Policy was originally
     based on the NSA example policy, but aims to accomplish many
     additional goals.
 
     The current refpolicy does not fully support Buildroot and
     needs modifications to work with the default system file
     layout. These changes should be added as patches to the
     refpolicy that modify a single SELinux policy.
 
     The refpolicy works for the most part in permissive
     mode. Only the basic set of utilities are enabled in the
     example policy config and some of the pathing in the
     policies is not correct.  Individual policies would need to
     be tweaked to get everything functioning properly.
 
     https://github.com/TresysTechnology/refpolicy
 
if BR2_PACKAGE_REFPOLICY
 
choice
   prompt "Refpolicy version"
   default BR2_PACKAGE_REFPOLICY_UPSTREAM_VERSION
 
config BR2_PACKAGE_REFPOLICY_UPSTREAM_VERSION
   bool "Upstream version"
   help
     Use the refpolicy as provided by Buildroot.
 
config BR2_PACKAGE_REFPOLICY_CUSTOM_GIT
   bool "Custom git repository"
   help
     Allows to get the refpolicy from a custom git repository.
 
     The custom refpolicy must define the full policy explicitly,
     and must be a fork of the original refpolicy, to have the
     same build system.  When this is selected, only the custom
     policy definition are taken into account and all the modules
     of the policy are built into the binary policy.
 
endchoice
 
if BR2_PACKAGE_REFPOLICY_CUSTOM_GIT
 
config BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL
   string "URL of custom repository"
 
config BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION
   string "Custom repository version"
   help
     Revision to use in the typical format used by Git.
     E.g. a sha id, tag, branch...
 
endif
 
choice
   prompt "SELinux default state"
   default BR2_PACKAGE_REFPOLICY_POLICY_STATE_PERMISSIVE
 
config BR2_PACKAGE_REFPOLICY_POLICY_STATE_ENFORCING
   bool "Enforcing"
   help
     SELinux security policy is enforced
 
config BR2_PACKAGE_REFPOLICY_POLICY_STATE_PERMISSIVE
   bool "Permissive"
   help
     SELinux prints warnings instead of enforcing
 
config BR2_PACKAGE_REFPOLICY_POLICY_STATE_DISABLED
   bool "Disabled"
   help
     No SELinux policy is loaded
endchoice
 
config BR2_PACKAGE_REFPOLICY_POLICY_STATE
   string
   default "permissive" if BR2_PACKAGE_REFPOLICY_POLICY_STATE_PERMISSIVE
   default "enforcing" if BR2_PACKAGE_REFPOLICY_POLICY_STATE_ENFORCING
   default "disabled" if BR2_PACKAGE_REFPOLICY_POLICY_STATE_DISABLED
 
if BR2_PACKAGE_REFPOLICY_UPSTREAM_VERSION
 
config BR2_REFPOLICY_EXTRA_MODULES_DIRS
   string "Extra modules directories"
   help
     Specify a space-separated list of directories containing
     SELinux modules that will be built into the SELinux
     policy. The modules will be automatically enabled in the
     policy.
 
     Each of those directories must contain the SELinux policy
     .fc, .if and .te files directly at the top-level, with no
     sub-directories. Also, you cannot have several modules with
     the same name in different directories.
 
config BR2_REFPOLICY_EXTRA_MODULES
   string "Extra modules to enable"
   help
     List of extra SELinux modules to enable in the refpolicy.
 
endif
 
endif
 
comment "refpolicy needs a toolchain w/ threads"
   depends on !BR2_TOOLCHAIN_HAS_THREADS