Lines Matching defs:acl

39 #include <sys/acl.h>
67 si_t **si_cachea; /* The 'by acl' cache chains */
76 * Search the acl cache for an identical sp and, if found, attach
77 * the cache'd acl to ip. If the acl is new (not in the cache),
79 * decrement the reference count of any prior acl list attached
83 * ip - Ptr to inode to receive the acl list
84 * sp - Ptr to in-core acl structure to attach to the inode.
281 /* Now put the new acl stuff in the cache */
299 * Change the mode bits to follow the acl list
301 * NOTE: a directory is not required to have a "regular" acl
304 * but if a "regular" acl is present, it must contain
305 * an "owner", "group", and "other" acl
399 * or search the cache and attach the cache'd acl list to the ip.
403 * ip - Ptr to the inode which needs the acl list loaded
490 /* Read the acl's and other stuff from disk */
638 ufs_ic_acl_t *acl;
672 for (acl = sp->ausers; acl != NULL; acl = acl->acl_ic_next) {
673 if (acl->acl_ic_who == uid) {
675 (mask & acl->acl_ic_perm) << 6, cr, ip));
695 for (acl = sp->agroups; acl != NULL; acl = acl->acl_ic_next)
697 if (groupmember(acl->acl_ic_who, cr)) {
699 gperm |= acl->acl_ic_perm;
800 * Make the user & group objs in the acl list follow what's
817 * Write and cache the new acl list
825 * XXX Scan sorted array of acl's, checking for:
831 * aclentp - ptr to sorted list of acl entries.
832 * nentries - # acl entries on the list
920 * For normal acl's, we require there be one (and only one)
931 * class_obj(mask) acl (1003.6/D12 p. 29 lines 75-80).
942 * For default acl's, we require that there be either one (and only one)
959 * def_class_obj(mask) acl (1003.6/D12 P. 29 lines 75-80).
993 * the ufs_acl_entry struct used for in-core storage of acl's.
1022 /* Create new si struct and hang acl's off it */
1026 /* Process acl list */
1061 /* Process default acl list */
1116 * Convert from the ufs_acl_entry struct used for in-core storage of acl's
1167 /* Sort the acl list */
1170 /* Check the acl list */
1214 /* Sort the default acl list */
1244 * ufs_si_free_mem will discard the sp, and the acl hanging off of the
1260 * free the acl entries
1300 * ufs_si_inherit takes a parent acl structure (saclp) and the inode
1301 * of the object that is inheriting an acl and returns the inode
1302 * with the acl linked to it. It also writes the acl to disk if
1305 * ip - pointer to inode of object inheriting the acl (contents lock)
1323 * if links/symbolic links, or other invalid acl objects are copied
1324 * or moved to a directory with a default acl do not allow inheritance
1378 /* copy default acl if necessary */
1399 * store the acl, and get back a new security anchor if
1469 * if no regular acl's, nothing to do, so let's get out
1486 * an ACL mask exists, chmod(2) must set the acl mask (NOT the
1517 ufs_ic_acl_t *acl;
1520 for (count = 0, acl = p; acl; acl = acl->acl_ic_next, count++)
1544 acl_count(sp->ausers) + /* acl list */
1808 /* The 'by acl' chains */
1824 * for the acl in the cache, and if we find it we can lock it and check that
1825 * nobody else attached to it while we were acquiring the locks. If the acl
1833 * signature - the signature for the acl for lookup in the hash table
1846 * Search the 'by acl' chain first, then the 'by inode' chain
1847 * after the acl is locked.
1854 * Wait to grab the acl lock until after the acl has
1857 * delete an acl that has already been freed.
1875 * If the acl was not in the cache, we assume another thread has
1877 * the acl and then releases it after this thread has already found the
1915 /* The 'by acl' headers */
1922 * aclcksum takes an acl and generates a checksum. It takes as input
1923 * the acl to start at.
1925 * s_aclp - pointer to starting acl
1998 * both must be zero (at the end of the acl)