Lines Matching refs:acl

48 #include <sys/acl.h>
53 * and is passed via 'uid', 'gid', and 'acl'. Return 0 on success, else an
58 struct acl *acl, accmode_t accmode, struct ucred *cred, int *privused)
100 if ((accmode & VEXEC) && (acl_posix1e_acl_to_mode(acl) &
123 for (i = 0; i < acl->acl_cnt; i++) {
124 switch (acl->acl_entry[i].ae_tag) {
130 if (acl->acl_entry[i].ae_perm & ACL_EXECUTE)
132 if (acl->acl_entry[i].ae_perm & ACL_READ)
134 if (acl->acl_entry[i].ae_perm & ACL_WRITE)
151 acl_mask = &acl->acl_entry[i];
155 acl_other = &acl->acl_entry[i];
200 for (i = 0; i < acl->acl_cnt; i++) {
201 switch (acl->acl_entry[i].ae_tag) {
203 if (acl->acl_entry[i].ae_id != cred->cr_uid)
206 if (acl->acl_entry[i].ae_perm & ACL_EXECUTE)
208 if (acl->acl_entry[i].ae_perm & ACL_READ)
210 if (acl->acl_entry[i].ae_perm & ACL_WRITE)
236 for (i = 0; i < acl->acl_cnt; i++) {
237 switch (acl->acl_entry[i].ae_tag) {
242 if (acl->acl_entry[i].ae_perm & ACL_EXECUTE)
244 if (acl->acl_entry[i].ae_perm & ACL_READ)
246 if (acl->acl_entry[i].ae_perm & ACL_WRITE)
257 if (!groupmember(acl->acl_entry[i].ae_id, cred))
260 if (acl->acl_entry[i].ae_perm & ACL_EXECUTE)
262 if (acl->acl_entry[i].ae_perm & ACL_READ)
264 if (acl->acl_entry[i].ae_perm & ACL_WRITE)
284 for (i = 0; i < acl->acl_cnt; i++) {
285 switch (acl->acl_entry[i].ae_tag) {
290 if (acl->acl_entry[i].ae_perm & ACL_EXECUTE)
292 if (acl->acl_entry[i].ae_perm & ACL_READ)
294 if (acl->acl_entry[i].ae_perm & ACL_WRITE)
310 if (!groupmember(acl->acl_entry[i].ae_id,
314 if (acl->acl_entry[i].ae_perm & ACL_EXECUTE)
316 if (acl->acl_entry[i].ae_perm & ACL_READ)
318 if (acl->acl_entry[i].ae_perm & ACL_WRITE)
415 * Given inode information (uid, gid, mode), return an acl entry of the
486 acl_posix1e_acl_to_mode(struct acl *acl)
495 for (i = 0; i < acl->acl_cnt; i++) {
496 switch (acl->acl_entry[i].ae_tag) {
498 acl_user_obj = &acl->acl_entry[i];
502 acl_group_obj = &acl->acl_entry[i];
506 acl_other = &acl->acl_entry[i];
510 acl_mask = &acl->acl_entry[i];
544 acl_posix1e_check(struct acl *acl)
569 if (acl->acl_cnt > ACL_MAX_ENTRIES)
571 for (i = 0; i < acl->acl_cnt; i++) {
575 switch(acl->acl_entry[i].ae_tag) {
577 acl->acl_entry[i].ae_id = ACL_UNDEFINED_ID; /* XXX */
578 if (acl->acl_entry[i].ae_id != ACL_UNDEFINED_ID)
583 acl->acl_entry[i].ae_id = ACL_UNDEFINED_ID; /* XXX */
584 if (acl->acl_entry[i].ae_id != ACL_UNDEFINED_ID)
589 if (acl->acl_entry[i].ae_id == ACL_UNDEFINED_ID)
594 if (acl->acl_entry[i].ae_id == ACL_UNDEFINED_ID)
599 acl->acl_entry[i].ae_id = ACL_UNDEFINED_ID; /* XXX */
600 if (acl->acl_entry[i].ae_id != ACL_UNDEFINED_ID)
605 acl->acl_entry[i].ae_id = ACL_UNDEFINED_ID; /* XXX */
606 if (acl->acl_entry[i].ae_id != ACL_UNDEFINED_ID)
616 if ((acl->acl_entry[i].ae_perm | ACL_PERM_BITS) !=
637 acl_posix1e_newfilemode(mode_t cmode, struct acl *dacl)