Lines Matching defs:acl
37 #include <sys/acl.h>
53 #define OP_MERGE_ACL 0x00 /* merge acl's (-mM) */
54 #define OP_REMOVE_DEF 0x01 /* remove default acl's (-k) */
55 #define OP_REMOVE_EXT 0x02 /* remove extended acl's (-b) */
56 #define OP_REMOVE_ACL 0x03 /* remove acl's (-xX) */
57 #define OP_REMOVE_BY_NUMBER 0x04 /* remove acl's (-xX) by acl entry number */
60 /* TAILQ entry for acl operations */
63 acl_t acl;
80 static acl_t clear_inheritance_flags(acl_t acl);
137 * The acl argument is assumed to be valid.
140 clear_inheritance_flags(acl_t acl)
147 (void)acl_get_brand_np(acl, &acl_brand);
149 return (acl);
151 nacl = acl_dup(acl);
154 return (acl);
182 acl_t acl, nacl;
207 warnx("%s: default ACL may only be set on a directory",
235 acl = acl_get_file(file->fts_accpath, acl_type);
237 acl = acl_get_link_np(file->fts_accpath, acl_type);
238 if (acl == NULL) {
248 nacl = entry->acl;
254 local_error += add_acl(nacl, entry->entry_number, &acl,
261 local_error += merge_acl(nacl, &acl, file->fts_path);
267 * default ACL.
270 acl_get_entry(acl, ACL_FIRST_ENTRY,
272 local_error += remove_default(&acl,
276 remove_ext(&acl, file->fts_path);
293 local_error += remove_default(&acl,
298 local_error += remove_acl(nacl, &acl, file->fts_path);
303 &acl, file->fts_path);
308 if (nacl != entry->acl) {
319 * Don't try to set an empty default ACL; it will always fail.
323 acl_get_entry(acl, ACL_FIRST_ENTRY, &unused_entry) == 0) {
332 /* Don't bother setting the ACL if something is broken. */
336 set_acl_mask(&acl, file->fts_path) == -1) {
337 warnx("%s: failed to set ACL mask", file->fts_path);
340 if (acl_set_file(file->fts_accpath, acl_type, acl) == -1) {
345 if (acl_set_link_np(file->fts_accpath, acl_type, acl) == -1) {
352 acl_free(acl);
384 entry->acl = get_acl_from_file(optarg);
385 if (entry->acl == NULL)
399 entry->acl = get_acl_from_file(optarg);
416 errx(1, "missing ACL");
417 entry->acl = acl_from_text(argv[optind]);
418 if (entry->acl == NULL)
442 entry->acl = acl_from_text(optarg);
443 if (entry->acl == NULL)
462 entry->acl = acl_from_text(optarg);
463 if (entry->acl == NULL)