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 +++++ source4/librpc/idl/nfs4acl.idl | 42 ---------------------------------------- source4/librpc/idl/wscript_build | 2 +- source4/librpc/wscript_build | 7 ------- 6 files changed, 49 insertions(+), 51 deletions(-) create mode 100644 librpc/idl/nfs4acl.idl delete mode 100644 source4/librpc/idl/nfs4acl.idl 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' diff --git a/source4/librpc/idl/nfs4acl.idl b/source4/librpc/idl/nfs4acl.idl deleted file mode 100644 index 3d4379ad5e..0000000000 --- a/source4/librpc/idl/nfs4acl.idl +++ /dev/null @@ -1,42 +0,0 @@ -#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/source4/librpc/idl/wscript_build b/source4/librpc/idl/wscript_build index 59b16766ea..7e54e8dfa4 100644 --- a/source4/librpc/idl/wscript_build +++ b/source4/librpc/idl/wscript_build @@ -5,7 +5,7 @@ import os topinclude=os.path.join(bld.srcnode.abspath(), 'librpc/idl') bld.SAMBA_PIDL_LIST('PIDL', - source='''irpc.idl nfs4acl.idl ntp_signd.idl + source='''irpc.idl ntp_signd.idl opendb.idl sasl_helpers.idl winbind.idl winsif.idl winsrepl.idl winstation.idl''', options="--includedir=%s --header --ndr-parser --client --python --server" % topinclude, diff --git a/source4/librpc/wscript_build b/source4/librpc/wscript_build index c53acef44d..f49c30dbe3 100755 --- a/source4/librpc/wscript_build +++ b/source4/librpc/wscript_build @@ -24,13 +24,6 @@ bld.SAMBA_SUBSYSTEM('NDR_SASL_HELPERS', -bld.SAMBA_SUBSYSTEM('NDR_NFS4ACL', - source='gen_ndr/ndr_nfs4acl.c', - public_deps='ndr NDR_SECURITY' - ) - - - bld.SAMBA_SUBSYSTEM('NDR_WINSIF', source='gen_ndr/ndr_winsif.c', public_deps='ndr' -- cgit