summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/proto.h2
-rw-r--r--source3/rpc_client/cli_pipe.c7
2 files changed, 5 insertions, 4 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index a0354a3920..2b07b25652 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -7053,7 +7053,7 @@ NTSTATUS rpccli_ntlmssp_bind_data(TALLOC_CTX *mem_ctx,
struct cli_pipe_auth_data **presult);
NTSTATUS rpccli_schannel_bind_data(TALLOC_CTX *mem_ctx, const char *domain,
enum pipe_auth_level auth_level,
- const struct dcinfo *pdc,
+ const uint8_t sess_key[16],
struct cli_pipe_auth_data **presult);
NTSTATUS rpccli_kerberos_bind_data(TALLOC_CTX *mem_ctx,
enum pipe_auth_level auth_level,
diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c
index b415a39a51..03deaf60c7 100644
--- a/source3/rpc_client/cli_pipe.c
+++ b/source3/rpc_client/cli_pipe.c
@@ -2383,7 +2383,7 @@ NTSTATUS rpccli_ntlmssp_bind_data(TALLOC_CTX *mem_ctx,
NTSTATUS rpccli_schannel_bind_data(TALLOC_CTX *mem_ctx, const char *domain,
enum pipe_auth_level auth_level,
- const struct dcinfo *pdc,
+ const uint8_t sess_key[16],
struct cli_pipe_auth_data **presult)
{
struct cli_pipe_auth_data *result;
@@ -2408,7 +2408,8 @@ NTSTATUS rpccli_schannel_bind_data(TALLOC_CTX *mem_ctx, const char *domain,
goto fail;
}
- memcpy(result->a_u.schannel_auth->sess_key, pdc->sess_key, 16);
+ memcpy(result->a_u.schannel_auth->sess_key, sess_key,
+ sizeof(result->a_u.schannel_auth->sess_key));
result->a_u.schannel_auth->seq_num = 0;
*presult = result;
@@ -2880,7 +2881,7 @@ struct rpc_pipe_client *cli_rpc_pipe_open_schannel_with_key(struct cli_state *cl
}
*perr = rpccli_schannel_bind_data(result, domain, auth_level,
- pdc, &auth);
+ pdc->sess_key, &auth);
if (!NT_STATUS_IS_OK(*perr)) {
DEBUG(0, ("rpccli_schannel_bind_data returned %s\n",
nt_errstr(*perr)));