summaryrefslogtreecommitdiff
path: root/libcli
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2019-05-29 14:35:20 +0200
committerAndreas Schneider <asn@cryptomilk.org>2019-06-27 12:54:23 +0000
commit2e6fe27bad609cf6143b41c4062a1acf2d49930f (patch)
tree6a0f6bd7d3c987bd5a289124c2035b8c420f1a17 /libcli
parent00dd1a8bf8b081cb69a8b1c26af5c70e7ff58088 (diff)
downloadsamba-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.c8
-rw-r--r--libcli/auth/netlogon_creds_cli.c20
-rw-r--r--libcli/auth/proto.h6
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);