diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-07-31 15:38:18 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:15:17 -0500 |
commit | e48ed74f4a2fe490d70c444dca3aa9419409579f (patch) | |
tree | 5dd259e04d4c6e1b3ea8f825923320994e57ffc9 /source4/librpc | |
parent | 7a845bcb0141a895d5685afcef1ffe7f93428d0f (diff) | |
download | samba-e48ed74f4a2fe490d70c444dca3aa9419409579f.tar.gz samba-e48ed74f4a2fe490d70c444dca3aa9419409579f.tar.bz2 samba-e48ed74f4a2fe490d70c444dca3aa9419409579f.zip |
r17342: implement a SamLogon via IRPC in samba4's winbind
metze
(This used to be commit c3ce7a0c3708f0c8e784404e86034f7a00685f88)
Diffstat (limited to 'source4/librpc')
-rw-r--r-- | source4/librpc/config.mk | 7 | ||||
-rw-r--r-- | source4/librpc/idl/netlogon.idl | 4 | ||||
-rw-r--r-- | source4/librpc/idl/winbind.idl | 40 |
3 files changed, 49 insertions, 2 deletions
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index 9e920b9d39..353c58644c 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -329,6 +329,13 @@ SO_VERSION = 0 OBJ_FILES = gen_ndr/ndr_winsrepl.o PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT +[LIBRARY::NDR_WINBIND] +VERSION = 0.0.1 +SO_VERSION = 0 +OBJ_FILES = gen_ndr/ndr_winbind.o +PUBLIC_HEADERS = gen_ndr/winbind.h +PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON + librpc/gen_ndr/tables.c: $(IDL_NDR_PARSE_H_FILES) @echo Generating librpc/gen_ndr/tables.c @$(PERL) $(srcdir)/librpc/tables.pl --output=librpc/gen_ndr/tables.c $(IDL_NDR_PARSE_H_FILES) > librpc/gen_ndr/tables.x diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl index 95289b7ea9..533095eea6 100644 --- a/source4/librpc/idl/netlogon.idl +++ b/source4/librpc/idl/netlogon.idl @@ -118,7 +118,7 @@ interface netlogon netr_ChallengeResponse lm; } netr_NetworkInfo; - typedef [switch_type(uint16)] union { + typedef [public,switch_type(uint16)] union { [case(1)] netr_PasswordInfo *password; [case(2)] netr_NetworkInfo *network; [case(3)] netr_PasswordInfo *password; @@ -221,7 +221,7 @@ interface netlogon lsa_String unknown4; } netr_PacInfo; - typedef [switch_type(uint16)] union { + typedef [public,switch_type(uint16)] union { [case(2)] netr_SamInfo2 *sam2; [case(3)] netr_SamInfo3 *sam3; [case(4)] netr_PacInfo *pac; diff --git a/source4/librpc/idl/winbind.idl b/source4/librpc/idl/winbind.idl new file mode 100644 index 0000000000..c3f54e0132 --- /dev/null +++ b/source4/librpc/idl/winbind.idl @@ -0,0 +1,40 @@ +/* + winbind IRPC interface +*/ + +#include "idl_types.h" + +[ + uuid("245f3e6b-3c5d-6e21-3a2d-2a3d645b7221"), + version(1.0), + pointer_default(unique), + pointer_default_top(unique), + depends(netlogon) +] + +interface winbind +{ + declare [switch_type(uint16)] union netr_LogonLevel; + declare [switch_type(uint16)] union netr_Validation; + + /* a call to get runtime informations */ + void winbind_information(/* TODO */); + + /* + * a call to trigger some internal events, + * for use in torture tests... + */ + NTSTATUS winbind_remote_control(/* TODO */); + + /* + * do a netr_LogonSamLogon() against the right DC + */ + NTSTATUS winbind_SamLogon( + [in] uint16 logon_level, + [in] [switch_is(logon_level)] netr_LogonLevel logon, + [in] uint16 validation_level, + [out] [switch_is(validation_level)] netr_Validation validation, + [out] uint8 authoritative, + [in,out] uint32 flags + ); +} |