/*
- * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2011 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
#include "aclvar.h"
+#if __DARWIN_ACL_EXTENDED_ALLOW != KAUTH_ACE_PERMIT
+# error __DARWIN_ACL_EXTENDED_ALLOW != KAUTH_ACE_PERMIT
+#endif
+#if __DARWIN_ACL_EXTENDED_DENY != KAUTH_ACE_DENY
+# error __DARWIN_ACL_EXTENDED_DENY != KAUTH_ACE_DENY
+#endif
+
int
acl_copy_entry(acl_entry_t dest, acl_entry_t src)
{
ap->a_entries++;
/* initialise new entry */
+ memset(&ap->a_ace[index], 0, sizeof(ap->a_ace[index]));
ap->a_ace[index].ae_magic = _ACL_ENTRY_MAGIC;
ap->a_ace[index].ae_tag = ACL_UNDEFINED_TAG;
acl_set_qualifier(acl_entry_t entry, const void *tag_qualifier_p)
{
acl_tag_t tag_type;
- int error;
_ACL_VALIDATE_ENTRY(entry);
- if ((error = acl_get_tag_type(entry, &tag_type)) != 0)
- return(error);
+ if (acl_get_tag_type(entry, &tag_type) != 0)
+ return(-1);
switch(tag_type) {
case ACL_EXTENDED_ALLOW:
case ACL_EXTENDED_DENY:
bcopy(tag_qualifier_p, &entry->ae_applicable, sizeof(guid_t));
- error = 0;
break;
default:
- error = EINVAL;
+ errno = EINVAL;
+ return(-1);
}
- return(error);
+ return(0);
}
int
entry->ae_tag = tag_type;
break;
default:
- return(EINVAL);
+ errno = EINVAL;
+ return(-1);
}
return(0);
}