diff --git a/libcli/auth/credentials.c b/libcli/auth/credentials.c index 7c8d53cf8d4..fb77ede197a 100644 --- a/libcli/auth/credentials.c +++ b/libcli/auth/credentials.c @@ -263,6 +263,7 @@ next comes the client specific functions struct netlogon_creds_CredentialState *netlogon_creds_client_init(TALLOC_CTX *mem_ctx, const char *client_account, const char *client_computer_name, + uint16_t secure_channel_type, const struct netr_Credential *client_challenge, const struct netr_Credential *server_challenge, const struct samr_Password *machine_password, @@ -277,6 +278,7 @@ struct netlogon_creds_CredentialState *netlogon_creds_client_init(TALLOC_CTX *me creds->sequence = time(NULL); creds->negotiate_flags = negotiate_flags; + creds->secure_channel_type = secure_channel_type; creds->computer_name = talloc_strdup(creds, client_computer_name); if (!creds->computer_name) { diff --git a/libcli/auth/proto.h b/libcli/auth/proto.h index 89a732e0525..6bc18d78205 100644 --- a/libcli/auth/proto.h +++ b/libcli/auth/proto.h @@ -26,6 +26,7 @@ next comes the client specific functions struct netlogon_creds_CredentialState *netlogon_creds_client_init(TALLOC_CTX *mem_ctx, const char *client_account, const char *client_computer_name, + uint16_t secure_channel_type, const struct netr_Credential *client_challenge, const struct netr_Credential *server_challenge, const struct samr_Password *machine_password, diff --git a/source3/rpc_client/cli_netlogon.c b/source3/rpc_client/cli_netlogon.c index 66a50a8f2d9..3d6a3e1a0a8 100644 --- a/source3/rpc_client/cli_netlogon.c +++ b/source3/rpc_client/cli_netlogon.c @@ -89,6 +89,7 @@ NTSTATUS rpccli_netlogon_setup_creds(struct rpc_pipe_client *cli, cli->dc = netlogon_creds_client_init(cli, mach_acct, clnt_name, + sec_chan_type, &clnt_chal_send, &srv_chal_recv, &password, diff --git a/source4/librpc/rpc/dcerpc_schannel.c b/source4/librpc/rpc/dcerpc_schannel.c index be1ab240bd7..1480486c320 100644 --- a/source4/librpc/rpc/dcerpc_schannel.c +++ b/source4/librpc/rpc/dcerpc_schannel.c @@ -187,6 +187,7 @@ static void continue_srv_challenge(struct tevent_req *subreq) s->creds = netlogon_creds_client_init(s, s->a.in.account_name, s->a.in.computer_name, + s->a.in.secure_channel_type, &s->credentials1, &s->credentials2, s->mach_pwd, &s->credentials3, s->local_negotiate_flags); diff --git a/source4/torture/ntp/ntp_signd.c b/source4/torture/ntp/ntp_signd.c index 89eb1a0022a..5f097fedd01 100644 --- a/source4/torture/ntp/ntp_signd.c +++ b/source4/torture/ntp/ntp_signd.c @@ -113,6 +113,7 @@ static bool test_ntp_signd(struct torture_context *tctx, creds = netlogon_creds_client_init(tctx, a.in.account_name, a.in.computer_name, + a.in.secure_channel_type, &credentials1, &credentials2, pwhash, &credentials3, negotiate_flags); diff --git a/source4/torture/rpc/lsa.c b/source4/torture/rpc/lsa.c index 107af110886..7385ad4b911 100644 --- a/source4/torture/rpc/lsa.c +++ b/source4/torture/rpc/lsa.c @@ -2715,6 +2715,7 @@ static bool check_pw_with_ServerAuthenticate3(struct dcerpc_pipe *p, creds = netlogon_creds_client_init(tctx, a.in.account_name, a.in.computer_name, + a.in.secure_channel_type, &credentials1, &credentials2, &mach_password, &credentials3, negotiate_flags); diff --git a/source4/torture/rpc/netlogon.c b/source4/torture/rpc/netlogon.c index dadf8bc4f98..c7bdf49a508 100644 --- a/source4/torture/rpc/netlogon.c +++ b/source4/torture/rpc/netlogon.c @@ -173,6 +173,7 @@ bool test_SetupCredentials(struct dcerpc_pipe *p, struct torture_context *tctx, creds = netlogon_creds_client_init(tctx, a.in.account_name, a.in.computer_name, + a.in.secure_channel_type, &credentials1, &credentials2, mach_password, &credentials3, 0); @@ -243,6 +244,7 @@ bool test_SetupCredentials2(struct dcerpc_pipe *p, struct torture_context *tctx, creds = netlogon_creds_client_init(tctx, a.in.account_name, a.in.computer_name, + a.in.secure_channel_type, &credentials1, &credentials2, mach_password, &credentials3, negotiate_flags); @@ -310,6 +312,7 @@ bool test_SetupCredentials3(struct dcerpc_pipe *p, struct torture_context *tctx, creds = netlogon_creds_client_init(tctx, a.in.account_name, a.in.computer_name, + a.in.secure_channel_type, &credentials1, &credentials2, &mach_password, &credentials3, negotiate_flags); diff --git a/source4/torture/rpc/samba3rpc.c b/source4/torture/rpc/samba3rpc.c index 9443d5e8480..432e9d53509 100644 --- a/source4/torture/rpc/samba3rpc.c +++ b/source4/torture/rpc/samba3rpc.c @@ -1015,6 +1015,7 @@ static bool auth2(struct torture_context *tctx, creds_state = netlogon_creds_client_init(mem_ctx, a.in.account_name, a.in.computer_name, + a.in.secure_channel_type, r.in.credentials, r.out.return_credentials, &mach_pw, &netr_cred, negotiate_flags); @@ -2146,6 +2147,7 @@ static bool torture_samba3_rpc_randomauth2(struct torture_context *torture) creds_state = netlogon_creds_client_init(mem_ctx, a.in.account_name, a.in.computer_name, + a.in.secure_channel_type, r.in.credentials, r.out.return_credentials, &mach_pw, &netr_cred, negotiate_flags);