libcli:auth: Return NTSTATUS for netlogon_creds_encrypt_samlogon_validation()
authorAndreas Schneider <asn@samba.org>
Wed, 29 May 2019 12:25:57 +0000 (14:25 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Thu, 27 Jun 2019 12:54:23 +0000 (12:54 +0000)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
libcli/auth/credentials.c
libcli/auth/proto.h
source3/rpc_server/netlogon/srv_netlog_nt.c
source4/rpc_server/netlogon/dcerpc_netlogon.c

index 1a8e9ad10f09e6bc794f11a98c22144664bc3ae5..545d3c6956c7bbb47ab17ba66822e28973def358 100644 (file)
@@ -688,12 +688,14 @@ void netlogon_creds_decrypt_samlogon_validation(struct netlogon_creds_Credential
                                                        validation, false);
 }
 
-void netlogon_creds_encrypt_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)
 {
        netlogon_creds_crypt_samlogon_validation(creds, validation_level,
                                                        validation, true);
+
+       return NT_STATUS_OK;
 }
 
 static void netlogon_creds_crypt_samlogon_logon(struct netlogon_creds_CredentialState *creds,
index 47e8b96fb21372db9316c12b05f69faf14093fc8..00033b9ce55cfe902726827fd91266c37e044f1a 100644 (file)
@@ -62,9 +62,9 @@ NTSTATUS netlogon_creds_server_step_check(struct netlogon_creds_CredentialState
 void netlogon_creds_decrypt_samlogon_validation(struct netlogon_creds_CredentialState *creds,
                                                uint16_t validation_level,
                                                union netr_Validation *validation);
-void netlogon_creds_encrypt_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);
 void netlogon_creds_decrypt_samlogon_logon(struct netlogon_creds_CredentialState *creds,
                                           enum netr_LogonInfoClass level,
                                           union netr_LogonLevel *logon);
index 1bc5d62f979d4a3c096c14265b411ee5a0f1b7e1..95639eb7d3cb015de8e6077e48e3c0b71af42a4b 100644 (file)
@@ -1752,10 +1752,11 @@ static NTSTATUS _netr_LogonSamLogon_base(struct pipes_struct *p,
                return status;
        }
 
-       netlogon_creds_encrypt_samlogon_validation(creds,
-                                                  r->in.validation_level,
-                                                  r->out.validation);
-       return NT_STATUS_OK;
+       status = netlogon_creds_encrypt_samlogon_validation(creds,
+                                                           r->in.validation_level,
+                                                           r->out.validation);
+
+       return status;
 }
 
 /****************************************************************
index 909cfeaf5a38ce6201593ad6d02a62d52756c5f9..822a70575bb9db45cbf9d0409cca556ecef4bb96 100644 (file)
@@ -1262,9 +1262,14 @@ static void dcesrv_netr_LogonSamLogon_base_reply(
        NTSTATUS status;
 
        if (NT_STATUS_IS_OK(r->out.result)) {
-               netlogon_creds_encrypt_samlogon_validation(state->creds,
-                                                          r->in.validation_level,
-                                                          r->out.validation);
+               status = netlogon_creds_encrypt_samlogon_validation(state->creds,
+                                                                   r->in.validation_level,
+                                                                   r->out.validation);
+               if (!NT_STATUS_IS_OK(status)) {
+                       DBG_ERR("netlogon_creds_encrypt_samlogon_validation() "
+                               "failed - %s\n",
+                               nt_errstr(status));
+               }
        }
 
        if (state->_r.lslex != NULL) {