diff options
author | Andrew Bartlett <abartlet@samba.org> | 2010-05-24 10:15:04 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-05-24 23:08:56 +1000 |
commit | 974ed9cf2c10ab3384c1070c22f5cd42908c95f1 (patch) | |
tree | ce5725fd1fda68430d6742224920d46cfe7233c2 | |
parent | f6aa0902025dc562748499d60f3257a0f47329c8 (diff) | |
download | samba-974ed9cf2c10ab3384c1070c22f5cd42908c95f1.tar.gz samba-974ed9cf2c10ab3384c1070c22f5cd42908c95f1.tar.bz2 samba-974ed9cf2c10ab3384c1070c22f5cd42908c95f1.zip |
s4:idmap Seperate idmap structures from winbind.idl and match to source3/ idmap
These structures now match those in use in the source3 code. I'm not
sure if this is the better API or not, but it is far, far safer to
remove a pointer than to add one.
Andrew Bartlett
-rw-r--r-- | librpc/idl/idmap.idl | 34 | ||||
-rw-r--r-- | librpc/idl/wscript_build | 2 | ||||
-rw-r--r-- | source4/librpc/idl/winbind.idl | 27 | ||||
-rw-r--r-- | source4/librpc/wscript_build | 7 |
4 files changed, 42 insertions, 28 deletions
diff --git a/librpc/idl/idmap.idl b/librpc/idl/idmap.idl new file mode 100644 index 0000000000..65e4596adf --- /dev/null +++ b/librpc/idl/idmap.idl @@ -0,0 +1,34 @@ +#include "idl_types.h" + +import "security.idl"; + +[ + pointer_default(unique) +] +interface idmap +{ + typedef [public] enum { + ID_TYPE_NOT_SPECIFIED, + ID_TYPE_UID, + ID_TYPE_GID, + ID_TYPE_BOTH + } id_type; + + typedef [public] struct { + uint32 id; + id_type type; + } unixid; + + typedef[public] enum { + ID_UNKNOWN, + ID_MAPPED, + ID_UNMAPPED, + ID_EXPIRED + } id_mapping; + + typedef [public] struct { + dom_sid *sid; + unixid xid; + id_mapping status; + } id_map; +} diff --git a/librpc/idl/wscript_build b/librpc/idl/wscript_build index b8c650197c..c5be1b7447 100644 --- a/librpc/idl/wscript_build +++ b/librpc/idl/wscript_build @@ -20,6 +20,6 @@ bld.SAMBA_PIDL_LIST('PIDL', output_dir='../gen_ndr') bld.SAMBA_PIDL_LIST('PIDL', - 'rap.idl', + 'rap.idl idmap.idl', options='--header --ndr-parser', output_dir='../gen_ndr') diff --git a/source4/librpc/idl/winbind.idl b/source4/librpc/idl/winbind.idl index 73e725bb98..849b8166a7 100644 --- a/source4/librpc/idl/winbind.idl +++ b/source4/librpc/idl/winbind.idl @@ -4,7 +4,7 @@ #include "idl_types.h" -import "netlogon.idl", "lsa.idl", "security.idl"; +import "netlogon.idl", "lsa.idl", "security.idl", "idmap.idl"; [ uuid("245f3e6b-3c5d-6e21-3a2d-2a3d645b7221"), @@ -16,31 +16,6 @@ interface winbind typedef [switch_type(uint16)] union netr_LogonLevel netr_LogonLevel; typedef [switch_type(uint16)] union netr_Validation netr_Validation; - typedef enum { - ID_TYPE_NOT_SPECIFIED, - ID_TYPE_UID, - ID_TYPE_GID, - ID_TYPE_BOTH - } id_type; - - typedef struct { - uint32 id; - id_type type; - } unixid; - - typedef enum { - ID_UNKNOWN, - ID_MAPPED, - ID_UNMAPPED, - ID_EXPIRED - } id_mapping; - - typedef struct { - unixid *unixid; - dom_sid *sid; - id_mapping status; - } id_map; - /* a call to get runtime informations */ void winbind_information(/* TODO */); diff --git a/source4/librpc/wscript_build b/source4/librpc/wscript_build index ab80c09e66..5e5c5f5b04 100644 --- a/source4/librpc/wscript_build +++ b/source4/librpc/wscript_build @@ -319,9 +319,14 @@ bld.SAMBA_SUBSYSTEM('NDR_WINSREPL', ) +bld.SAMBA_SUBSYSTEM('NDR_IDMAP', + source='../../librpc/gen_ndr/ndr_idmap.c', + public_deps='LIBNDR NDR_STANDARD' + ) + bld.SAMBA_SUBSYSTEM('NDR_WINBIND', source='gen_ndr/ndr_winbind.c', - public_deps='LIBNDR NDR_STANDARD' + public_deps='NDR_IDMAP LIBNDR NDR_STANDARD' ) |