diff options
author | Andrew Tridgell <tridge@samba.org> | 2006-10-21 09:46:12 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:21:32 -0500 |
commit | 515c92a759ad30059f65d3e65dc9f642dc03852a (patch) | |
tree | db338cf843e1beb2b7899103041f3dc2e52533b8 /source4/librpc | |
parent | 9044f4aa905882485bf2b5c72d9836bdaa14c37a (diff) | |
download | samba-515c92a759ad30059f65d3e65dc9f642dc03852a.tar.gz samba-515c92a759ad30059f65d3e65dc9f642dc03852a.tar.bz2 samba-515c92a759ad30059f65d3e65dc9f642dc03852a.zip |
r19441: work in progress support for NFS4 ACLs in Samba4 on Linux. Still work
to do, particularly with getting the detailed bit mappings right, and
on sid mapping. Does not pass RAW-ACLS yet
(This used to be commit b92553481b534d0ef5277dbfe8c0d64a03f819eb)
Diffstat (limited to 'source4/librpc')
-rw-r--r-- | source4/librpc/config.mk | 9 | ||||
-rw-r--r-- | source4/librpc/idl/nfs4acl.idl | 41 |
2 files changed, 49 insertions, 1 deletions
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index b1c45e47da..cf58e40c26 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -144,6 +144,13 @@ OBJ_FILES = gen_ndr/ndr_samr.o PUBLIC_HEADERS = gen_ndr/samr.h PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_LSA NDR_SECURITY +[LIBRARY::NDR_NFS4ACL] +VERSION = 0.0.1 +SO_VERSION = 0 +OBJ_FILES = gen_ndr/ndr_nfs4acl.o +PUBLIC_HEADERS = gen_ndr/nfs4acl.h +PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_SECURITY + [LIBRARY::NDR_SPOOLSS] VERSION = 0.0.1 SO_VERSION = 0 @@ -370,7 +377,7 @@ PUBLIC_DEPENDENCIES = \ NDR_NETLOGON NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL \ NDR_ROT NDR_DRSBLOBS NDR_SVCCTL NDR_NBT NDR_WINSREPL NDR_SECURITY \ NDR_INITSHUTDOWN NDR_DNSSERVER NDR_WINSTATION NDR_IRPC NDR_DCOM NDR_OPENDB \ - NDR_SASL_HELPERS NDR_NOTIFY NDR_WINBIND NDR_FRSRPC NDR_FRSAPI + NDR_SASL_HELPERS NDR_NOTIFY NDR_WINBIND NDR_FRSRPC NDR_FRSAPI NDR_NFS4ACL [LIBRARY::RPC_NDR_ROT] VERSION = 0.0.1 diff --git a/source4/librpc/idl/nfs4acl.idl b/source4/librpc/idl/nfs4acl.idl new file mode 100644 index 0000000000..dc136150f4 --- /dev/null +++ b/source4/librpc/idl/nfs4acl.idl @@ -0,0 +1,41 @@ +#include "idl_types.h" + +/* + NFS4 ACL format on disk + see http://www.suse.de/~agruen/nfs4acl/ +*/ + +[ uuid("18763978-8625-abc3-54ca-9892bacdf321"), + version(1.0), + pointer_default(unique), + depends(misc,security) +] +interface nfs4acl +{ + const char *NFS4ACL_XATTR_NAME = "system.nfs4acl"; + + /* these structures use the same bit values and other constants as + in security.idl */ + typedef [flag(NDR_BIG_ENDIAN)] struct { + uint16 e_type; + uint16 e_flags; + uint32 e_mask; + uint32 e_id; + utf8string e_who; + [flag(NDR_ALIGN4)] DATA_BLOB _pad; + } nfs4ace; + + typedef [public,flag(NDR_BIG_ENDIAN)] struct { + uint8 a_version; + uint8 a_flags; + uint16 a_count; + uint32 a_owner_mask; + uint32 a_group_mask; + uint32 a_other_mask; + nfs4ace ace[a_count]; + } nfs4acl; + + NTSTATUS nfs4acl_test( + [in] nfs4acl acl + ); +} |