check_groups(LIBPRIVILEGE_TEST_DAC_FILE_OSP);
}
-RUNNER_TEST(privilege_control08_app_give_access)
-{
- const char *subject = "lkjq345v34sfa";
- const char *object = "lk9290f92lkjz";
- smack_accesses *tmp = NULL;
-
- RUNNER_ASSERT(0 == smack_accesses_new(&tmp));
-
- SmackUniquePtr smack(tmp, smack_accesses_free);
-
- RUNNER_ASSERT(0 == smack_accesses_add(smack.get(), subject, object, "r--a-"));
- RUNNER_ASSERT(0 == smack_accesses_apply(smack.get()));
-
- app_give_access(subject, object, "wt");
-
- RUNNER_ASSERT(1 == smack_have_access(subject, object, "rwat"));
- RUNNER_ASSERT(0 == smack_have_access(subject, object, "x"));
-
- app_revoke_access(subject, object);
-
- RUNNER_ASSERT(1 == smack_have_access(subject, object, "ra"));
- RUNNER_ASSERT(0 == smack_have_access(subject, object, "w"));
- RUNNER_ASSERT(0 == smack_have_access(subject, object, "x"));
- RUNNER_ASSERT(0 == smack_have_access(subject, object, "t"));
-
- RUNNER_ASSERT(0 == smack_accesses_add(smack.get(), subject, object, "-"));
- RUNNER_ASSERT(0 == smack_accesses_apply(smack.get()));
-}
-
-RUNNER_TEST(privilege_control09_app_give_access)
-{
- const char *subject = "ljk132flkjv";
- const char *object = "jjsiqsc32vs";
- smack_accesses *tmp = NULL;
-
- RUNNER_ASSERT(0 == smack_accesses_new(&tmp));
-
- SmackUniquePtr smack(tmp, smack_accesses_free);
-
- RUNNER_ASSERT(0 == smack_accesses_add(smack.get(), subject, object, "---t-"));
- RUNNER_ASSERT(0 == smack_accesses_apply(smack.get()));
-
- RUNNER_ASSERT(PC_OPERATION_SUCCESS == app_give_access(subject, object, "rw"));
- RUNNER_ASSERT(PC_OPERATION_SUCCESS == app_give_access(subject, object, "rwx"));
-
- RUNNER_ASSERT(1 == smack_have_access(subject, object, "rwxt"));
- RUNNER_ASSERT(0 == smack_have_access(subject, object, "a"));
-
- RUNNER_ASSERT(PC_OPERATION_SUCCESS == app_revoke_access(subject, object));
-
- RUNNER_ASSERT(1 == smack_have_access(subject, object, "t"));
- RUNNER_ASSERT(0 == smack_have_access(subject, object, "r"));
- RUNNER_ASSERT(0 == smack_have_access(subject, object, "w"));
- RUNNER_ASSERT(0 == smack_have_access(subject, object, "x"));
- RUNNER_ASSERT(0 == smack_have_access(subject, object, "a"));
-
- RUNNER_ASSERT(0 == smack_accesses_add(smack.get(), subject, object, "-----"));
- RUNNER_ASSERT(0 == smack_accesses_apply(smack.get()));
-}
-
/**
* Add new API feature
*/