}
}
-void netlogon_creds_decrypt_samlogon_logon(struct netlogon_creds_CredentialState *creds,
- enum netr_LogonInfoClass level,
- union netr_LogonLevel *logon)
+NTSTATUS netlogon_creds_decrypt_samlogon_logon(struct netlogon_creds_CredentialState *creds,
+ enum netr_LogonInfoClass level,
+ union netr_LogonLevel *logon)
{
netlogon_creds_crypt_samlogon_logon(creds, level, logon, false);
+
+ return NT_STATUS_OK;
}
NTSTATUS netlogon_creds_encrypt_samlogon_logon(struct netlogon_creds_CredentialState *creds,
NTSTATUS netlogon_creds_encrypt_samlogon_validation(struct netlogon_creds_CredentialState *creds,
uint16_t validation_level,
union netr_Validation *validation);
-void netlogon_creds_decrypt_samlogon_logon(struct netlogon_creds_CredentialState *creds,
- enum netr_LogonInfoClass level,
- union netr_LogonLevel *logon);
+NTSTATUS netlogon_creds_decrypt_samlogon_logon(struct netlogon_creds_CredentialState *creds,
+ enum netr_LogonInfoClass level,
+ union netr_LogonLevel *logon);
NTSTATUS netlogon_creds_encrypt_samlogon_logon(struct netlogon_creds_CredentialState *creds,
enum netr_LogonInfoClass level,
union netr_LogonLevel *logon);
DEBUG(5,("Attempting validation level %d for unmapped username %s.\n",
r->in.validation_level, nt_username));
- status = NT_STATUS_OK;
-
- netlogon_creds_decrypt_samlogon_logon(creds,
- r->in.logon_level,
- logon);
+ status = netlogon_creds_decrypt_samlogon_logon(creds,
+ r->in.logon_level,
+ logon);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
status = make_auth3_context_for_netlogon(talloc_tos(), &auth_context);
if (!NT_STATUS_IS_OK(status)) {
user_info->service_description = "SamLogon";
- netlogon_creds_decrypt_samlogon_logon(creds,
- r->in.logon_level,
- r->in.logon);
+ nt_status = netlogon_creds_decrypt_samlogon_logon(creds,
+ r->in.logon_level,
+ r->in.logon);
+ NT_STATUS_NOT_OK_RETURN(nt_status);
switch (r->in.logon_level) {
case NetlogonInteractiveInformation: