Remove the ugly hacks to get around the Get_Pwnam() calls in pass_check.c by
[gd/samba-autobuild/.git] / source3 / auth / auth_unix.c
index ea32a65457ea29297ddff1c08c4a5aa26148c853..7c6c58cafa0375e0fa8a07e3a5c1a6725f3d34d2 100644 (file)
@@ -71,13 +71,19 @@ in PLAIN TEXT
 NTSTATUS check_unix_security(const auth_usersupplied_info *user_info, auth_serversupplied_info *server_info)
 {
        NTSTATUS nt_status;
-       
+       struct passwd *pass = NULL;
+
        become_root();
-       nt_status = (pass_check(user_info->unix_username.str, 
-                                user_info->plaintext_password.str,
+       
+       pass = Get_Pwnam(user_info->unix_username.str, False);
+
+       nt_status = (pass_check(pass,
+                               user_info->unix_username.str, 
+                               user_info->plaintext_password.str,
                                user_info->plaintext_password.len,
                                lp_update_encrypted() ? 
-                                update_smbpassword_file : NULL) 
+                               update_smbpassword_file : NULL,
+                               True) 
                     ? NT_STATUS_OK : NT_STATUS_LOGON_FAILURE);
        unbecome_root();