diff options
-rw-r--r-- | source4/librpc/idl/netlogon.idl | 11 | ||||
-rw-r--r-- | source4/rpc_server/netlogon/dcerpc_netlogon.c | 2 | ||||
-rw-r--r-- | source4/torture/rpc/netlogon.c | 14 |
3 files changed, 10 insertions, 17 deletions
diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl index cb537d75a3..a50f5b24cd 100644 --- a/source4/librpc/idl/netlogon.idl +++ b/source4/librpc/idl/netlogon.idl @@ -972,9 +972,9 @@ interface netlogon unistr *unknown4; netr_BinaryString blob2; netr_String product; - uint32 unknown5; - unistr *unknown6; - uint32 unknown7[6]; + netr_String unknown5; + netr_String unknown6; + uint32 unknown7[4]; } netr_DomainQuery1; typedef union { @@ -1007,9 +1007,8 @@ interface netlogon NTSTATUS netr_LogonGetDomainInfo( [in] unistr server_name, [in] unistr *computer_name, - [in,out,ref] netr_Authenticator *credential, - [in] uint32 unknown1, - [in] uint32 i1[2], + [in,ref] netr_Authenticator *credential, + [in,out,ref] netr_Authenticator *return_authenticator, [in] uint32 level, [in,switch_is(level)] netr_DomainQuery query, [out,switch_is(level)] netr_DomainInfo info diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c index 665d778ec9..fac0d75ef1 100644 --- a/source4/rpc_server/netlogon/dcerpc_netlogon.c +++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c @@ -938,7 +938,7 @@ static NTSTATUS netr_LogonGetDomainInfo(struct dcesrv_call_state *dce_call, TALL NTSTATUS status; status = netr_creds_server_step_check(pipe_state, - r->in.credential, r->out.credential); + r->in.credential, r->out.return_authenticator); if (!NT_STATUS_IS_OK(status)) { return status; } diff --git a/source4/torture/rpc/netlogon.c b/source4/torture/rpc/netlogon.c index 0d7acd2875..34ce26801f 100644 --- a/source4/torture/rpc/netlogon.c +++ b/source4/torture/rpc/netlogon.c @@ -1094,13 +1094,10 @@ static BOOL test_GetDomainInfo(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx) r.in.server_name = talloc_asprintf(mem_ctx, "\\\\%s", dcerpc_server_name(p)); r.in.computer_name = TEST_MACHINE_NAME; - r.in.unknown1 = 512; r.in.level = 1; r.in.credential = &a; - r.out.credential = &a; - - r.in.i1[0] = 0; - r.in.i1[1] = 0; + r.in.return_authenticator = &a; + r.out.return_authenticator = &a; r.in.query.query1 = &q1; ZERO_STRUCT(q1); @@ -1164,13 +1161,10 @@ static BOOL test_GetDomainInfo_async(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx) ZERO_STRUCT(r); r.in.server_name = talloc_asprintf(mem_ctx, "\\\\%s", dcerpc_server_name(p)); r.in.computer_name = TEST_MACHINE_NAME; - r.in.unknown1 = 512; r.in.level = 1; r.in.credential = &a; - r.out.credential = &a; - - r.in.i1[0] = 0; - r.in.i1[1] = 0; + r.in.return_authenticator = &a; + r.out.return_authenticator = &a; r.in.query.query1 = &q1; ZERO_STRUCT(q1); |