* @param handle handle to a rules
* @param subject subject of the rule
* @param object object of the rule
- * @return 0 if user was found from user db.
*/
-extern int smack_rule_set_remove(SmackRuleSet handle, const char *subject,
- const char *object);
+extern void smack_rule_set_remove(SmackRuleSet handle, const char *subject,
+ const char *object);
/*!
* Remove all rules with the given subject from a rule set.
* @param access string defining access type
* @return boolean value
*/
-
extern int smack_rule_set_have_access(SmackRuleSet handle, const char *subject,
const char *object, const char *access);
* @return pointer to the short name is returned when the operation is
* succesful. Otherwise, NULL is returned.
*/
-extern const char *smack_label_set_add(SmackLabelSet handle, const char *long_name);
+extern const char *smack_label_set_add(SmackLabelSet handle,
+ const char *long_name);
/*!
* Remove a label from a label set.
*
* @param handle handle to a label set
* @param long_name long label
- * @return 0 on success
*/
extern void smack_label_set_remove(SmackLabelSet handle, const char *long_name);
int rc;
SmackRuleSet rules = smack_rule_set_new_from_file("data/remove_rule-in.txt", NULL);
fail_unless(rules != NULL, "Reading rules failed");
- rc = smack_rule_set_remove(rules, "Orange", "Apple");
- fail_unless(rc == 0, "Failed to remove rule");
+ smack_rule_set_remove(rules, "Orange", "Apple");
rc = smack_rule_set_save_to_kernel(rules, "remove_rule-result.txt");
fail_unless(rc == 0, "Failed to write ruleset");
rc = files_equal("remove_rule-result.txt", "data/remove_rule-excepted.txt");
int rc;
SmackRuleSet rules = smack_rule_set_new_from_file("data/have_access_rule-in.txt", "Orange");
fail_unless(rules != NULL, "Reading rules failed");
- rc = smack_rule_set_remove(rules, "Orange", "Apple");
- fail_unless(rc == 0, "Failed to remove rule");
+ smack_rule_set_remove(rules, "Orange", "Apple");
rc = smack_rule_set_have_access(rules, "Orange", "Apple", "a");
fail_unless(!rc, "Has access to a removed rule");
smack_rule_set_delete(rules);
START_TEST(test_rule_set_attach_label_set_add_remove_rule)
{
int rc;
+ const char *sn;
SmackRuleSet rules = smack_rule_set_new();
fail_unless(rules != NULL, "Creating rule set failed");
smack_rule_set_attach_label_set(rules, labels);
- rc = smack_label_set_add(labels, LONG_LABEL_1);
- fail_unless(rc != 0, "Adding label was not succesful");
+ sn = smack_label_set_add(labels, LONG_LABEL_1);
+ fail_unless(sn != NULL, "Adding label was not succesful");
- rc = smack_label_set_add(labels, LONG_LABEL_2);
- fail_unless(rc != 0, "Adding label was not succesful");
+ sn = smack_label_set_add(labels, LONG_LABEL_2);
+ fail_unless(sn != NULL, "Adding label was not succesful");
rc = smack_rule_set_add(rules, LONG_LABEL_1, LONG_LABEL_2, "rx");
fail_unless(rc == 0, "Adding rule was not succesful");
- rc = smack_rule_set_remove(rules, LONG_LABEL_1, LONG_LABEL_2);
- fail_unless(rc == 0, "Removign rule was not succesful");
-
- smack_rule_set_delete(rules);
- smack_label_set_delete(labels);
-}
-END_TEST
-
-START_TEST(test_rule_set_attach_label_set_add_rule_no_labels)
-{
- int rc;
-
- SmackRuleSet rules = smack_rule_set_new();
- fail_unless(rules != NULL, "Creating rule set failed");
+ rc = smack_rule_set_add(rules, LONG_LABEL_2, LONG_LABEL_1, "rwa");
+ fail_unless(rc == 0, "Adding rule was not succesful");
- SmackLabelSet labels = smack_label_set_new();
- fail_unless(labels != NULL, "Creating label set failed");
+ smack_rule_set_remove(rules, LONG_LABEL_1, LONG_LABEL_2);
- smack_rule_set_attach_label_set(rules, labels);
+ rc = smack_rule_set_have_access(rules, LONG_LABEL_2, LONG_LABEL_1, "a");
+ fail_unless(rc, "Access failure");
- rc = smack_rule_set_add(rules, LONG_LABEL_1, LONG_LABEL_2, "rx");
- fail_unless(rc != 0, "Adding rule was succesful");
+ rc = smack_rule_set_have_access(rules, LONG_LABEL_1, LONG_LABEL_2, "r");
+ fail_unless(!rc, "Access failure");
smack_rule_set_delete(rules);
smack_label_set_delete(labels);
}
END_TEST
-START_TEST(test_rule_set_attach_label_set_save_rules)
+START_TEST(test_rule_set_attach_label_set_add_rule_no_labels)
{
int rc;
smack_rule_set_attach_label_set(rules, labels);
- rc = smack_label_set_add(labels, LONG_LABEL_1);
- fail_unless(rc != 0, "Adding label was not succesful");
-
- rc = smack_label_set_add(labels, LONG_LABEL_2);
- fail_unless(rc != 0, "Adding label was not succesful");
-
rc = smack_rule_set_add(rules, LONG_LABEL_1, LONG_LABEL_2, "rx");
- fail_unless(rc == 0, "Adding rule was not succesful");
-
- rc = smack_rule_set_save_to_file(rules, "rule_set_attach_label_set_save_rules-result.txt");
- fail_unless(rc == 0, "Saving rule set was not succesful");
-
- rc = files_equal("rule_set_attach_label_set_save_rules-result.txt",
- "data/rule_set_attach_label_set_save_rules-excepted.txt");
- fail_unless(rc == 1, "Unexcepted result");
+ fail_unless(rc != 0, "Adding rule was succesful");
smack_rule_set_delete(rules);
smack_label_set_delete(labels);
tcase_add_test(tc_core, test_have_access_removed_rule);
tcase_add_test(tc_core, test_rule_set_attach_label_set_add_remove_rule);
tcase_add_test(tc_core, test_rule_set_attach_label_set_add_rule_no_labels);
- tcase_add_test(tc_core, test_rule_set_attach_label_set_save_rules);
suite_add_tcase(s, tc_core);
return s;