From 0293259eaa6fd49f69bc6f0181c9145158c4e67f Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 6 Dec 2000 02:32:48 +0000 Subject: Make smbd/posix_acls.c use abstract interface. include/smb_acls.h lib/sysacls.c: Added as interface definitions. Jeremy. (This used to be commit 8359375bba5b3ae24956f66b066dedf11d3583df) --- source3/include/smb_acls.h | 91 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 source3/include/smb_acls.h (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h new file mode 100644 index 0000000000..6acd17c321 --- /dev/null +++ b/source3/include/smb_acls.h @@ -0,0 +1,91 @@ +/* + Unix SMB/Netbios implementation. + Version 2.2.x + Portable SMB ACL interface + Copyright (C) Jeremy Allison 2000 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef _SMB_ACLS_H +#define _SMB_ACLS_H + +#include "includes.h" + +#if defined(HAVE_POSIX_ACLS) + +/* This is an identity mapping (just remove the SMB_). */ + +#define SMB_ACL_TAG_T acl_tag_t +#define SMB_ACL_PERMSET_T acl_permset_t +#define SMB_ACL_READ ACL_READ +#define SMB_ACL_WRITE ACL_WRITE +#define SMB_ACL_EXECUTE ACL_EXECUTE + +/* Types of ACLs. */ +#define SMB_ACL_USER ACL_USER +#define SMB_ACL_USER_OBJ ACL_USER_OBJ +#define SMB_ACL_GROUP ACL_GROUP +#define SMB_ACL_GROUP_OBJ ACL_GROUP_OBJ +#define SMB_ACL_OTHER_OBJ ACL_OTHER_OBJ +#define SMB_ACL_MASK ACL_MASK + +#define SMB_ACL_T acl_t + +#define SMB_ACL_ENTRY_T acl_entry_t + +#define SMB_ACL_FIRST_ENTRY ACL_FIRST_ENTRY +#define SMB_ACL_NEXT_ENTRY ACL_NEXT_ENTRY + +#define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS +#define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT + +#elif defined(HAVE_SOLARIS_ACLS) + +#elif defined(HAVE_IRIX_ACLS) + +#else /* No ACLs. */ + +/* No ACLS - fake it. */ +#define SMB_ACL_TAG_T int +#define SMB_ACL_PERMSET_T mode_t +#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 0 +#define SMB_ACL_USER_OBJ 1 +#define SMB_ACL_GROUP 2 +#define SMB_ACL_GROUP_OBJ 3 +#define SMB_ACL_OTHER_OBJ 4 +#define SMB_ACL_MASK 5 + +typdef struct SMB_ACL_T { + int dummy; +} *SMB_ACL_T; + +typdef struct SMB_ACL_ENTRY_T { + int dummy; +} *SMB_ACL_ENTRY_T; + +#define SMB_ACL_FIRST_ENTRY 0 +#define SMB_ACL_NEXT_ENTRY 1 + +#define SMB_ACL_TYPE_ACCESS 0 +#define SMB_ACL_TYPE_DEFAULT 1 + +#endif /* No ACLs. */ +#endif /* _SMB_ACLS_H */ -- cgit From 70922b9bbe412dc43397ecfd3feeb01169ed0b96 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 6 Dec 2000 23:24:31 +0000 Subject: Cause smbd to use the new posix_acls code, not the old unix_acls code. Currently does exactly the same thing (returns ACLs the same way). This code is written to try and get a POSIX ACL via the abstract sys_XX interface, then fall back to providing a UNIX based ACL if the calls fail. Seems to work. Next step is to add a --with-posix-acls to configure.in and then check on a POSIX ACL system that a complex ACL is returned correctly as an NT ACL. Note that the ACL set (a more complex problem) is not addressed yet. Jeremy. (This used to be commit 4339e20202a876dbadc07980b731f711463b7299) --- source3/include/smb_acls.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 6acd17c321..bc07a1b271 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -29,6 +29,7 @@ /* This is an identity mapping (just remove the SMB_). */ #define SMB_ACL_TAG_T acl_tag_t +#define SMB_ACL_TYPE_T acl_type_t #define SMB_ACL_PERMSET_T acl_permset_t #define SMB_ACL_READ ACL_READ #define SMB_ACL_WRITE ACL_WRITE @@ -60,6 +61,7 @@ /* No ACLS - fake it. */ #define SMB_ACL_TAG_T int +#define SMB_ACL_TYPE_T int #define SMB_ACL_PERMSET_T mode_t #define SMB_ACL_READ S_IRUSR #define SMB_ACL_WRITE S_IWUSR @@ -73,11 +75,11 @@ #define SMB_ACL_OTHER_OBJ 4 #define SMB_ACL_MASK 5 -typdef struct SMB_ACL_T { +typedef struct SMB_ACL_T { int dummy; } *SMB_ACL_T; -typdef struct SMB_ACL_ENTRY_T { +typedef struct SMB_ACL_ENTRY_T { int dummy; } *SMB_ACL_ENTRY_T; -- cgit From 423227d7ca87a6a4b9412e9ecbc3d6dd073818b1 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 7 Dec 2000 05:38:01 +0000 Subject: Working code to read POSIX ACLs on a Linux system using the bestbits ACL patch from http://acl.bestbits.at/. configure support needs more work (just assumes correct headers at the moment). ACL writing needs adding. Jeremy. (This used to be commit 6ae63e502e6adf3666a34aa87860c74e106fdb84) --- source3/include/smb_acls.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index bc07a1b271..944baaa4e5 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -31,6 +31,7 @@ #define SMB_ACL_TAG_T acl_tag_t #define SMB_ACL_TYPE_T acl_type_t #define SMB_ACL_PERMSET_T acl_permset_t +#define SMB_ACL_PERM_T acl_perm_t #define SMB_ACL_READ ACL_READ #define SMB_ACL_WRITE ACL_WRITE #define SMB_ACL_EXECUTE ACL_EXECUTE @@ -40,7 +41,7 @@ #define SMB_ACL_USER_OBJ ACL_USER_OBJ #define SMB_ACL_GROUP ACL_GROUP #define SMB_ACL_GROUP_OBJ ACL_GROUP_OBJ -#define SMB_ACL_OTHER_OBJ ACL_OTHER_OBJ +#define SMB_ACL_OTHER ACL_OTHER #define SMB_ACL_MASK ACL_MASK #define SMB_ACL_T acl_t @@ -63,6 +64,7 @@ #define SMB_ACL_TAG_T int #define SMB_ACL_TYPE_T int #define SMB_ACL_PERMSET_T mode_t +#define SMB_ACL_PERM_T mode_t #define SMB_ACL_READ S_IRUSR #define SMB_ACL_WRITE S_IWUSR #define SMB_ACL_EXECUTE S_IXUSR @@ -72,7 +74,7 @@ #define SMB_ACL_USER_OBJ 1 #define SMB_ACL_GROUP 2 #define SMB_ACL_GROUP_OBJ 3 -#define SMB_ACL_OTHER_OBJ 4 +#define SMB_ACL_OTHER 4 #define SMB_ACL_MASK 5 typedef struct SMB_ACL_T { -- cgit From ddfac242e3c6b16b93a6fabf73f837cd5ffe216a Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 15 Feb 2001 19:56:10 +0000 Subject: Patch to add UnixWare ACLs from Michael Davidson . With some small modifications, this code may also work on Solaris, as they are derived from the same SVR4 codebase. When the Samba Solaris box is up and running again I will test this. Jeremy. (This used to be commit f8db87b0978be981448eafd57163703e3aeec2cb) --- source3/include/smb_acls.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 944baaa4e5..578e9f2751 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -54,6 +54,45 @@ #define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS #define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT +#elif defined(HAVE_UNIXWARE_ACLS) + +/* + * Donated by Michael Davidson for UnixWare. + * As this is generic SVR4.x code, it may also work for Solaris ! + */ + +/* SVR4.2 ES/MP ACLs */ +typedef int SMB_ACL_TAG_T; +typedef int SMB_ACL_TYPE_T; +typedef ushort *SMB_ACL_PERMSET_T; +typedef ushort SMB_ACL_PERM_T; +#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 USER +#define SMB_ACL_USER_OBJ USER_OBJ +#define SMB_ACL_GROUP GROUP +#define SMB_ACL_GROUP_OBJ GROUP_OBJ +#define SMB_ACL_OTHER OTHER_OBJ +#define SMB_ACL_MASK CLASS_OBJ + +typedef struct SMB_ACL_T { + int size; + int count; + int next; + struct acl acl[1]; +} *SMB_ACL_T; + +typedef struct acl *SMB_ACL_ENTRY_T; + +#define SMB_ACL_FIRST_ENTRY 0 +#define SMB_ACL_NEXT_ENTRY 1 + +#define SMB_ACL_TYPE_ACCESS 0 +#define SMB_ACL_TYPE_DEFAULT 1 + #elif defined(HAVE_SOLARIS_ACLS) #elif defined(HAVE_IRIX_ACLS) -- cgit From f93bb0801ccd66a6a3709ad98afb3758ffd0c1d4 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Sun, 25 Feb 2001 00:24:54 +0000 Subject: rpc_client/cli_netlogon.c: Fixed incorrect printf. Added Solaris ACL support. Jeremy. (This used to be commit f0d11b6997cc46a0210adef8cf572cf8b7e2467a) --- source3/include/smb_acls.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 578e9f2751..4469432e36 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -95,6 +95,42 @@ typedef struct acl *SMB_ACL_ENTRY_T; #elif defined(HAVE_SOLARIS_ACLS) +/* + * Code donated by Toomas Soome . + * Based on the implementation by Michael Davidson for UnixWare. + */ + +typedef int SMB_ACL_TAG_T; +typedef int SMB_ACL_TYPE_T; +typedef ushort *SMB_ACL_PERMSET_T; +typedef ushort SMB_ACL_PERM_T; +#define SMB_ACL_READ 4 +#define SMB_ACL_WRITE 2 +#define SMB_ACL_EXECUTE 1 + +/* Types of ACLs. */ +#define SMB_ACL_USER USER +#define SMB_ACL_USER_OBJ USER_OBJ +#define SMB_ACL_GROUP GROUP +#define SMB_ACL_GROUP_OBJ GROUP_OBJ +#define SMB_ACL_OTHER OTHER_OBJ +#define SMB_ACL_MASK CLASS_OBJ + +typedef struct SMB_ACL_T { + int size; + int count; + int next; + struct acl acl[1]; +} *SMB_ACL_T; + +typedef struct acl *SMB_ACL_ENTRY_T; + +#define SMB_ACL_FIRST_ENTRY 0 +#define SMB_ACL_NEXT_ENTRY 1 + +#define SMB_ACL_TYPE_ACCESS 0 +#define SMB_ACL_TYPE_DEFAULT 1 + #elif defined(HAVE_IRIX_ACLS) #else /* No ACLs. */ -- cgit From 6c0c14a7425b76da349fbaf1defe3d4efa250764 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 2 Apr 2001 23:05:25 +0000 Subject: IRIX ACLs from Herb. Jeremy. (This used to be commit 2f2365e93833e5f08dc14ab0022dd9f6f0d028ad) --- source3/include/smb_acls.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 4469432e36..d7a9c53aaa 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -133,6 +133,36 @@ typedef struct acl *SMB_ACL_ENTRY_T; #elif defined(HAVE_IRIX_ACLS) +#define SMB_ACL_TAG_T acl_tag_t +#define SMB_ACL_TYPE_T acl_type_t +#define SMB_ACL_PERMSET_T acl_permset_t +#define SMB_ACL_PERM_T acl_perm_t +#define SMB_ACL_READ ACL_READ +#define SMB_ACL_WRITE ACL_WRITE +#define SMB_ACL_EXECUTE ACL_EXECUTE + +/* Types of ACLs. */ +#define SMB_ACL_USER ACL_USER +#define SMB_ACL_USER_OBJ ACL_USER_OBJ +#define SMB_ACL_GROUP ACL_GROUP +#define SMB_ACL_GROUP_OBJ ACL_GROUP_OBJ +#define SMB_ACL_OTHER ACL_OTHER_OBJ +#define SMB_ACL_MASK ACL_MASK + +typedef struct SMB_ACL_T { + int next; + BOOL freeaclp; + struct acl *aclp; +} *SMB_ACL_T; + +#define SMB_ACL_ENTRY_T acl_entry_t + +#define SMB_ACL_FIRST_ENTRY 0 +#define SMB_ACL_NEXT_ENTRY 1 + +#define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS +#define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT + #else /* No ACLs. */ /* No ACLS - fake it. */ -- cgit From a6d201a8d7307f8a6342ee131917d6245ab41993 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 3 Apr 2001 00:40:01 +0000 Subject: Added XFS ACLs on Linux. Code from John Trostel . Jeremy. (This used to be commit 0865366f6b1070a8db3d8421c37c8072b36b96e3) --- source3/include/smb_acls.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index d7a9c53aaa..9de3a5b6a1 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -163,6 +163,48 @@ typedef struct SMB_ACL_T { #define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS #define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT +/* XFS ACLS are defined here */ +/* donated by John Trostel (jtrostel@connex.com) */ + +#elif defined(HAVE_XFS_ACLS) + +/* This is an nearly an identity mapping (just remove the SMB_). */ +#define SMB_ACL_TAG_T acl_tag_t +#define SMB_ACL_TYPE_T acl_type_t +//#define SMB_ACL_PERMSET_T acl_permset_t +typedef ushort *SMB_ACL_PERMSET_T; +#define SMB_ACL_PERM_T acl_perm_t +#define SMB_ACL_READ ACL_READ +#define SMB_ACL_WRITE ACL_WRITE +#define SMB_ACL_EXECUTE ACL_EXECUTE + +/* Types of ACLs. */ +#define SMB_ACL_USER ACL_USER +#define SMB_ACL_USER_OBJ ACL_USER_OBJ +#define SMB_ACL_GROUP ACL_GROUP +#define SMB_ACL_GROUP_OBJ ACL_GROUP_OBJ +#define SMB_ACL_OTHER ACL_OTHER_OBJ +#define SMB_ACL_MASK ACL_MASK + +#define SMB_ACL_T acl_t + +#define SMB_ACL_ENTRY_T acl_entry_t + +#define SMB_ACL_FIRST_ENTRY ACL_FIRST_ENTRY +#define SMB_ACL_NEXT_ENTRY ACL_NEXT_ENTRY + +#define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS +#define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT + +/* Not yet in Official SGI XFS CVS */ + +#if defined(CONFIG_EXTENDED_PERMISSSION) +#define SMB_ACL_CHOWN ACL_CHOWN +#define SMB_ACL_CHMOD ACL_CHMOD +#define SMB_ACL_DELETE ACL_DELETE +#define EXTENDED_PERM_BITS (ACL_CHOWN|ACL_CHMOD|ACL_DELETE) +#endif /* CONFIG_EXTENDED_PERMISSION */ + #else /* No ACLs. */ /* No ACLS - fake it. */ -- cgit From 45646e88188b5d175f7755bc64f186cd59ed4c80 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 5 Apr 2001 20:52:02 +0000 Subject: Fix from Michael Davidson to merge Solaris and UnixWare ACLs. Jeremy. (This used to be commit ffa800e980bfed3d82ec7b0a037085c4558f8f0f) --- source3/include/smb_acls.h | 51 ++++++---------------------------------------- 1 file changed, 6 insertions(+), 45 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 9de3a5b6a1..570b8eab8c 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -54,11 +54,10 @@ #define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS #define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT -#elif defined(HAVE_UNIXWARE_ACLS) - +#elif defined(HAVE_UNIXWARE_ACLS) || defined(HAVE_SOLARIS_ACLS) /* - * Donated by Michael Davidson for UnixWare. - * As this is generic SVR4.x code, it may also work for Solaris ! + * Donated by Michael Davidson for UnixWare / OpenUNIX. + * Modified by Toomas Soome for Solaris. */ /* SVR4.2 ES/MP ACLs */ @@ -66,9 +65,9 @@ typedef int SMB_ACL_TAG_T; typedef int SMB_ACL_TYPE_T; typedef ushort *SMB_ACL_PERMSET_T; typedef ushort SMB_ACL_PERM_T; -#define SMB_ACL_READ S_IRUSR -#define SMB_ACL_WRITE S_IWUSR -#define SMB_ACL_EXECUTE S_IXUSR +#define SMB_ACL_READ 4 +#define SMB_ACL_WRITE 2 +#define SMB_ACL_EXECUTE 1 /* Types of ACLs. */ #define SMB_ACL_USER USER @@ -93,44 +92,6 @@ typedef struct acl *SMB_ACL_ENTRY_T; #define SMB_ACL_TYPE_ACCESS 0 #define SMB_ACL_TYPE_DEFAULT 1 -#elif defined(HAVE_SOLARIS_ACLS) - -/* - * Code donated by Toomas Soome . - * Based on the implementation by Michael Davidson for UnixWare. - */ - -typedef int SMB_ACL_TAG_T; -typedef int SMB_ACL_TYPE_T; -typedef ushort *SMB_ACL_PERMSET_T; -typedef ushort SMB_ACL_PERM_T; -#define SMB_ACL_READ 4 -#define SMB_ACL_WRITE 2 -#define SMB_ACL_EXECUTE 1 - -/* Types of ACLs. */ -#define SMB_ACL_USER USER -#define SMB_ACL_USER_OBJ USER_OBJ -#define SMB_ACL_GROUP GROUP -#define SMB_ACL_GROUP_OBJ GROUP_OBJ -#define SMB_ACL_OTHER OTHER_OBJ -#define SMB_ACL_MASK CLASS_OBJ - -typedef struct SMB_ACL_T { - int size; - int count; - int next; - struct acl acl[1]; -} *SMB_ACL_T; - -typedef struct acl *SMB_ACL_ENTRY_T; - -#define SMB_ACL_FIRST_ENTRY 0 -#define SMB_ACL_NEXT_ENTRY 1 - -#define SMB_ACL_TYPE_ACCESS 0 -#define SMB_ACL_TYPE_DEFAULT 1 - #elif defined(HAVE_IRIX_ACLS) #define SMB_ACL_TAG_T acl_tag_t -- cgit From 8a1c2e02984edd17e6ab0d5088a80c4dd5f9b933 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 17 Apr 2001 05:41:07 +0000 Subject: AIX ACLs donated by IBM. Merge Andrew's fnmatch fix for WfW. Jeremy. (This used to be commit 1d4438f07745df3d02ed8ab3ef048e20016816b6) --- source3/include/smb_acls.h | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'source3/include/smb_acls.h') 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. */ -- cgit From 809c0258780cc75cd456518571891fc30998d30d Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 18 Jun 2001 20:27:35 +0000 Subject: Added patches to remove Linux specific XFS ACLs. These are now handled by the generic Linux ACL code. rpc_server/srv_samr_nt.c: Don't delete a policy handle before it's created. Jeremy. (This used to be commit db5b82e53a7061c4764d39ceb3df82e706aad42f) --- source3/include/smb_acls.h | 42 ------------------------------------------ 1 file changed, 42 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 613f6db3e3..bea90bf46a 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -124,48 +124,6 @@ typedef struct SMB_ACL_T { #define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS #define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT -/* XFS ACLS are defined here */ -/* donated by John Trostel (jtrostel@connex.com) */ - -#elif defined(HAVE_XFS_ACLS) - -/* This is an nearly an identity mapping (just remove the SMB_). */ -#define SMB_ACL_TAG_T acl_tag_t -#define SMB_ACL_TYPE_T acl_type_t -//#define SMB_ACL_PERMSET_T acl_permset_t -typedef ushort *SMB_ACL_PERMSET_T; -#define SMB_ACL_PERM_T acl_perm_t -#define SMB_ACL_READ ACL_READ -#define SMB_ACL_WRITE ACL_WRITE -#define SMB_ACL_EXECUTE ACL_EXECUTE - -/* Types of ACLs. */ -#define SMB_ACL_USER ACL_USER -#define SMB_ACL_USER_OBJ ACL_USER_OBJ -#define SMB_ACL_GROUP ACL_GROUP -#define SMB_ACL_GROUP_OBJ ACL_GROUP_OBJ -#define SMB_ACL_OTHER ACL_OTHER_OBJ -#define SMB_ACL_MASK ACL_MASK - -#define SMB_ACL_T acl_t - -#define SMB_ACL_ENTRY_T acl_entry_t - -#define SMB_ACL_FIRST_ENTRY ACL_FIRST_ENTRY -#define SMB_ACL_NEXT_ENTRY ACL_NEXT_ENTRY - -#define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS -#define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT - -/* Not yet in Official SGI XFS CVS */ - -#if defined(CONFIG_EXTENDED_PERMISSSION) -#define SMB_ACL_CHOWN ACL_CHOWN -#define SMB_ACL_CHMOD ACL_CHMOD -#define SMB_ACL_DELETE ACL_DELETE -#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 */ -- cgit From 08138a32446404e64c6738c8f3653c727d113c03 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 26 Jul 2001 21:16:39 +0000 Subject: Fix from Michael Davidson for DEC OSF/1 ACLs (ie. Digital UNIX). Jeremy. (This used to be commit 324ba0512ec84bb173c72be3dfd2447e0dc30e26) --- source3/include/smb_acls.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index bea90bf46a..4b282481ff 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -54,6 +54,36 @@ #define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS #define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT +#elif defined(HAVE_DRAFT13_POSIX_ACLS) + +/* This is for DEC OSF/1 */ + +#define SMB_ACL_TAG_T acl_tag_t +#define SMB_ACL_TYPE_T acl_type_t +#define SMB_ACL_PERMSET_T acl_permset_t +#define SMB_ACL_PERM_T acl_perm_t +#define SMB_ACL_READ ACL_READ +#define SMB_ACL_WRITE ACL_WRITE +#define SMB_ACL_EXECUTE ACL_EXECUTE + +/* Types of ACLs. */ +#define SMB_ACL_USER ACL_USER +#define SMB_ACL_USER_OBJ ACL_USER_OBJ +#define SMB_ACL_GROUP ACL_GROUP +#define SMB_ACL_GROUP_OBJ ACL_GROUP_OBJ +#define SMB_ACL_OTHER ACL_OTHER +#define SMB_ACL_MASK ACL_MASK + +#define SMB_ACL_T acl_t + +#define SMB_ACL_ENTRY_T acl_entry_t + +#define SMB_ACL_FIRST_ENTRY 0 +#define SMB_ACL_NEXT_ENTRY 1 + +#define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS +#define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT + #elif defined(HAVE_UNIXWARE_ACLS) || defined(HAVE_SOLARIS_ACLS) /* * Donated by Michael Davidson for UnixWare / OpenUNIX. -- cgit From 16afd6d2bcb1aa2241919f0c7a6cc953cba8b2e6 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 10 Aug 2001 20:48:25 +0000 Subject: Added Mike Davidsons Tru64 ACL patch. Jeremy. (This used to be commit 8c5e5f8c84cab4273ca28d6b5f543dd5d5b464fb) --- source3/include/smb_acls.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 4b282481ff..37aa7cb65c 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -54,9 +54,9 @@ #define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS #define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT -#elif defined(HAVE_DRAFT13_POSIX_ACLS) +#elif defined(HAVE_TRU64_ACLS) -/* This is for DEC OSF/1 */ +/* This is for DEC/Compaq Tru64 UNIX */ #define SMB_ACL_TAG_T acl_tag_t #define SMB_ACL_TYPE_T acl_type_t -- cgit From ce1b141ec0ae3004f9ef94bbfd26ecf4510d6b4a Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Sat, 15 Dec 2001 02:40:16 +0000 Subject: Added HPUX ACL code. Jeremy. (This used to be commit 6d03184f8c039ad81de47b5f3bde7dac5b2815ad) --- source3/include/smb_acls.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 37aa7cb65c..53adf39dbc 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -122,6 +122,47 @@ typedef struct acl *SMB_ACL_ENTRY_T; #define SMB_ACL_TYPE_ACCESS 0 #define SMB_ACL_TYPE_DEFAULT 1 +#elif defined(HAVE_HPUX_ACLS) + +/* + * Based on the Solaris & UnixWare code. + */ + +#undef GROUP +#include + +/* SVR4.2 ES/MP ACLs */ +typedef int SMB_ACL_TAG_T; +typedef int SMB_ACL_TYPE_T; +typedef ushort *SMB_ACL_PERMSET_T; +typedef ushort SMB_ACL_PERM_T; +#define SMB_ACL_READ 4 +#define SMB_ACL_WRITE 2 +#define SMB_ACL_EXECUTE 1 + +/* Types of ACLs. */ +#define SMB_ACL_USER USER +#define SMB_ACL_USER_OBJ USER_OBJ +#define SMB_ACL_GROUP GROUP +#define SMB_ACL_GROUP_OBJ GROUP_OBJ +#define SMB_ACL_OTHER OTHER_OBJ +#define SMB_ACL_MASK CLASS_OBJ + +typedef struct SMB_ACL_T { + int size; + int count; + int next; + struct acl acl[1]; +} *SMB_ACL_T; + +typedef struct acl *SMB_ACL_ENTRY_T; + +#define SMB_ACL_FIRST_ENTRY 0 +#define SMB_ACL_NEXT_ENTRY 1 + +#define SMB_ACL_TYPE_ACCESS 0 +#define SMB_ACL_TYPE_DEFAULT 1 + #elif defined(HAVE_IRIX_ACLS) #define SMB_ACL_TAG_T acl_tag_t -- cgit From cd68afe31256ad60748b34f7318a180cfc2127cc Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Wed, 30 Jan 2002 06:08:46 +0000 Subject: Removed version number from file header. Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa) --- source3/include/smb_acls.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 53adf39dbc..3ed670d38b 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -1,6 +1,5 @@ /* - Unix SMB/Netbios implementation. - Version 2.2.x + Unix SMB/CIFS implementation. Portable SMB ACL interface Copyright (C) Jeremy Allison 2000 -- cgit From a834a73e341059be154426390304a42e4a011f72 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Wed, 25 Sep 2002 15:19:00 +0000 Subject: sync'ing up for 3.0alpha20 release (This used to be commit 65e7b5273bb58802bf0c389b77f7fcae0a1f6139) --- source3/include/smb_acls.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 3ed670d38b..e7edb62bde 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -20,9 +20,6 @@ #ifndef _SMB_ACLS_H #define _SMB_ACLS_H - -#include "includes.h" - #if defined(HAVE_POSIX_ACLS) /* This is an identity mapping (just remove the SMB_). */ -- cgit From 3fb80f1926e1770f650bca1485c21cf5ee6b9c4f Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Mon, 20 Oct 2003 16:49:45 +0000 Subject: more 2.2.x compatibility fixes - allow user looksup in the kerb5 sesssetup to fall back to 'user' instaed of failing is REA.LM\user doesn't exist. also fix include line in smb_acls.h as requested by metze (This used to be commit 62ed2598b3441b3c198872df8eb55e594332807b) --- source3/include/smb_acls.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index e7edb62bde..2bde6caeda 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -195,7 +195,7 @@ typedef struct SMB_ACL_T { /* Donated by Medha Date, mdate@austin.ibm.com, for IBM */ -#include "/usr/include/acl.h" +#include typedef uint *SMB_ACL_PERMSET_T; -- cgit From e28cfbfac88255a0cb002b7841d30b89325ee973 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 27 Jun 2005 16:54:31 +0000 Subject: r7946: Minor C++ compatibility fix. Jeremy. (This used to be commit 7eb7f8325762ca570d37cc91f40b46bf17a867ba) --- source3/include/smb_acls.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 2bde6caeda..ec1316e466 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -257,11 +257,11 @@ struct new_acl_entry{ #define SMB_ACL_OTHER 4 #define SMB_ACL_MASK 5 -typedef struct SMB_ACL_T { +typedef struct SMB_ACL_T_ { int dummy; } *SMB_ACL_T; -typedef struct SMB_ACL_ENTRY_T { +typedef struct SMB_ACL_ENTRY_T_ { int dummy; } *SMB_ACL_ENTRY_T; -- cgit From ba72b0242e29e7cc97f02af27290806a07305350 Mon Sep 17 00:00:00 2001 From: Jim McDonough Date: Fri, 21 Jul 2006 15:51:34 +0000 Subject: r17179: Merge the vl-posixacls tmp branch into mainline. It modularizes our interface into the special posix API used on the system. Without this patch the specific API flavor is determined at compile time, something which severely limits usability on systems with more than one file system. Our first targets are AIX with its JFS and JFS2 APIs, at a later stage also GPFS. But it's certainly not limited to IBM stuff, this abstraction is also necessary for anything that copes with NFSv4 ACLs. For this we will check in handling very soon. Major contributions can be found in the copyright notices as well as the checkin log of the vl-posixacls branch. The final merge to 3_0 post-3.0.23 was done by Peter Somogyi (This used to be commit ca0c73f281a2a65a988094a46bb3e46a94011a53) --- source3/include/smb_acls.h | 250 ++++----------------------------------------- 1 file changed, 20 insertions(+), 230 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index ec1316e466..01ab268a05 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -20,250 +20,41 @@ #ifndef _SMB_ACLS_H #define _SMB_ACLS_H -#if defined(HAVE_POSIX_ACLS) -/* This is an identity mapping (just remove the SMB_). */ - -#define SMB_ACL_TAG_T acl_tag_t -#define SMB_ACL_TYPE_T acl_type_t -#define SMB_ACL_PERMSET_T acl_permset_t -#define SMB_ACL_PERM_T acl_perm_t -#define SMB_ACL_READ ACL_READ -#define SMB_ACL_WRITE ACL_WRITE -#define SMB_ACL_EXECUTE ACL_EXECUTE - -/* Types of ACLs. */ -#define SMB_ACL_USER ACL_USER -#define SMB_ACL_USER_OBJ ACL_USER_OBJ -#define SMB_ACL_GROUP ACL_GROUP -#define SMB_ACL_GROUP_OBJ ACL_GROUP_OBJ -#define SMB_ACL_OTHER ACL_OTHER -#define SMB_ACL_MASK ACL_MASK - -#define SMB_ACL_T acl_t - -#define SMB_ACL_ENTRY_T acl_entry_t - -#define SMB_ACL_FIRST_ENTRY ACL_FIRST_ENTRY -#define SMB_ACL_NEXT_ENTRY ACL_NEXT_ENTRY - -#define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS -#define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT - -#elif defined(HAVE_TRU64_ACLS) - -/* This is for DEC/Compaq Tru64 UNIX */ - -#define SMB_ACL_TAG_T acl_tag_t -#define SMB_ACL_TYPE_T acl_type_t -#define SMB_ACL_PERMSET_T acl_permset_t -#define SMB_ACL_PERM_T acl_perm_t -#define SMB_ACL_READ ACL_READ -#define SMB_ACL_WRITE ACL_WRITE -#define SMB_ACL_EXECUTE ACL_EXECUTE - -/* Types of ACLs. */ -#define SMB_ACL_USER ACL_USER -#define SMB_ACL_USER_OBJ ACL_USER_OBJ -#define SMB_ACL_GROUP ACL_GROUP -#define SMB_ACL_GROUP_OBJ ACL_GROUP_OBJ -#define SMB_ACL_OTHER ACL_OTHER -#define SMB_ACL_MASK ACL_MASK - -#define SMB_ACL_T acl_t - -#define SMB_ACL_ENTRY_T acl_entry_t - -#define SMB_ACL_FIRST_ENTRY 0 -#define SMB_ACL_NEXT_ENTRY 1 - -#define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS -#define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT - -#elif defined(HAVE_UNIXWARE_ACLS) || defined(HAVE_SOLARIS_ACLS) -/* - * Donated by Michael Davidson for UnixWare / OpenUNIX. - * Modified by Toomas Soome for Solaris. - */ - -/* SVR4.2 ES/MP ACLs */ -typedef int SMB_ACL_TAG_T; typedef int SMB_ACL_TYPE_T; -typedef ushort *SMB_ACL_PERMSET_T; -typedef ushort SMB_ACL_PERM_T; +typedef mode_t *SMB_ACL_PERMSET_T; +typedef mode_t SMB_ACL_PERM_T; #define SMB_ACL_READ 4 #define SMB_ACL_WRITE 2 #define SMB_ACL_EXECUTE 1 /* Types of ACLs. */ -#define SMB_ACL_USER USER -#define SMB_ACL_USER_OBJ USER_OBJ -#define SMB_ACL_GROUP GROUP -#define SMB_ACL_GROUP_OBJ GROUP_OBJ -#define SMB_ACL_OTHER OTHER_OBJ -#define SMB_ACL_MASK CLASS_OBJ - -typedef struct SMB_ACL_T { - int size; - int count; - int next; - struct acl acl[1]; -} *SMB_ACL_T; - -typedef struct acl *SMB_ACL_ENTRY_T; - -#define SMB_ACL_FIRST_ENTRY 0 -#define SMB_ACL_NEXT_ENTRY 1 - -#define SMB_ACL_TYPE_ACCESS 0 -#define SMB_ACL_TYPE_DEFAULT 1 - -#elif defined(HAVE_HPUX_ACLS) - -/* - * Based on the Solaris & UnixWare code. - */ - -#undef GROUP -#include +enum smb_acl_tag_t { + SMB_ACL_USER=1, + SMB_ACL_USER_OBJ, + SMB_ACL_GROUP, + SMB_ACL_GROUP_OBJ, + SMB_ACL_OTHER, + SMB_ACL_MASK +}; -/* SVR4.2 ES/MP ACLs */ -typedef int SMB_ACL_TAG_T; -typedef int SMB_ACL_TYPE_T; -typedef ushort *SMB_ACL_PERMSET_T; -typedef ushort SMB_ACL_PERM_T; -#define SMB_ACL_READ 4 -#define SMB_ACL_WRITE 2 -#define SMB_ACL_EXECUTE 1 +typedef enum smb_acl_tag_t SMB_ACL_TAG_T; -/* Types of ACLs. */ -#define SMB_ACL_USER USER -#define SMB_ACL_USER_OBJ USER_OBJ -#define SMB_ACL_GROUP GROUP -#define SMB_ACL_GROUP_OBJ GROUP_OBJ -#define SMB_ACL_OTHER OTHER_OBJ -#define SMB_ACL_MASK CLASS_OBJ +struct smb_acl_entry { + enum smb_acl_tag_t a_type; + SMB_ACL_PERM_T a_perm; + uid_t uid; + gid_t gid; +}; -typedef struct SMB_ACL_T { +typedef struct smb_acl_t { int size; int count; int next; - struct acl acl[1]; -} *SMB_ACL_T; - -typedef struct acl *SMB_ACL_ENTRY_T; - -#define SMB_ACL_FIRST_ENTRY 0 -#define SMB_ACL_NEXT_ENTRY 1 - -#define SMB_ACL_TYPE_ACCESS 0 -#define SMB_ACL_TYPE_DEFAULT 1 - -#elif defined(HAVE_IRIX_ACLS) - -#define SMB_ACL_TAG_T acl_tag_t -#define SMB_ACL_TYPE_T acl_type_t -#define SMB_ACL_PERMSET_T acl_permset_t -#define SMB_ACL_PERM_T acl_perm_t -#define SMB_ACL_READ ACL_READ -#define SMB_ACL_WRITE ACL_WRITE -#define SMB_ACL_EXECUTE ACL_EXECUTE - -/* Types of ACLs. */ -#define SMB_ACL_USER ACL_USER -#define SMB_ACL_USER_OBJ ACL_USER_OBJ -#define SMB_ACL_GROUP ACL_GROUP -#define SMB_ACL_GROUP_OBJ ACL_GROUP_OBJ -#define SMB_ACL_OTHER ACL_OTHER_OBJ -#define SMB_ACL_MASK ACL_MASK - -typedef struct SMB_ACL_T { - int next; - BOOL freeaclp; - struct acl *aclp; -} *SMB_ACL_T; - -#define SMB_ACL_ENTRY_T acl_entry_t - -#define SMB_ACL_FIRST_ENTRY 0 -#define SMB_ACL_NEXT_ENTRY 1 - -#define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS -#define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT - -#elif defined(HAVE_AIX_ACLS) - -/* Donated by Medha Date, mdate@austin.ibm.com, for IBM */ - -#include - -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. */ -#define SMB_ACL_TAG_T int -#define SMB_ACL_TYPE_T int -#define SMB_ACL_PERMSET_T mode_t -#define SMB_ACL_PERM_T mode_t -#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 0 -#define SMB_ACL_USER_OBJ 1 -#define SMB_ACL_GROUP 2 -#define SMB_ACL_GROUP_OBJ 3 -#define SMB_ACL_OTHER 4 -#define SMB_ACL_MASK 5 - -typedef struct SMB_ACL_T_ { - int dummy; + struct smb_acl_entry acl[1]; } *SMB_ACL_T; -typedef struct SMB_ACL_ENTRY_T_ { - int dummy; -} *SMB_ACL_ENTRY_T; +typedef struct smb_acl_entry *SMB_ACL_ENTRY_T; #define SMB_ACL_FIRST_ENTRY 0 #define SMB_ACL_NEXT_ENTRY 1 @@ -271,5 +62,4 @@ typedef struct SMB_ACL_ENTRY_T_ { #define SMB_ACL_TYPE_ACCESS 0 #define SMB_ACL_TYPE_DEFAULT 1 -#endif /* No ACLs. */ #endif /* _SMB_ACLS_H */ -- cgit From 25a685b71ad4e6584b41641fcbee1a972714a27a Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 24 Aug 2006 19:56:20 +0000 Subject: r17804: Fix a enum/int mixup found by the IRIX compiler. Volker (This used to be commit 3a1cf623765cd8b6615ad317d25cebc379c762a2) --- source3/include/smb_acls.h | 1 + 1 file changed, 1 insertion(+) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 01ab268a05..0d2cbdde52 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -30,6 +30,7 @@ typedef mode_t SMB_ACL_PERM_T; /* Types of ACLs. */ enum smb_acl_tag_t { + SMB_ACL_TAG_INVALID=0, SMB_ACL_USER=1, SMB_ACL_USER_OBJ, SMB_ACL_GROUP, -- cgit From d824b98f80ba186030cbb70b3a1e5daf80469ecd Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 9 Jul 2007 19:25:36 +0000 Subject: r23779: Change from v2 or later to v3 or later. Jeremy. (This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3) --- source3/include/smb_acls.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 0d2cbdde52..2e8ee2630f 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -5,7 +5,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, -- cgit From 5e54558c6dea67b56bbfaba5698f3a434d3dffb6 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 10 Jul 2007 00:52:41 +0000 Subject: r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text (This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07) --- source3/include/smb_acls.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source3/include/smb_acls.h') diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h index 2e8ee2630f..3d9cfbf5d2 100644 --- a/source3/include/smb_acls.h +++ b/source3/include/smb_acls.h @@ -14,8 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with this program. If not, see . */ #ifndef _SMB_ACLS_H -- cgit