4 * TOMOYO Linux's utilities.
6 * Copyright (C) 2005-2011 NTT DATA CORPORATION
8 * Version: 1.8.1 2011/04/01
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License v2 as published by the
12 * Free Software Foundation.
14 * This program is distributed in the hope that it will be useful, but WITHOUT
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
19 * You should have received a copy of the GNU General Public License along with
20 * this program; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
24 #include "editpolicy.h"
26 /* keyword array for rewriting keywords upon display. */
27 struct ccs_editpolicy_directive ccs_directives[CCS_MAX_DIRECTIVE_INDEX] = {
28 [CCS_DIRECTIVE_ACL_GROUP_000] = { "acl_group 0", NULL, 0, 0 },
29 [CCS_DIRECTIVE_ACL_GROUP_001] = { "acl_group 1", NULL, 0, 0 },
30 [CCS_DIRECTIVE_ACL_GROUP_002] = { "acl_group 2", NULL, 0, 0 },
31 [CCS_DIRECTIVE_ACL_GROUP_003] = { "acl_group 3", NULL, 0, 0 },
32 [CCS_DIRECTIVE_ACL_GROUP_004] = { "acl_group 4", NULL, 0, 0 },
33 [CCS_DIRECTIVE_ACL_GROUP_005] = { "acl_group 5", NULL, 0, 0 },
34 [CCS_DIRECTIVE_ACL_GROUP_006] = { "acl_group 6", NULL, 0, 0 },
35 [CCS_DIRECTIVE_ACL_GROUP_007] = { "acl_group 7", NULL, 0, 0 },
36 [CCS_DIRECTIVE_ACL_GROUP_008] = { "acl_group 8", NULL, 0, 0 },
37 [CCS_DIRECTIVE_ACL_GROUP_009] = { "acl_group 9", NULL, 0, 0 },
38 [CCS_DIRECTIVE_ACL_GROUP_010] = { "acl_group 10", NULL, 0, 0 },
39 [CCS_DIRECTIVE_ACL_GROUP_011] = { "acl_group 11", NULL, 0, 0 },
40 [CCS_DIRECTIVE_ACL_GROUP_012] = { "acl_group 12", NULL, 0, 0 },
41 [CCS_DIRECTIVE_ACL_GROUP_013] = { "acl_group 13", NULL, 0, 0 },
42 [CCS_DIRECTIVE_ACL_GROUP_014] = { "acl_group 14", NULL, 0, 0 },
43 [CCS_DIRECTIVE_ACL_GROUP_015] = { "acl_group 15", NULL, 0, 0 },
44 [CCS_DIRECTIVE_ACL_GROUP_016] = { "acl_group 16", NULL, 0, 0 },
45 [CCS_DIRECTIVE_ACL_GROUP_017] = { "acl_group 17", NULL, 0, 0 },
46 [CCS_DIRECTIVE_ACL_GROUP_018] = { "acl_group 18", NULL, 0, 0 },
47 [CCS_DIRECTIVE_ACL_GROUP_019] = { "acl_group 19", NULL, 0, 0 },
48 [CCS_DIRECTIVE_ACL_GROUP_020] = { "acl_group 20", NULL, 0, 0 },
49 [CCS_DIRECTIVE_ACL_GROUP_021] = { "acl_group 21", NULL, 0, 0 },
50 [CCS_DIRECTIVE_ACL_GROUP_022] = { "acl_group 22", NULL, 0, 0 },
51 [CCS_DIRECTIVE_ACL_GROUP_023] = { "acl_group 23", NULL, 0, 0 },
52 [CCS_DIRECTIVE_ACL_GROUP_024] = { "acl_group 24", NULL, 0, 0 },
53 [CCS_DIRECTIVE_ACL_GROUP_025] = { "acl_group 25", NULL, 0, 0 },
54 [CCS_DIRECTIVE_ACL_GROUP_026] = { "acl_group 26", NULL, 0, 0 },
55 [CCS_DIRECTIVE_ACL_GROUP_027] = { "acl_group 27", NULL, 0, 0 },
56 [CCS_DIRECTIVE_ACL_GROUP_028] = { "acl_group 28", NULL, 0, 0 },
57 [CCS_DIRECTIVE_ACL_GROUP_029] = { "acl_group 29", NULL, 0, 0 },
58 [CCS_DIRECTIVE_ACL_GROUP_030] = { "acl_group 30", NULL, 0, 0 },
59 [CCS_DIRECTIVE_ACL_GROUP_031] = { "acl_group 31", NULL, 0, 0 },
60 [CCS_DIRECTIVE_ACL_GROUP_032] = { "acl_group 32", NULL, 0, 0 },
61 [CCS_DIRECTIVE_ACL_GROUP_033] = { "acl_group 33", NULL, 0, 0 },
62 [CCS_DIRECTIVE_ACL_GROUP_034] = { "acl_group 34", NULL, 0, 0 },
63 [CCS_DIRECTIVE_ACL_GROUP_035] = { "acl_group 35", NULL, 0, 0 },
64 [CCS_DIRECTIVE_ACL_GROUP_036] = { "acl_group 36", NULL, 0, 0 },
65 [CCS_DIRECTIVE_ACL_GROUP_037] = { "acl_group 37", NULL, 0, 0 },
66 [CCS_DIRECTIVE_ACL_GROUP_038] = { "acl_group 38", NULL, 0, 0 },
67 [CCS_DIRECTIVE_ACL_GROUP_039] = { "acl_group 39", NULL, 0, 0 },
68 [CCS_DIRECTIVE_ACL_GROUP_040] = { "acl_group 40", NULL, 0, 0 },
69 [CCS_DIRECTIVE_ACL_GROUP_041] = { "acl_group 41", NULL, 0, 0 },
70 [CCS_DIRECTIVE_ACL_GROUP_042] = { "acl_group 42", NULL, 0, 0 },
71 [CCS_DIRECTIVE_ACL_GROUP_043] = { "acl_group 43", NULL, 0, 0 },
72 [CCS_DIRECTIVE_ACL_GROUP_044] = { "acl_group 44", NULL, 0, 0 },
73 [CCS_DIRECTIVE_ACL_GROUP_045] = { "acl_group 45", NULL, 0, 0 },
74 [CCS_DIRECTIVE_ACL_GROUP_046] = { "acl_group 46", NULL, 0, 0 },
75 [CCS_DIRECTIVE_ACL_GROUP_047] = { "acl_group 47", NULL, 0, 0 },
76 [CCS_DIRECTIVE_ACL_GROUP_048] = { "acl_group 48", NULL, 0, 0 },
77 [CCS_DIRECTIVE_ACL_GROUP_049] = { "acl_group 49", NULL, 0, 0 },
78 [CCS_DIRECTIVE_ACL_GROUP_050] = { "acl_group 50", NULL, 0, 0 },
79 [CCS_DIRECTIVE_ACL_GROUP_051] = { "acl_group 51", NULL, 0, 0 },
80 [CCS_DIRECTIVE_ACL_GROUP_052] = { "acl_group 52", NULL, 0, 0 },
81 [CCS_DIRECTIVE_ACL_GROUP_053] = { "acl_group 53", NULL, 0, 0 },
82 [CCS_DIRECTIVE_ACL_GROUP_054] = { "acl_group 54", NULL, 0, 0 },
83 [CCS_DIRECTIVE_ACL_GROUP_055] = { "acl_group 55", NULL, 0, 0 },
84 [CCS_DIRECTIVE_ACL_GROUP_056] = { "acl_group 56", NULL, 0, 0 },
85 [CCS_DIRECTIVE_ACL_GROUP_057] = { "acl_group 57", NULL, 0, 0 },
86 [CCS_DIRECTIVE_ACL_GROUP_058] = { "acl_group 58", NULL, 0, 0 },
87 [CCS_DIRECTIVE_ACL_GROUP_059] = { "acl_group 59", NULL, 0, 0 },
88 [CCS_DIRECTIVE_ACL_GROUP_060] = { "acl_group 60", NULL, 0, 0 },
89 [CCS_DIRECTIVE_ACL_GROUP_061] = { "acl_group 61", NULL, 0, 0 },
90 [CCS_DIRECTIVE_ACL_GROUP_062] = { "acl_group 62", NULL, 0, 0 },
91 [CCS_DIRECTIVE_ACL_GROUP_063] = { "acl_group 63", NULL, 0, 0 },
92 [CCS_DIRECTIVE_ACL_GROUP_064] = { "acl_group 64", NULL, 0, 0 },
93 [CCS_DIRECTIVE_ACL_GROUP_065] = { "acl_group 65", NULL, 0, 0 },
94 [CCS_DIRECTIVE_ACL_GROUP_066] = { "acl_group 66", NULL, 0, 0 },
95 [CCS_DIRECTIVE_ACL_GROUP_067] = { "acl_group 67", NULL, 0, 0 },
96 [CCS_DIRECTIVE_ACL_GROUP_068] = { "acl_group 68", NULL, 0, 0 },
97 [CCS_DIRECTIVE_ACL_GROUP_069] = { "acl_group 69", NULL, 0, 0 },
98 [CCS_DIRECTIVE_ACL_GROUP_070] = { "acl_group 70", NULL, 0, 0 },
99 [CCS_DIRECTIVE_ACL_GROUP_071] = { "acl_group 71", NULL, 0, 0 },
100 [CCS_DIRECTIVE_ACL_GROUP_072] = { "acl_group 72", NULL, 0, 0 },
101 [CCS_DIRECTIVE_ACL_GROUP_073] = { "acl_group 73", NULL, 0, 0 },
102 [CCS_DIRECTIVE_ACL_GROUP_074] = { "acl_group 74", NULL, 0, 0 },
103 [CCS_DIRECTIVE_ACL_GROUP_075] = { "acl_group 75", NULL, 0, 0 },
104 [CCS_DIRECTIVE_ACL_GROUP_076] = { "acl_group 76", NULL, 0, 0 },
105 [CCS_DIRECTIVE_ACL_GROUP_077] = { "acl_group 77", NULL, 0, 0 },
106 [CCS_DIRECTIVE_ACL_GROUP_078] = { "acl_group 78", NULL, 0, 0 },
107 [CCS_DIRECTIVE_ACL_GROUP_079] = { "acl_group 79", NULL, 0, 0 },
108 [CCS_DIRECTIVE_ACL_GROUP_080] = { "acl_group 80", NULL, 0, 0 },
109 [CCS_DIRECTIVE_ACL_GROUP_081] = { "acl_group 81", NULL, 0, 0 },
110 [CCS_DIRECTIVE_ACL_GROUP_082] = { "acl_group 82", NULL, 0, 0 },
111 [CCS_DIRECTIVE_ACL_GROUP_083] = { "acl_group 83", NULL, 0, 0 },
112 [CCS_DIRECTIVE_ACL_GROUP_084] = { "acl_group 84", NULL, 0, 0 },
113 [CCS_DIRECTIVE_ACL_GROUP_085] = { "acl_group 85", NULL, 0, 0 },
114 [CCS_DIRECTIVE_ACL_GROUP_086] = { "acl_group 86", NULL, 0, 0 },
115 [CCS_DIRECTIVE_ACL_GROUP_087] = { "acl_group 87", NULL, 0, 0 },
116 [CCS_DIRECTIVE_ACL_GROUP_088] = { "acl_group 88", NULL, 0, 0 },
117 [CCS_DIRECTIVE_ACL_GROUP_089] = { "acl_group 89", NULL, 0, 0 },
118 [CCS_DIRECTIVE_ACL_GROUP_090] = { "acl_group 90", NULL, 0, 0 },
119 [CCS_DIRECTIVE_ACL_GROUP_091] = { "acl_group 91", NULL, 0, 0 },
120 [CCS_DIRECTIVE_ACL_GROUP_092] = { "acl_group 92", NULL, 0, 0 },
121 [CCS_DIRECTIVE_ACL_GROUP_093] = { "acl_group 93", NULL, 0, 0 },
122 [CCS_DIRECTIVE_ACL_GROUP_094] = { "acl_group 94", NULL, 0, 0 },
123 [CCS_DIRECTIVE_ACL_GROUP_095] = { "acl_group 95", NULL, 0, 0 },
124 [CCS_DIRECTIVE_ACL_GROUP_096] = { "acl_group 96", NULL, 0, 0 },
125 [CCS_DIRECTIVE_ACL_GROUP_097] = { "acl_group 97", NULL, 0, 0 },
126 [CCS_DIRECTIVE_ACL_GROUP_098] = { "acl_group 98", NULL, 0, 0 },
127 [CCS_DIRECTIVE_ACL_GROUP_099] = { "acl_group 99", NULL, 0, 0 },
128 [CCS_DIRECTIVE_ACL_GROUP_100] = { "acl_group 100", NULL, 0, 0 },
129 [CCS_DIRECTIVE_ACL_GROUP_101] = { "acl_group 101", NULL, 0, 0 },
130 [CCS_DIRECTIVE_ACL_GROUP_102] = { "acl_group 102", NULL, 0, 0 },
131 [CCS_DIRECTIVE_ACL_GROUP_103] = { "acl_group 103", NULL, 0, 0 },
132 [CCS_DIRECTIVE_ACL_GROUP_104] = { "acl_group 104", NULL, 0, 0 },
133 [CCS_DIRECTIVE_ACL_GROUP_105] = { "acl_group 105", NULL, 0, 0 },
134 [CCS_DIRECTIVE_ACL_GROUP_106] = { "acl_group 106", NULL, 0, 0 },
135 [CCS_DIRECTIVE_ACL_GROUP_107] = { "acl_group 107", NULL, 0, 0 },
136 [CCS_DIRECTIVE_ACL_GROUP_108] = { "acl_group 108", NULL, 0, 0 },
137 [CCS_DIRECTIVE_ACL_GROUP_109] = { "acl_group 109", NULL, 0, 0 },
138 [CCS_DIRECTIVE_ACL_GROUP_110] = { "acl_group 110", NULL, 0, 0 },
139 [CCS_DIRECTIVE_ACL_GROUP_111] = { "acl_group 111", NULL, 0, 0 },
140 [CCS_DIRECTIVE_ACL_GROUP_112] = { "acl_group 112", NULL, 0, 0 },
141 [CCS_DIRECTIVE_ACL_GROUP_113] = { "acl_group 113", NULL, 0, 0 },
142 [CCS_DIRECTIVE_ACL_GROUP_114] = { "acl_group 114", NULL, 0, 0 },
143 [CCS_DIRECTIVE_ACL_GROUP_115] = { "acl_group 115", NULL, 0, 0 },
144 [CCS_DIRECTIVE_ACL_GROUP_116] = { "acl_group 116", NULL, 0, 0 },
145 [CCS_DIRECTIVE_ACL_GROUP_117] = { "acl_group 117", NULL, 0, 0 },
146 [CCS_DIRECTIVE_ACL_GROUP_118] = { "acl_group 118", NULL, 0, 0 },
147 [CCS_DIRECTIVE_ACL_GROUP_119] = { "acl_group 119", NULL, 0, 0 },
148 [CCS_DIRECTIVE_ACL_GROUP_120] = { "acl_group 120", NULL, 0, 0 },
149 [CCS_DIRECTIVE_ACL_GROUP_121] = { "acl_group 121", NULL, 0, 0 },
150 [CCS_DIRECTIVE_ACL_GROUP_122] = { "acl_group 122", NULL, 0, 0 },
151 [CCS_DIRECTIVE_ACL_GROUP_123] = { "acl_group 123", NULL, 0, 0 },
152 [CCS_DIRECTIVE_ACL_GROUP_124] = { "acl_group 124", NULL, 0, 0 },
153 [CCS_DIRECTIVE_ACL_GROUP_125] = { "acl_group 125", NULL, 0, 0 },
154 [CCS_DIRECTIVE_ACL_GROUP_126] = { "acl_group 126", NULL, 0, 0 },
155 [CCS_DIRECTIVE_ACL_GROUP_127] = { "acl_group 127", NULL, 0, 0 },
156 [CCS_DIRECTIVE_ACL_GROUP_128] = { "acl_group 128", NULL, 0, 0 },
157 [CCS_DIRECTIVE_ACL_GROUP_129] = { "acl_group 129", NULL, 0, 0 },
158 [CCS_DIRECTIVE_ACL_GROUP_130] = { "acl_group 130", NULL, 0, 0 },
159 [CCS_DIRECTIVE_ACL_GROUP_131] = { "acl_group 131", NULL, 0, 0 },
160 [CCS_DIRECTIVE_ACL_GROUP_132] = { "acl_group 132", NULL, 0, 0 },
161 [CCS_DIRECTIVE_ACL_GROUP_133] = { "acl_group 133", NULL, 0, 0 },
162 [CCS_DIRECTIVE_ACL_GROUP_134] = { "acl_group 134", NULL, 0, 0 },
163 [CCS_DIRECTIVE_ACL_GROUP_135] = { "acl_group 135", NULL, 0, 0 },
164 [CCS_DIRECTIVE_ACL_GROUP_136] = { "acl_group 136", NULL, 0, 0 },
165 [CCS_DIRECTIVE_ACL_GROUP_137] = { "acl_group 137", NULL, 0, 0 },
166 [CCS_DIRECTIVE_ACL_GROUP_138] = { "acl_group 138", NULL, 0, 0 },
167 [CCS_DIRECTIVE_ACL_GROUP_139] = { "acl_group 139", NULL, 0, 0 },
168 [CCS_DIRECTIVE_ACL_GROUP_140] = { "acl_group 140", NULL, 0, 0 },
169 [CCS_DIRECTIVE_ACL_GROUP_141] = { "acl_group 141", NULL, 0, 0 },
170 [CCS_DIRECTIVE_ACL_GROUP_142] = { "acl_group 142", NULL, 0, 0 },
171 [CCS_DIRECTIVE_ACL_GROUP_143] = { "acl_group 143", NULL, 0, 0 },
172 [CCS_DIRECTIVE_ACL_GROUP_144] = { "acl_group 144", NULL, 0, 0 },
173 [CCS_DIRECTIVE_ACL_GROUP_145] = { "acl_group 145", NULL, 0, 0 },
174 [CCS_DIRECTIVE_ACL_GROUP_146] = { "acl_group 146", NULL, 0, 0 },
175 [CCS_DIRECTIVE_ACL_GROUP_147] = { "acl_group 147", NULL, 0, 0 },
176 [CCS_DIRECTIVE_ACL_GROUP_148] = { "acl_group 148", NULL, 0, 0 },
177 [CCS_DIRECTIVE_ACL_GROUP_149] = { "acl_group 149", NULL, 0, 0 },
178 [CCS_DIRECTIVE_ACL_GROUP_150] = { "acl_group 150", NULL, 0, 0 },
179 [CCS_DIRECTIVE_ACL_GROUP_151] = { "acl_group 151", NULL, 0, 0 },
180 [CCS_DIRECTIVE_ACL_GROUP_152] = { "acl_group 152", NULL, 0, 0 },
181 [CCS_DIRECTIVE_ACL_GROUP_153] = { "acl_group 153", NULL, 0, 0 },
182 [CCS_DIRECTIVE_ACL_GROUP_154] = { "acl_group 154", NULL, 0, 0 },
183 [CCS_DIRECTIVE_ACL_GROUP_155] = { "acl_group 155", NULL, 0, 0 },
184 [CCS_DIRECTIVE_ACL_GROUP_156] = { "acl_group 156", NULL, 0, 0 },
185 [CCS_DIRECTIVE_ACL_GROUP_157] = { "acl_group 157", NULL, 0, 0 },
186 [CCS_DIRECTIVE_ACL_GROUP_158] = { "acl_group 158", NULL, 0, 0 },
187 [CCS_DIRECTIVE_ACL_GROUP_159] = { "acl_group 159", NULL, 0, 0 },
188 [CCS_DIRECTIVE_ACL_GROUP_160] = { "acl_group 160", NULL, 0, 0 },
189 [CCS_DIRECTIVE_ACL_GROUP_161] = { "acl_group 161", NULL, 0, 0 },
190 [CCS_DIRECTIVE_ACL_GROUP_162] = { "acl_group 162", NULL, 0, 0 },
191 [CCS_DIRECTIVE_ACL_GROUP_163] = { "acl_group 163", NULL, 0, 0 },
192 [CCS_DIRECTIVE_ACL_GROUP_164] = { "acl_group 164", NULL, 0, 0 },
193 [CCS_DIRECTIVE_ACL_GROUP_165] = { "acl_group 165", NULL, 0, 0 },
194 [CCS_DIRECTIVE_ACL_GROUP_166] = { "acl_group 166", NULL, 0, 0 },
195 [CCS_DIRECTIVE_ACL_GROUP_167] = { "acl_group 167", NULL, 0, 0 },
196 [CCS_DIRECTIVE_ACL_GROUP_168] = { "acl_group 168", NULL, 0, 0 },
197 [CCS_DIRECTIVE_ACL_GROUP_169] = { "acl_group 169", NULL, 0, 0 },
198 [CCS_DIRECTIVE_ACL_GROUP_170] = { "acl_group 170", NULL, 0, 0 },
199 [CCS_DIRECTIVE_ACL_GROUP_171] = { "acl_group 171", NULL, 0, 0 },
200 [CCS_DIRECTIVE_ACL_GROUP_172] = { "acl_group 172", NULL, 0, 0 },
201 [CCS_DIRECTIVE_ACL_GROUP_173] = { "acl_group 173", NULL, 0, 0 },
202 [CCS_DIRECTIVE_ACL_GROUP_174] = { "acl_group 174", NULL, 0, 0 },
203 [CCS_DIRECTIVE_ACL_GROUP_175] = { "acl_group 175", NULL, 0, 0 },
204 [CCS_DIRECTIVE_ACL_GROUP_176] = { "acl_group 176", NULL, 0, 0 },
205 [CCS_DIRECTIVE_ACL_GROUP_177] = { "acl_group 177", NULL, 0, 0 },
206 [CCS_DIRECTIVE_ACL_GROUP_178] = { "acl_group 178", NULL, 0, 0 },
207 [CCS_DIRECTIVE_ACL_GROUP_179] = { "acl_group 179", NULL, 0, 0 },
208 [CCS_DIRECTIVE_ACL_GROUP_180] = { "acl_group 180", NULL, 0, 0 },
209 [CCS_DIRECTIVE_ACL_GROUP_181] = { "acl_group 181", NULL, 0, 0 },
210 [CCS_DIRECTIVE_ACL_GROUP_182] = { "acl_group 182", NULL, 0, 0 },
211 [CCS_DIRECTIVE_ACL_GROUP_183] = { "acl_group 183", NULL, 0, 0 },
212 [CCS_DIRECTIVE_ACL_GROUP_184] = { "acl_group 184", NULL, 0, 0 },
213 [CCS_DIRECTIVE_ACL_GROUP_185] = { "acl_group 185", NULL, 0, 0 },
214 [CCS_DIRECTIVE_ACL_GROUP_186] = { "acl_group 186", NULL, 0, 0 },
215 [CCS_DIRECTIVE_ACL_GROUP_187] = { "acl_group 187", NULL, 0, 0 },
216 [CCS_DIRECTIVE_ACL_GROUP_188] = { "acl_group 188", NULL, 0, 0 },
217 [CCS_DIRECTIVE_ACL_GROUP_189] = { "acl_group 189", NULL, 0, 0 },
218 [CCS_DIRECTIVE_ACL_GROUP_190] = { "acl_group 190", NULL, 0, 0 },
219 [CCS_DIRECTIVE_ACL_GROUP_191] = { "acl_group 191", NULL, 0, 0 },
220 [CCS_DIRECTIVE_ACL_GROUP_192] = { "acl_group 192", NULL, 0, 0 },
221 [CCS_DIRECTIVE_ACL_GROUP_193] = { "acl_group 193", NULL, 0, 0 },
222 [CCS_DIRECTIVE_ACL_GROUP_194] = { "acl_group 194", NULL, 0, 0 },
223 [CCS_DIRECTIVE_ACL_GROUP_195] = { "acl_group 195", NULL, 0, 0 },
224 [CCS_DIRECTIVE_ACL_GROUP_196] = { "acl_group 196", NULL, 0, 0 },
225 [CCS_DIRECTIVE_ACL_GROUP_197] = { "acl_group 197", NULL, 0, 0 },
226 [CCS_DIRECTIVE_ACL_GROUP_198] = { "acl_group 198", NULL, 0, 0 },
227 [CCS_DIRECTIVE_ACL_GROUP_199] = { "acl_group 199", NULL, 0, 0 },
228 [CCS_DIRECTIVE_ACL_GROUP_200] = { "acl_group 200", NULL, 0, 0 },
229 [CCS_DIRECTIVE_ACL_GROUP_201] = { "acl_group 201", NULL, 0, 0 },
230 [CCS_DIRECTIVE_ACL_GROUP_202] = { "acl_group 202", NULL, 0, 0 },
231 [CCS_DIRECTIVE_ACL_GROUP_203] = { "acl_group 203", NULL, 0, 0 },
232 [CCS_DIRECTIVE_ACL_GROUP_204] = { "acl_group 204", NULL, 0, 0 },
233 [CCS_DIRECTIVE_ACL_GROUP_205] = { "acl_group 205", NULL, 0, 0 },
234 [CCS_DIRECTIVE_ACL_GROUP_206] = { "acl_group 206", NULL, 0, 0 },
235 [CCS_DIRECTIVE_ACL_GROUP_207] = { "acl_group 207", NULL, 0, 0 },
236 [CCS_DIRECTIVE_ACL_GROUP_208] = { "acl_group 208", NULL, 0, 0 },
237 [CCS_DIRECTIVE_ACL_GROUP_209] = { "acl_group 209", NULL, 0, 0 },
238 [CCS_DIRECTIVE_ACL_GROUP_210] = { "acl_group 210", NULL, 0, 0 },
239 [CCS_DIRECTIVE_ACL_GROUP_211] = { "acl_group 211", NULL, 0, 0 },
240 [CCS_DIRECTIVE_ACL_GROUP_212] = { "acl_group 212", NULL, 0, 0 },
241 [CCS_DIRECTIVE_ACL_GROUP_213] = { "acl_group 213", NULL, 0, 0 },
242 [CCS_DIRECTIVE_ACL_GROUP_214] = { "acl_group 214", NULL, 0, 0 },
243 [CCS_DIRECTIVE_ACL_GROUP_215] = { "acl_group 215", NULL, 0, 0 },
244 [CCS_DIRECTIVE_ACL_GROUP_216] = { "acl_group 216", NULL, 0, 0 },
245 [CCS_DIRECTIVE_ACL_GROUP_217] = { "acl_group 217", NULL, 0, 0 },
246 [CCS_DIRECTIVE_ACL_GROUP_218] = { "acl_group 218", NULL, 0, 0 },
247 [CCS_DIRECTIVE_ACL_GROUP_219] = { "acl_group 219", NULL, 0, 0 },
248 [CCS_DIRECTIVE_ACL_GROUP_220] = { "acl_group 220", NULL, 0, 0 },
249 [CCS_DIRECTIVE_ACL_GROUP_221] = { "acl_group 221", NULL, 0, 0 },
250 [CCS_DIRECTIVE_ACL_GROUP_222] = { "acl_group 222", NULL, 0, 0 },
251 [CCS_DIRECTIVE_ACL_GROUP_223] = { "acl_group 223", NULL, 0, 0 },
252 [CCS_DIRECTIVE_ACL_GROUP_224] = { "acl_group 224", NULL, 0, 0 },
253 [CCS_DIRECTIVE_ACL_GROUP_225] = { "acl_group 225", NULL, 0, 0 },
254 [CCS_DIRECTIVE_ACL_GROUP_226] = { "acl_group 226", NULL, 0, 0 },
255 [CCS_DIRECTIVE_ACL_GROUP_227] = { "acl_group 227", NULL, 0, 0 },
256 [CCS_DIRECTIVE_ACL_GROUP_228] = { "acl_group 228", NULL, 0, 0 },
257 [CCS_DIRECTIVE_ACL_GROUP_229] = { "acl_group 229", NULL, 0, 0 },
258 [CCS_DIRECTIVE_ACL_GROUP_230] = { "acl_group 230", NULL, 0, 0 },
259 [CCS_DIRECTIVE_ACL_GROUP_231] = { "acl_group 231", NULL, 0, 0 },
260 [CCS_DIRECTIVE_ACL_GROUP_232] = { "acl_group 232", NULL, 0, 0 },
261 [CCS_DIRECTIVE_ACL_GROUP_233] = { "acl_group 233", NULL, 0, 0 },
262 [CCS_DIRECTIVE_ACL_GROUP_234] = { "acl_group 234", NULL, 0, 0 },
263 [CCS_DIRECTIVE_ACL_GROUP_235] = { "acl_group 235", NULL, 0, 0 },
264 [CCS_DIRECTIVE_ACL_GROUP_236] = { "acl_group 236", NULL, 0, 0 },
265 [CCS_DIRECTIVE_ACL_GROUP_237] = { "acl_group 237", NULL, 0, 0 },
266 [CCS_DIRECTIVE_ACL_GROUP_238] = { "acl_group 238", NULL, 0, 0 },
267 [CCS_DIRECTIVE_ACL_GROUP_239] = { "acl_group 239", NULL, 0, 0 },
268 [CCS_DIRECTIVE_ACL_GROUP_240] = { "acl_group 240", NULL, 0, 0 },
269 [CCS_DIRECTIVE_ACL_GROUP_241] = { "acl_group 241", NULL, 0, 0 },
270 [CCS_DIRECTIVE_ACL_GROUP_242] = { "acl_group 242", NULL, 0, 0 },
271 [CCS_DIRECTIVE_ACL_GROUP_243] = { "acl_group 243", NULL, 0, 0 },
272 [CCS_DIRECTIVE_ACL_GROUP_244] = { "acl_group 244", NULL, 0, 0 },
273 [CCS_DIRECTIVE_ACL_GROUP_245] = { "acl_group 245", NULL, 0, 0 },
274 [CCS_DIRECTIVE_ACL_GROUP_246] = { "acl_group 246", NULL, 0, 0 },
275 [CCS_DIRECTIVE_ACL_GROUP_247] = { "acl_group 247", NULL, 0, 0 },
276 [CCS_DIRECTIVE_ACL_GROUP_248] = { "acl_group 248", NULL, 0, 0 },
277 [CCS_DIRECTIVE_ACL_GROUP_249] = { "acl_group 249", NULL, 0, 0 },
278 [CCS_DIRECTIVE_ACL_GROUP_250] = { "acl_group 250", NULL, 0, 0 },
279 [CCS_DIRECTIVE_ACL_GROUP_251] = { "acl_group 251", NULL, 0, 0 },
280 [CCS_DIRECTIVE_ACL_GROUP_252] = { "acl_group 252", NULL, 0, 0 },
281 [CCS_DIRECTIVE_ACL_GROUP_253] = { "acl_group 253", NULL, 0, 0 },
282 [CCS_DIRECTIVE_ACL_GROUP_254] = { "acl_group 254", NULL, 0, 0 },
283 [CCS_DIRECTIVE_ACL_GROUP_255] = { "acl_group 255", NULL, 0, 0 },
284 [CCS_DIRECTIVE_ADDRESS_GROUP] = { "address_group", NULL, 0, 0 },
285 [CCS_DIRECTIVE_AGGREGATOR] = { "aggregator", NULL, 0, 0 },
286 [CCS_DIRECTIVE_CAPABILITY] = { "capability", NULL, 0, 0 },
287 [CCS_DIRECTIVE_DENY_AUTOBIND] = { "deny_autobind", NULL, 0, 0 },
288 [CCS_DIRECTIVE_FILE_APPEND] = { "file append", NULL, 0, 0 },
289 [CCS_DIRECTIVE_FILE_CHGRP] = { "file chgrp", NULL, 0, 0 },
290 [CCS_DIRECTIVE_FILE_CHMOD] = { "file chmod", NULL, 0, 0 },
291 [CCS_DIRECTIVE_FILE_CHOWN] = { "file chown", NULL, 0, 0 },
292 [CCS_DIRECTIVE_FILE_CHROOT] = { "file chroot", NULL, 0, 0 },
293 [CCS_DIRECTIVE_FILE_CREATE] = { "file create", NULL, 0, 0 },
294 [CCS_DIRECTIVE_FILE_EXECUTE] = { "file execute", NULL, 0, 0 },
295 [CCS_DIRECTIVE_FILE_GETATTR] = { "file getattr", NULL, 0, 0 },
296 [CCS_DIRECTIVE_FILE_IOCTL] = { "file ioctl", NULL, 0, 0 },
297 [CCS_DIRECTIVE_FILE_LINK] = { "file link", NULL, 0, 0 },
298 [CCS_DIRECTIVE_FILE_MKBLOCK] = { "file mkblock", NULL, 0, 0 },
299 [CCS_DIRECTIVE_FILE_MKCHAR] = { "file mkchar", NULL, 0, 0 },
300 [CCS_DIRECTIVE_FILE_MKDIR] = { "file mkdir", NULL, 0, 0 },
301 [CCS_DIRECTIVE_FILE_MKFIFO] = { "file mkfifo", NULL, 0, 0 },
302 [CCS_DIRECTIVE_FILE_MKSOCK] = { "file mksock", NULL, 0, 0 },
303 [CCS_DIRECTIVE_FILE_MOUNT] = { "file mount", NULL, 0, 0 },
304 [CCS_DIRECTIVE_FILE_PIVOT_ROOT] = { "file pivot_root", NULL, 0, 0 },
305 [CCS_DIRECTIVE_FILE_READ] = { "file read", NULL, 0, 0 },
306 [CCS_DIRECTIVE_FILE_RENAME] = { "file rename", NULL, 0, 0 },
307 [CCS_DIRECTIVE_FILE_RMDIR] = { "file rmdir", NULL, 0, 0 },
308 [CCS_DIRECTIVE_FILE_SYMLINK] = { "file symlink", NULL, 0, 0 },
309 [CCS_DIRECTIVE_FILE_TRUNCATE] = { "file truncate", NULL, 0, 0 },
310 [CCS_DIRECTIVE_FILE_UNLINK] = { "file unlink", NULL, 0, 0 },
311 [CCS_DIRECTIVE_FILE_UNMOUNT] = { "file unmount", NULL, 0, 0 },
312 [CCS_DIRECTIVE_FILE_WRITE] = { "file write", NULL, 0, 0 },
313 [CCS_DIRECTIVE_INITIALIZE_DOMAIN] = { "initialize_domain", NULL, 0, 0 },
314 [CCS_DIRECTIVE_IPC_SIGNAL] = { "ipc signal", NULL, 0, 0 },
315 [CCS_DIRECTIVE_KEEP_DOMAIN] = { "keep_domain", NULL, 0, 0 },
316 [CCS_DIRECTIVE_MISC_ENV] = { "misc env", NULL, 0, 0 },
317 [CCS_DIRECTIVE_NETWORK_INET] = { "network inet", NULL, 0, 0 },
318 [CCS_DIRECTIVE_NETWORK_UNIX] = { "network unix", NULL, 0, 0 },
319 [CCS_DIRECTIVE_NONE] = { "", NULL, 0, 0 },
320 [CCS_DIRECTIVE_NO_INITIALIZE_DOMAIN]
321 = { "no_initialize_domain", NULL, 0, 0 },
322 [CCS_DIRECTIVE_NO_KEEP_DOMAIN] = { "no_keep_domain", NULL, 0, 0 },
323 [CCS_DIRECTIVE_NUMBER_GROUP] = { "number_group", NULL, 0, 0 },
324 [CCS_DIRECTIVE_PATH_GROUP] = { "path_group", NULL, 0, 0 },
325 [CCS_DIRECTIVE_QUOTA_EXCEEDED] = { "quota_exceeded", NULL, 0, 0 },
326 [CCS_DIRECTIVE_TASK_AUTO_DOMAIN_TRANSITION]
327 = { "task auto_domain_transition", NULL, 0, 0 },
328 [CCS_DIRECTIVE_TASK_AUTO_EXECUTE_HANDLER]
329 = { "task auto_execute_handler", NULL, 0, 0 },
330 [CCS_DIRECTIVE_TASK_DENIED_EXECUTE_HANDLER]
331 = { "task denied_execute_handler", NULL, 0, 0 },
332 [CCS_DIRECTIVE_TASK_MANUAL_DOMAIN_TRANSITION]
333 = { "task manual_domain_transition", NULL, 0, 0 },
334 [CCS_DIRECTIVE_TRANSITION_FAILED] = { "transition_failed", NULL, 0, 0 },
335 [CCS_DIRECTIVE_USE_GROUP] = { "use_group", NULL, 0, 0 },
336 [CCS_DIRECTIVE_USE_PROFILE] = { "use_profile", NULL, 0, 0 },
340 * ccs_find_directive - Find keyword index.
342 * @forward: True if original -> alias conversion, false otherwise.
343 * @line: A line containing keyword and operand.
345 * Returns one of values in "enum ccs_editpolicy_directives".
347 enum ccs_editpolicy_directives ccs_find_directive(const _Bool forward,
351 for (i = 1; i < CCS_MAX_DIRECTIVE_INDEX; i++) {
353 const int len = ccs_directives[i].original_len;
354 if (strncmp(line, ccs_directives[i].original, len) ||
355 (line[len] != ' ' && line[len]))
358 memmove(line, line + len + 1,
359 strlen(line + len + 1) + 1);
364 const int len = ccs_directives[i].alias_len;
365 if (strncmp(line, ccs_directives[i].alias, len) ||
366 (line[len] != ' ' && line[len]))
369 memmove(line, line + len + 1,
370 strlen(line + len + 1) + 1);
376 return CCS_DIRECTIVE_NONE;
380 * ccs_editpolicy_init_keyword_map - Initialize keyword mapping table.
384 void ccs_editpolicy_init_keyword_map(void)
386 FILE *fp = fopen(CCS_EDITPOLICY_CONF, "r");
392 char *line = ccs_freadline(fp);
396 if (!ccs_str_starts(line, "keyword_alias "))
398 cp = strchr(line, '=');
402 ccs_normalize_line(line);
403 ccs_normalize_line(cp);
406 for (i = 1; i < CCS_MAX_DIRECTIVE_INDEX; i++) {
407 if (strcmp(line, ccs_directives[i].original))
409 free((void *) ccs_directives[i].alias);
413 ccs_directives[i].alias = cp;
414 ccs_directives[i].alias_len = strlen(cp);
421 for (i = 1; i < CCS_MAX_DIRECTIVE_INDEX; i++) {
422 if (!ccs_directives[i].alias)
423 ccs_directives[i].alias = ccs_directives[i].original;
424 ccs_directives[i].original_len =
425 strlen(ccs_directives[i].original);
426 ccs_directives[i].alias_len = strlen(ccs_directives[i].alias);