83 int __wrap_capng_update(UNUSED capng_act_t action, UNUSED capng_type_t type, UNUSED
unsigned int capability) {
96 static struct passwd pwd;
101 if(strcmp(name,
"webadmin") == 0) {
109 static struct group grp;
112 check_expected(name);
114 if(strcmp(name,
"webui") == 0) {
133 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
135 amxc_var_add_key(cstring_t, privileges,
"user",
"webadmin");
136 amxc_var_add_key(cstring_t, privileges,
"group",
"webui");
143 amxc_var_delete(&privileges);
148 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
149 amxc_var_t* group = amxc_var_add_new_key(privileges,
"group");
151 amxc_var_add_new_key(privileges,
"user");
155 amxc_var_set(cstring_t, group,
"webui");
160 amxc_var_delete(&privileges);
165 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
167 amxc_var_add_key(cstring_t, privileges,
"user",
"non-existing");
168 amxc_var_add_key(cstring_t, privileges,
"group",
"fake-group");
175 amxc_var_delete(&privileges);
180 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
182 amxc_var_add_key(uint32_t, privileges,
"user", 100);
183 amxc_var_add_key(uint32_t, privileges,
"group", 100);
187 amxc_var_delete(&privileges);
192 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
193 amxc_var_t* capabilities = amxc_var_add_key(amxc_llist_t, privileges,
"capabilities", NULL);
195 amxc_var_add(cstring_t, capabilities,
"CAP_CHOWN");
196 amxc_var_add(cstring_t, capabilities,
"CAP_KILL");
203 amxc_var_set_type(capabilities, AMXC_VAR_ID_LIST);
204 amxc_var_add(cstring_t, capabilities,
"chown");
205 amxc_var_add(cstring_t, capabilities,
"KILL");
209 amxc_var_delete(&privileges);
214 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
215 amxc_var_t* capabilities = amxc_var_add_key(amxc_llist_t, privileges,
"capabilities", NULL);
217 amxc_var_add(cstring_t, capabilities,
"CAP_DUMMY");
219 amxc_var_set_type(capabilities, AMXC_VAR_ID_LIST);
220 amxc_var_add(cstring_t, capabilities,
"dummy");
226 amxc_var_delete(&privileges);
231 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
232 amxc_var_t* capabilities = amxc_var_add_key(amxc_llist_t, privileges,
"capabilities", NULL);
234 amxc_var_add(uint32_t, capabilities, 0);
235 amxc_var_add(uint32_t, capabilities, 10);
243 amxc_var_delete(&privileges);
248 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
249 amxc_var_t* capabilities = amxc_var_add_key(amxc_llist_t, privileges,
"capabilities", NULL);
251 amxc_var_add(int32_t, capabilities, -1);
252 amxc_var_add(int32_t, capabilities, 25000);
258 amxc_var_delete(&privileges);
263 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
264 amxc_var_t* capabilities = amxc_var_add_key(amxc_llist_t, privileges,
"capabilities", NULL);
266 amxc_var_add(cstring_t, capabilities,
"CAP_KILL");
274 amxc_var_delete(&privileges);
279 amxc_var_t* privileges = amxc_var_add_key(amxc_htable_t,
config,
"privileges", NULL);
280 amxc_var_t* capabilities = amxc_var_add_key(amxc_llist_t, privileges,
"capabilities", NULL);
282 amxc_var_add(cstring_t, capabilities,
"CAP_CHOWN");
283 amxc_var_add(cstring_t, capabilities,
"CAP_KILL");
290 amxc_var_delete(&privileges);
void amxrt_caps_dump(void)
Dumps the capabilities of the process.
int amxrt_caps_apply(void)
Apply the user, group and capabilities as defined in the configuration.
amxc_var_t * amxrt_get_config(void)
Gets the htable variant containing the configuration options.
void amxrt_delete(void)
Clean-up ambiorix runtime.
void amxrt_new(void)
Create the ambiorix runtime.
int __wrap_capng_get_caps_process(void)
void test_caps_apply_can_fail(UNUSED void **state)
void test_caps_invalid_capability_ids_are_ignored(UNUSED void **state)
void test_caps_can_use_capability_ids(UNUSED void **state)
int __real_capng_get_caps_process(void)
int test_caps_teardown(UNUSED void **state)
void __wrap_capng_clear(capng_select_t set)
void test_caps_use_user_and_group_id(UNUSED void **state)
int __wrap_capng_change_id(int uid, int gid, capng_flags_t flag)
void test_caps_can_dump_capabilities(UNUSED void **state)
int __wrap_capng_update(capng_act_t action, capng_type_t type, unsigned int capability)
void test_caps_update_capability_can_fail(UNUSED void **state)
void test_caps_unknown_capabilities_are_ignored(UNUSED void **state)
void test_caps_switch_user_group(UNUSED void **state)
void test_caps_use_non_existing_user_group(UNUSED void **state)
void test_caps_can_keep_capabilities(UNUSED void **state)
void test_caps_use_null_user_group(UNUSED void **state)
struct passwd * __wrap_getpwnam(const char *__name)
int test_caps_setup(UNUSED void **state)
int __wrap_capng_apply(capng_select_t set)
struct group * __wrap_getgrnam(const char *__name)