summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/librpc/idl/netlogon.idl12
-rw-r--r--source4/torture/rpc/netlogon.c20
2 files changed, 24 insertions, 8 deletions
diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl
index 5ceab4afaf..3418f08b00 100644
--- a/source4/librpc/idl/netlogon.idl
+++ b/source4/librpc/idl/netlogon.idl
@@ -786,15 +786,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] uint32 reference,
[in] uint32 level,
[in] uint32 buffersize,
- [out,subcontext(4)] netr_AccountBuffer buffer,
- [out] uint32 count_returned,
- [out] uint32 total_entries,
- [out] uint32 next_reference,
- [in,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] uint32 *next_reference,
+ [in,out,ref] netr_UAS_INFO_0 *recordid
);
diff --git a/source4/torture/rpc/netlogon.c b/source4/torture/rpc/netlogon.c
index 5eeae67a04..2e9800fede 100644
--- a/source4/torture/rpc/netlogon.c
+++ b/source4/torture/rpc/netlogon.c
@@ -859,18 +859,34 @@ static bool test_AccountSync(struct torture_context *tctx, struct dcerpc_pipe *p
struct netr_AccountSync r;
struct creds_CredentialState *creds;
+ struct netr_AccountBuffer buffer;
+ uint32_t count_returned = 0;
+ uint32_t total_entries = 0;
+ uint32_t next_reference = 0;
+ struct netr_UAS_INFO_0 recordid;
+ struct netr_Authenticator return_authenticator;
+
+ ZERO_STRUCT(recordid);
+ ZERO_STRUCT(return_authenticator);
+
if (!test_SetupCredentials(p, tctx, machine_credentials, &creds)) {
return false;
}
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.recordid);
+ r.in.recordid = &recordid;
r.in.reference=0;
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.next_reference = &next_reference;
+ r.out.recordid = &recordid;
+ r.out.return_authenticator = &return_authenticator;
/* w2k3 returns "NOT IMPLEMENTED" for this call */
status = dcerpc_netr_AccountSync(p, tctx, &r);