diff options
author | Andreas Schneider <asn@samba.org> | 2019-05-29 14:35:20 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2019-06-27 12:54:23 +0000 |
commit | 2e6fe27bad609cf6143b41c4062a1acf2d49930f (patch) | |
tree | 6a0f6bd7d3c987bd5a289124c2035b8c420f1a17 /libcli | |
parent | 00dd1a8bf8b081cb69a8b1c26af5c70e7ff58088 (diff) | |
download | samba-2e6fe27bad609cf6143b41c4062a1acf2d49930f.tar.gz |
libcli:auth: Return NTSTATUS for netlogon_creds_decrypt_samlogon_validation()
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'libcli')
-rw-r--r-- | libcli/auth/credentials.c | 8 | ||||
-rw-r--r-- | libcli/auth/netlogon_creds_cli.c | 20 | ||||
-rw-r--r-- | libcli/auth/proto.h | 6 |
3 files changed, 22 insertions, 12 deletions
diff --git a/libcli/auth/credentials.c b/libcli/auth/credentials.c index 545d3c6956c..11aeea28a27 100644 --- a/libcli/auth/credentials.c +++ b/libcli/auth/credentials.c @@ -680,12 +680,14 @@ static void netlogon_creds_crypt_samlogon_validation(struct netlogon_creds_Crede } } -void netlogon_creds_decrypt_samlogon_validation(struct netlogon_creds_CredentialState *creds, - uint16_t validation_level, - union netr_Validation *validation) +NTSTATUS netlogon_creds_decrypt_samlogon_validation(struct netlogon_creds_CredentialState *creds, + uint16_t validation_level, + union netr_Validation *validation) { netlogon_creds_crypt_samlogon_validation(creds, validation_level, validation, false); + + return NT_STATUS_OK; } NTSTATUS netlogon_creds_encrypt_samlogon_validation(struct netlogon_creds_CredentialState *creds, diff --git a/libcli/auth/netlogon_creds_cli.c b/libcli/auth/netlogon_creds_cli.c index dd286a281bf..01831930cef 100644 --- a/libcli/auth/netlogon_creds_cli.c +++ b/libcli/auth/netlogon_creds_cli.c @@ -2531,9 +2531,13 @@ static void netlogon_creds_cli_LogonSamLogon_done(struct tevent_req *subreq) return; } - netlogon_creds_decrypt_samlogon_validation(state->ro_creds, - state->validation_level, - state->validation); + status = netlogon_creds_decrypt_samlogon_validation(state->ro_creds, + state->validation_level, + state->validation); + if (tevent_req_nterror(req, status)) { + netlogon_creds_cli_LogonSamLogon_cleanup(req, status); + return; + } tevent_req_done(req); return; @@ -2601,9 +2605,13 @@ static void netlogon_creds_cli_LogonSamLogon_done(struct tevent_req *subreq) return; } - netlogon_creds_decrypt_samlogon_validation(&state->tmp_creds, - state->validation_level, - state->validation); + status = netlogon_creds_decrypt_samlogon_validation(&state->tmp_creds, + state->validation_level, + state->validation); + if (tevent_req_nterror(req, result)) { + netlogon_creds_cli_LogonSamLogon_cleanup(req, result); + return; + } tevent_req_done(req); } diff --git a/libcli/auth/proto.h b/libcli/auth/proto.h index 00033b9ce55..6bf83d60e81 100644 --- a/libcli/auth/proto.h +++ b/libcli/auth/proto.h @@ -59,9 +59,9 @@ struct netlogon_creds_CredentialState *netlogon_creds_server_init(TALLOC_CTX *me NTSTATUS netlogon_creds_server_step_check(struct netlogon_creds_CredentialState *creds, const struct netr_Authenticator *received_authenticator, struct netr_Authenticator *return_authenticator) ; -void netlogon_creds_decrypt_samlogon_validation(struct netlogon_creds_CredentialState *creds, - uint16_t validation_level, - union netr_Validation *validation); +NTSTATUS netlogon_creds_decrypt_samlogon_validation(struct netlogon_creds_CredentialState *creds, + uint16_t validation_level, + union netr_Validation *validation); NTSTATUS netlogon_creds_encrypt_samlogon_validation(struct netlogon_creds_CredentialState *creds, uint16_t validation_level, union netr_Validation *validation); |