From 06ae42483582ee76c3f6848697cf61cc142dd86a Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 2 Dec 2003 00:31:54 +0000 Subject: * netr_ServerPasswordSet() now works - the test suite changes the machine account password. * neater handling on value() options in IDL. The auto-print code will now display the right value so you don't need to initialise it in your C code (This used to be commit 3dd978b12bb5571fba4e1839c0f7ee60cf729aa2) --- source4/librpc/idl/netlogon.idl | 25 ++++++++++++------------- source4/librpc/ndr/libndr.h | 4 +++- 2 files changed, 15 insertions(+), 14 deletions(-) (limited to 'source4/librpc') diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl index efdbed34be..6dd7ae3fe5 100644 --- a/source4/librpc/idl/netlogon.idl +++ b/source4/librpc/idl/netlogon.idl @@ -91,7 +91,7 @@ interface netlogon } netr_IdentityInfo; typedef [flag(NDR_PAHEX)] struct { - uint8 password[16]; + uint8 data[16]; } netr_Password; typedef struct { @@ -252,19 +252,18 @@ interface netlogon [in,out] netr_Credential credentials ); -#if 0 - typedef struct { - uint8 encrypted_password[16]; - } ENCRYPTED_LM_OWF_PASSWORD; - WERROR netr_ServerPasswordSet( - [in] unistr *server_name, - [in] unistr username, - [in] uint16 secure_challenge_type, - [in] unistr ComputerName, - [in][ref] AUTHENTICATOR credential, - [in][ref] LM_OWF_PASSWORD UasNewPassword, - [out][ref] AUTHENTICATOR return_authenticator + + NTSTATUS netr_ServerPasswordSet( + [in] unistr *server_name, + [in] unistr username, + [in] uint16 secure_challenge_type, + [in] unistr computer_name, + [in] netr_Authenticator credential, + [in] netr_Password new_password, + [out] netr_Authenticator return_authenticator ); + +#if 0 typedef struct { unistr *username; netr_String dummy1; diff --git a/source4/librpc/ndr/libndr.h b/source4/librpc/ndr/libndr.h index cce0b12b73..8e57d0fb73 100644 --- a/source4/librpc/ndr/libndr.h +++ b/source4/librpc/ndr/libndr.h @@ -111,6 +111,7 @@ struct ndr_print { #define LIBNDR_ALIGN_FLAGS (LIBNDR_FLAG_ALIGN2|LIBNDR_FLAG_ALIGN4|LIBNDR_FLAG_ALIGN8) #define LIBNDR_PRINT_ARRAY_HEX (1<<15) +#define LIBNDR_PRINT_SET_VALUES (1<<16) /* useful macro for debugging */ @@ -119,7 +120,7 @@ struct ndr_print { #define NDR_PRINT_FUNCTION_DEBUG(type, flags, p) ndr_print_function_debug((ndr_print_function_t)ndr_print_ ##type, #type, flags, p) #define NDR_PRINT_BOTH_DEBUG(type, p) NDR_PRINT_FUNCTION_DEBUG(type, NDR_BOTH, p) #define NDR_PRINT_OUT_DEBUG(type, p) NDR_PRINT_FUNCTION_DEBUG(type, NDR_OUT, p) -#define NDR_PRINT_IN_DEBUG(type, p) NDR_PRINT_FUNCTION_DEBUG(type, NDR_IN, p) +#define NDR_PRINT_IN_DEBUG(type, p) NDR_PRINT_FUNCTION_DEBUG(type, NDR_IN | NDR_SET_VALUES, p) enum ndr_err_code { @@ -149,6 +150,7 @@ enum ndr_err_code { #define NDR_IN 1 #define NDR_OUT 2 #define NDR_BOTH 3 +#define NDR_SET_VALUES 4 #define NDR_PULL_NEED_BYTES(ndr, n) do { \ if ((n) > ndr->data_size || ndr->offset + (n) > ndr->data_size) { \ -- cgit