summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-12-02 00:31:54 +0000
committerAndrew Tridgell <tridge@samba.org>2003-12-02 00:31:54 +0000
commit06ae42483582ee76c3f6848697cf61cc142dd86a (patch)
tree959408cf7ba1e90e05a4e30278e71445ebc5cf32 /source4/librpc
parent8b30b0071cb7668f49b2ea5951d1180bf90371e3 (diff)
downloadsamba-06ae42483582ee76c3f6848697cf61cc142dd86a.tar.gz
samba-06ae42483582ee76c3f6848697cf61cc142dd86a.tar.bz2
samba-06ae42483582ee76c3f6848697cf61cc142dd86a.zip
* 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)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/netlogon.idl25
-rw-r--r--source4/librpc/ndr/libndr.h4
2 files changed, 15 insertions, 14 deletions
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) { \