diff options
-rw-r--r-- | source4/librpc/idl/netlogon.idl | 10 | ||||
-rw-r--r-- | source4/torture/rpc/netlogon.c | 15 |
2 files changed, 19 insertions, 6 deletions
diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl index 87ddd4704c..5ceab4afaf 100644 --- a/source4/librpc/idl/netlogon.idl +++ b/source4/librpc/idl/netlogon.idl @@ -767,15 +767,15 @@ interface netlogon [in,unique] [string,charset(UTF16)] uint16 *logon_server, [in] [string,charset(UTF16)] uint16 computername[], [in] netr_Authenticator credential, - [in,out] netr_Authenticator return_authenticator, + [in,out,ref] netr_Authenticator *return_authenticator, [in] netr_UAS_INFO_0 uas, [in] uint32 count, [in] uint32 level, [in] uint32 buffersize, - [out,subcontext(4)] netr_AccountBuffer buffer, - [out] uint32 count_returned, - [out] uint32 total_entries, - [out] netr_UAS_INFO_0 recordid + [out,ref,subcontext(4)] netr_AccountBuffer *buffer, + [out,ref] uint32 *count_returned, + [out,ref] uint32 *total_entries, + [out,ref] netr_UAS_INFO_0 *recordid ); diff --git a/source4/torture/rpc/netlogon.c b/source4/torture/rpc/netlogon.c index 6580761aec..5eeae67a04 100644 --- a/source4/torture/rpc/netlogon.c +++ b/source4/torture/rpc/netlogon.c @@ -816,18 +816,31 @@ static bool test_AccountDeltas(struct torture_context *tctx, struct netr_AccountDeltas r; struct creds_CredentialState *creds; + struct netr_AccountBuffer buffer; + uint32_t count_returned = 0; + uint32_t total_entries = 0; + struct netr_UAS_INFO_0 recordid; + struct netr_Authenticator return_authenticator; + if (!test_SetupCredentials(p, tctx, machine_credentials, &creds)) { return false; } + ZERO_STRUCT(return_authenticator); + r.in.logon_server = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p)); r.in.computername = TEST_MACHINE_NAME; - ZERO_STRUCT(r.in.return_authenticator); + r.in.return_authenticator = &return_authenticator; creds_client_authenticator(creds, &r.in.credential); ZERO_STRUCT(r.in.uas); r.in.count=10; r.in.level=0; r.in.buffersize=100; + r.out.buffer = &buffer; + r.out.count_returned = &count_returned; + r.out.total_entries = &total_entries; + r.out.recordid = &recordid; + r.out.return_authenticator = &return_authenticator; /* w2k3 returns "NOT IMPLEMENTED" for this call */ status = dcerpc_netr_AccountDeltas(p, tctx, &r); |