summaryrefslogtreecommitdiffstats
path: root/source/smbd/password.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/smbd/password.c')
-rw-r--r--source/smbd/password.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/source/smbd/password.c b/source/smbd/password.c
index ef457739c67..4beedbe2a5f 100644
--- a/source/smbd/password.c
+++ b/source/smbd/password.c
@@ -491,24 +491,24 @@ BOOL smb_password_ok(struct smb_passwd *smb_pass, uchar chal[8],
/* Try against the lanman password. smb_pass->smb_passwd == NULL means
no password, allow access. */
- DEBUG(4,("Checking LM MD4 password\n"));
-
if((smb_pass->smb_passwd == NULL) &&
(smb_pass->acct_ctrl & ACB_PWNOTREQ)) {
- DEBUG(4,("no password required for user %s\n",
+ DEBUG(4,("smb_password_ok: no password required for user %s\n",
smb_pass->smb_name));
return True;
}
- if((smb_pass->smb_passwd != NULL) &&
- smb_password_check((char *)lm_pass,
+ if(lp_lanman_auth() && (smb_pass->smb_passwd != NULL)) {
+ DEBUG(4,("smb_password_ok: Checking LM password\n"));
+
+ if (smb_password_check((char *)lm_pass,
(uchar *)smb_pass->smb_passwd, challenge)) {
- DEBUG(4,("LM MD4 password check succeeded\n"));
- return(True);
+ DEBUG(4,("smb_password_ok: LM password check succeeded\n"));
+ return(True);
+ }
+ DEBUG(4,("LM password check failed\n"));
}
- DEBUG(4,("LM MD4 password check failed\n"));
-
return False;
}
@@ -621,14 +621,14 @@ BOOL password_ok(char *user, char *password, int pwlen, struct passwd *pwd)
*/
if (ret)
- return smb_pam_accountcheck(user);
+ return (smb_pam_accountcheck(user) == NT_STATUS_NOPROBLEMO);
return ret;
}
- return pass_check(user, password, pwlen, pwd,
+ return (pass_check(user, password, pwlen, pwd,
lp_update_encrypted() ?
- update_smbpassword_file : NULL);
+ update_smbpassword_file : NULL));
}
/****************************************************************************