aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/acl
diff options
context:
space:
mode:
Diffstat (limited to 'internal/acl')
-rw-r--r--internal/acl/libacl-helper.c128
1 files changed, 64 insertions, 64 deletions
diff --git a/internal/acl/libacl-helper.c b/internal/acl/libacl-helper.c
index d1df8167..259dfb2b 100644
--- a/internal/acl/libacl-helper.c
+++ b/internal/acl/libacl-helper.c
@@ -6,85 +6,85 @@
int hakurei_acl_update_file_by_uid(const char *path_p, uid_t uid,
acl_perm_t *perms, size_t plen) {
- int ret;
- bool v;
- int i;
- acl_t acl;
- acl_entry_t entry;
- acl_tag_t tag_type;
- void *qualifier_p;
- acl_permset_t permset;
+ int ret;
+ bool v;
+ int i;
+ acl_t acl;
+ acl_entry_t entry;
+ acl_tag_t tag_type;
+ void *qualifier_p;
+ acl_permset_t permset;
- ret = -1; /* acl_get_file */
- acl = acl_get_file(path_p, ACL_TYPE_ACCESS);
- if (acl == NULL)
- goto out;
+ ret = -1; /* acl_get_file */
+ acl = acl_get_file(path_p, ACL_TYPE_ACCESS);
+ if (acl == NULL)
+ goto out;
- /* prune entries by uid */
- for (i = acl_get_entry(acl, ACL_FIRST_ENTRY, &entry); i == 1;
- i = acl_get_entry(acl, ACL_NEXT_ENTRY, &entry)) {
- ret = -2; /* acl_get_tag_type */
- if (acl_get_tag_type(entry, &tag_type) != 0)
- goto out;
- if (tag_type != ACL_USER)
- continue;
+ /* prune entries by uid */
+ for (i = acl_get_entry(acl, ACL_FIRST_ENTRY, &entry); i == 1;
+ i = acl_get_entry(acl, ACL_NEXT_ENTRY, &entry)) {
+ ret = -2; /* acl_get_tag_type */
+ if (acl_get_tag_type(entry, &tag_type) != 0)
+ goto out;
+ if (tag_type != ACL_USER)
+ continue;
- ret = -3; /* acl_get_qualifier */
- qualifier_p = acl_get_qualifier(entry);
- if (qualifier_p == NULL)
- goto out;
- v = *(uid_t *)qualifier_p == uid;
- acl_free(qualifier_p);
+ ret = -3; /* acl_get_qualifier */
+ qualifier_p = acl_get_qualifier(entry);
+ if (qualifier_p == NULL)
+ goto out;
+ v = *(uid_t *)qualifier_p == uid;
+ acl_free(qualifier_p);
- if (!v)
- continue;
+ if (!v)
+ continue;
- ret = -4; /* acl_delete_entry */
- if (acl_delete_entry(acl, entry) != 0)
- goto out;
- }
+ ret = -4; /* acl_delete_entry */
+ if (acl_delete_entry(acl, entry) != 0)
+ goto out;
+ }
- if (plen == 0)
- goto set;
+ if (plen == 0)
+ goto set;
- ret = -5; /* acl_create_entry */
- if (acl_create_entry(&acl, &entry) != 0)
- goto out;
+ ret = -5; /* acl_create_entry */
+ if (acl_create_entry(&acl, &entry) != 0)
+ goto out;
- ret = -6; /* acl_get_permset */
- if (acl_get_permset(entry, &permset) != 0)
- goto out;
+ ret = -6; /* acl_get_permset */
+ if (acl_get_permset(entry, &permset) != 0)
+ goto out;
- ret = -7; /* acl_add_perm */
- for (i = 0; i < plen; i++) {
- if (acl_add_perm(permset, perms[i]) != 0)
- goto out;
- }
+ ret = -7; /* acl_add_perm */
+ for (i = 0; i < plen; i++) {
+ if (acl_add_perm(permset, perms[i]) != 0)
+ goto out;
+ }
- ret = -8; /* acl_set_tag_type */
- if (acl_set_tag_type(entry, ACL_USER) != 0)
- goto out;
+ ret = -8; /* acl_set_tag_type */
+ if (acl_set_tag_type(entry, ACL_USER) != 0)
+ goto out;
- ret = -9; /* acl_set_qualifier */
- if (acl_set_qualifier(entry, (void *)&uid) != 0)
- goto out;
+ ret = -9; /* acl_set_qualifier */
+ if (acl_set_qualifier(entry, (void *)&uid) != 0)
+ goto out;
set:
- ret = -10; /* acl_calc_mask */
- if (acl_calc_mask(&acl) != 0)
- goto out;
+ ret = -10; /* acl_calc_mask */
+ if (acl_calc_mask(&acl) != 0)
+ goto out;
- ret = -11; /* acl_valid */
- if (acl_valid(acl) != 0)
- goto out;
+ ret = -11; /* acl_valid */
+ if (acl_valid(acl) != 0)
+ goto out;
- ret = -12; /* acl_set_file */
- if (acl_set_file(path_p, ACL_TYPE_ACCESS, acl) == 0)
- ret = 0;
+ ret = -12; /* acl_set_file */
+ if (acl_set_file(path_p, ACL_TYPE_ACCESS, acl) == 0)
+ ret = 0;
out:
- free((void *)path_p);
- if (acl != NULL)
- acl_free((void *)acl);
- return ret;
+ free((void *)path_p);
+ if (acl != NULL)
+ acl_free((void *)acl);
+ return ret;
}