As per rsharpe's request, require only a Masters in Astrophysics to
authorAndrew Bartlett <abartlet@samba.org>
Sat, 18 May 2002 06:42:50 +0000 (06:42 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Sat, 18 May 2002 06:42:50 +0000 (06:42 +0000)
correctly configure winbind.

(Next job:  Fill in the 'error_msg' field with somthing useful)
(This used to be commit 49ee2a25c131641887cbc438a6336652f042cfb0)

source3/nsswitch/wbinfo.c
source3/nsswitch/winbindd_misc.c

index e36a144b8fffe7035f160ee681a152fcd746637e..38cc049297bc003096d2398d52475dcef78a5409 100644 (file)
@@ -248,25 +248,21 @@ static BOOL wbinfo_show_sequence(void)
 static BOOL wbinfo_check_secret(void)
 {
         struct winbindd_response response;
-        BOOL result;
+        NSS_STATUS result;
 
         ZERO_STRUCT(response);
 
         result = winbindd_request(WINBINDD_CHECK_MACHACC, NULL, &response) ==
                 NSS_STATUS_SUCCESS;
-
-        if (result) {
-
-                if (response.data.num_entries == 0)
-                        d_printf("Secret is good\n");
-                else
-                        d_printf("Secret is bad\n0x%08x\n", 
-                              response.data.num_entries);
-
-                return True;
-        }
-
-        return False;
+               
+       d_printf("checking the trust secret via RPC calls %s\n", 
+                (result == NSS_STATUS_SUCCESS) ? "succeeded" : "failed");
+       
+       d_printf("error code was %s (0x%x)\n", 
+                response.data.auth.nt_status_string, 
+                response.data.auth.nt_status);
+       
+       return result == NSS_STATUS_SUCCESS;    
 }
 
 /* Convert uid to sid */
index 5678bdaa5afca73555116af2d97d14476653da01..f465f783b454de4fc62d475b5828005b4d478a50 100644 (file)
@@ -88,9 +88,15 @@ enum winbindd_result winbindd_check_machine_acct(struct winbindd_cli_state *stat
                   "good" : "bad"));
 
  done:
-       state->response.data.num_entries = NT_STATUS_V(result);
+       state->response.data.auth.nt_status = NT_STATUS_V(result);
+       fstrcpy(state->response.data.auth.nt_status_string, nt_errstr(result));
+       fstrcpy(state->response.data.auth.error_string, nt_errstr(result));
+       state->response.data.auth.pam_error = nt_status_to_pam(result);
 
-       return WINBINDD_OK;
+       DEBUG(NT_STATUS_IS_OK(result) ? 5 : 2, ("Checking the trust account password returned %s\n", 
+                                               state->response.data.auth.nt_status_string));
+
+       return NT_STATUS_IS_OK(result) ? WINBINDD_OK : WINBINDD_ERROR;
 }
 
 enum winbindd_result winbindd_list_trusted_domains(struct winbindd_cli_state