diff options
author | Jeremy Allison <jra@samba.org> | 2001-04-17 05:41:07 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-04-17 05:41:07 +0000 |
commit | 8a1c2e02984edd17e6ab0d5088a80c4dd5f9b933 (patch) | |
tree | 3bdf52421af74f40263ee9f141316c0665712fd2 /source3/include | |
parent | 4355098a757885462dd44b94b616014c30eea2bf (diff) | |
download | samba-8a1c2e02984edd17e6ab0d5088a80c4dd5f9b933.tar.gz samba-8a1c2e02984edd17e6ab0d5088a80c4dd5f9b933.tar.bz2 samba-8a1c2e02984edd17e6ab0d5088a80c4dd5f9b933.zip |
AIX ACLs donated by IBM.
Merge Andrew's fnmatch fix for WfW.
Jeremy.
(This used to be commit 1d4438f07745df3d02ed8ab3ef048e20016816b6)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/config.h.in | 1 | ||||
-rw-r--r-- | source3/include/smb_acls.h | 47 |
2 files changed, 48 insertions, 0 deletions
diff --git a/source3/include/config.h.in b/source3/include/config.h.in index 6a6c856766..b2ed622f88 100644 --- a/source3/include/config.h.in +++ b/source3/include/config.h.in @@ -207,6 +207,7 @@ #undef HAVE_SOLARIS_ACLS #undef HAVE_IRIX_ACLS #undef HAVE_XFS_ACLS +#undef HAVE_AIX_ACLS #undef HAVE_NO_ACLS /* The number of bytes in a int. */ diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 570b8eab8c..613f6db3e3 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -166,6 +166,53 @@ typedef ushort *SMB_ACL_PERMSET_T; #define EXTENDED_PERM_BITS (ACL_CHOWN|ACL_CHMOD|ACL_DELETE) #endif /* CONFIG_EXTENDED_PERMISSION */ +#elif defined(HAVE_AIX_ACLS) + +/* Donated by Medha Date, mdate@austin.ibm.com, for IBM */ + +#include "/usr/include/acl.h" + +typedef uint *SMB_ACL_PERMSET_T; + +struct acl_entry_link{ + struct acl_entry_link *prevp; + struct new_acl_entry *entryp; + struct acl_entry_link *nextp; + int count; +}; + +struct new_acl_entry{ + unsigned short ace_len; + unsigned short ace_type; + unsigned int ace_access; + struct ace_id ace_id[1]; +}; + +#define SMB_ACL_ENTRY_T struct new_acl_entry* +#define SMB_ACL_T struct acl_entry_link* + +#define SMB_ACL_TAG_T unsigned short +#define SMB_ACL_TYPE_T int +#define SMB_ACL_PERM_T uint +#define SMB_ACL_READ S_IRUSR +#define SMB_ACL_WRITE S_IWUSR +#define SMB_ACL_EXECUTE S_IXUSR + +/* Types of ACLs. */ +#define SMB_ACL_USER ACEID_USER +#define SMB_ACL_USER_OBJ 3 +#define SMB_ACL_GROUP ACEID_GROUP +#define SMB_ACL_GROUP_OBJ 4 +#define SMB_ACL_OTHER 5 +#define SMB_ACL_MASK 6 + + +#define SMB_ACL_FIRST_ENTRY 1 +#define SMB_ACL_NEXT_ENTRY 2 + +#define SMB_ACL_TYPE_ACCESS 0 +#define SMB_ACL_TYPE_DEFAULT 1 + #else /* No ACLs. */ /* No ACLS - fake it. */ |