mirror of
https://github.com/samba-team/samba.git
synced 2025-01-18 06:04:06 +03:00
s4:librpc/rpc: make use of netlogon_creds_client_verify()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15425 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
This commit is contained in:
parent
1a5984ac63
commit
132629ee3a
@ -224,10 +224,17 @@ static void continue_srv_auth2(struct tevent_req *subreq)
|
||||
{
|
||||
struct composite_context *c;
|
||||
struct schannel_key_state *s;
|
||||
enum dcerpc_AuthType auth_type;
|
||||
enum dcerpc_AuthLevel auth_level;
|
||||
NTSTATUS status;
|
||||
|
||||
c = tevent_req_callback_data(subreq, struct composite_context);
|
||||
s = talloc_get_type(c->private_data, struct schannel_key_state);
|
||||
|
||||
dcerpc_binding_handle_auth_info(s->pipe2->binding_handle,
|
||||
&auth_type,
|
||||
&auth_level);
|
||||
|
||||
/* receive rpc request result - auth2 credentials */
|
||||
c->status = dcerpc_netr_ServerAuthenticate2_r_recv(subreq, s);
|
||||
TALLOC_FREE(subreq);
|
||||
@ -330,8 +337,12 @@ static void continue_srv_auth2(struct tevent_req *subreq)
|
||||
}
|
||||
|
||||
/* verify credentials */
|
||||
if (!netlogon_creds_client_check(s->creds, s->a.out.return_credentials)) {
|
||||
composite_error(c, NT_STATUS_UNSUCCESSFUL);
|
||||
status = netlogon_creds_client_verify(s->creds,
|
||||
s->a.out.return_credentials,
|
||||
auth_type,
|
||||
auth_level);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
composite_error(c, status);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -604,11 +615,17 @@ static void continue_get_negotiated_capabilities(struct tevent_req *subreq)
|
||||
{
|
||||
struct composite_context *c;
|
||||
struct auth_schannel_state *s;
|
||||
enum dcerpc_AuthType auth_type;
|
||||
enum dcerpc_AuthLevel auth_level;
|
||||
NTSTATUS status;
|
||||
|
||||
c = tevent_req_callback_data(subreq, struct composite_context);
|
||||
s = talloc_get_type(c->private_data, struct auth_schannel_state);
|
||||
|
||||
dcerpc_binding_handle_auth_info(s->pipe->binding_handle,
|
||||
&auth_type,
|
||||
&auth_level);
|
||||
|
||||
/* receive rpc request result */
|
||||
c->status = dcerpc_netr_LogonGetCapabilities_r_recv(subreq, s);
|
||||
TALLOC_FREE(subreq);
|
||||
@ -644,9 +661,12 @@ static void continue_get_negotiated_capabilities(struct tevent_req *subreq)
|
||||
}
|
||||
|
||||
/* verify credentials */
|
||||
if (!netlogon_creds_client_check(&s->save_creds_state,
|
||||
&s->c.out.return_authenticator->cred)) {
|
||||
composite_error(c, NT_STATUS_UNSUCCESSFUL);
|
||||
status = netlogon_creds_client_verify(&s->save_creds_state,
|
||||
&s->c.out.return_authenticator->cred,
|
||||
auth_type,
|
||||
auth_level);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
composite_error(c, status);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -707,10 +727,17 @@ static void continue_get_client_capabilities(struct tevent_req *subreq)
|
||||
{
|
||||
struct composite_context *c;
|
||||
struct auth_schannel_state *s;
|
||||
enum dcerpc_AuthType auth_type;
|
||||
enum dcerpc_AuthLevel auth_level;
|
||||
NTSTATUS status;
|
||||
|
||||
c = tevent_req_callback_data(subreq, struct composite_context);
|
||||
s = talloc_get_type(c->private_data, struct auth_schannel_state);
|
||||
|
||||
dcerpc_binding_handle_auth_info(s->pipe->binding_handle,
|
||||
&auth_type,
|
||||
&auth_level);
|
||||
|
||||
/* receive rpc request result */
|
||||
c->status = dcerpc_netr_LogonGetCapabilities_r_recv(subreq, s);
|
||||
TALLOC_FREE(subreq);
|
||||
@ -745,9 +772,12 @@ static void continue_get_client_capabilities(struct tevent_req *subreq)
|
||||
}
|
||||
|
||||
/* verify credentials */
|
||||
if (!netlogon_creds_client_check(&s->save_creds_state,
|
||||
&s->c.out.return_authenticator->cred)) {
|
||||
composite_error(c, NT_STATUS_UNSUCCESSFUL);
|
||||
status = netlogon_creds_client_verify(&s->save_creds_state,
|
||||
&s->c.out.return_authenticator->cred,
|
||||
auth_type,
|
||||
auth_level);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
composite_error(c, status);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user