From a9d5b2fdf03a25e7669258de6c83288be3335cef Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 19 Dec 2012 13:53:23 +0100 Subject: libcli/auth: also set secure channel type in netlogon_creds_client_init(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Günther Deschner Reviewed-by: Stefan Metzmacher Reviewed-by: Andreas Schneider --- libcli/auth/credentials.c | 2 ++ libcli/auth/proto.h | 1 + source3/rpc_client/cli_netlogon.c | 1 + source4/librpc/rpc/dcerpc_schannel.c | 1 + source4/torture/ntp/ntp_signd.c | 1 + source4/torture/rpc/lsa.c | 1 + source4/torture/rpc/netlogon.c | 3 +++ source4/torture/rpc/samba3rpc.c | 2 ++ 8 files changed, 12 insertions(+) diff --git a/libcli/auth/credentials.c b/libcli/auth/credentials.c index 7c8d53cf8d..fb77ede197 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 89a732e052..6bc18d7820 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 66a50a8f2d..3d6a3e1a0a 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 be1ab240bd..1480486c32 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 89eb1a0022..5f097fedd0 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 107af11088..7385ad4b91 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 dadf8bc4f9..c7bdf49a50 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 9443d5e848..432e9d5350 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); -- cgit