From d87b81fa303ee297685f4eb5599010901ed68145 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 12 Apr 2013 20:24:44 +1000 Subject: build: Move nfs4acl to the top level This is to create IDL-stored NFSv4 ACLs, just as we use for posix ACLs to permit better testing. Andrew Bartlett Reviewed-by: Jeremy Allison --- librpc/idl/nfs4acl.idl | 42 ++++++++++++++++++++++++++++++++++++++++++ librpc/idl/wscript_build | 2 +- librpc/wscript_build | 5 +++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 librpc/idl/nfs4acl.idl (limited to 'librpc') diff --git a/librpc/idl/nfs4acl.idl b/librpc/idl/nfs4acl.idl new file mode 100644 index 0000000000..3d4379ad5e --- /dev/null +++ b/librpc/idl/nfs4acl.idl @@ -0,0 +1,42 @@ +#include "idl_types.h" + +/* + NFS4 ACL format on disk + see http://www.suse.de/~agruen/nfs4acl/ +*/ + +import "misc.idl", "security.idl"; + +[ uuid("18763978-8625-abc3-54ca-9892bacdf321"), + version(1.0), + pointer_default(unique) +] +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 + ); +} diff --git a/librpc/idl/wscript_build b/librpc/idl/wscript_build index 2dbf1a3f83..854a2e2e96 100644 --- a/librpc/idl/wscript_build +++ b/librpc/idl/wscript_build @@ -32,6 +32,6 @@ bld.SAMBA_PIDL_LIST('PIDL', output_dir='../gen_ndr') bld.SAMBA_PIDL_LIST('PIDL', - 'dnsp.idl', + 'dnsp.idl nfs4acl.idl', options='--header --ndr-parser --client --python', output_dir='../gen_ndr') diff --git a/librpc/wscript_build b/librpc/wscript_build index 8a4c169d5a..cc5d617275 100644 --- a/librpc/wscript_build +++ b/librpc/wscript_build @@ -217,6 +217,11 @@ bld.SAMBA_SUBSYSTEM('NDR_DNSP', public_deps='ndr' ) +bld.SAMBA_SUBSYSTEM('NDR_NFS4ACL', + source='gen_ndr/ndr_nfs4acl.c', + public_deps='ndr NDR_SECURITY' + ) + bld.SAMBA_SUBSYSTEM('NDR_NTPRINTING', source='gen_ndr/ndr_ntprinting.c ndr/ndr_ntprinting.c', public_deps='ndr' -- cgit