diff options
author | Luke Leighton <lkcl@samba.org> | 1999-07-06 21:25:42 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1999-07-06 21:25:42 +0000 |
commit | ec711742c0b656e8c660f1d990e16b64addbf119 (patch) | |
tree | 585cd164826bd9ff3fec303af09dae02259a4760 /source3/smbd/password.c | |
parent | f922d25ce820a644bf517e4d39cf7d9f0b3895f9 (diff) | |
download | samba-ec711742c0b656e8c660f1d990e16b64addbf119.tar.gz samba-ec711742c0b656e8c660f1d990e16b64addbf119.tar.bz2 samba-ec711742c0b656e8c660f1d990e16b64addbf119.zip |
smb_password_ok() checking incorrectly whether lm password exists.
when lmcompatibilitylevel=0x2 on nt sp4+ clients, lm# is not sent.
(This used to be commit e655e68474dd0234b49c23a07d9cb8bdd8f6016a)
Diffstat (limited to 'source3/smbd/password.c')
-rw-r--r-- | source3/smbd/password.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/source3/smbd/password.c b/source3/smbd/password.c index 14a63c6ef4..026fd5c10c 100644 --- a/source3/smbd/password.c +++ b/source3/smbd/password.c @@ -85,7 +85,7 @@ get the last challenge sent ********************************************************************/ static BOOL last_challenge(unsigned char *challenge) { - if (!challenge_sent) return(False); + if (!challenge_sent) return False; memcpy(challenge,saved_challenge,8); return(True); } @@ -367,7 +367,10 @@ BOOL smb_password_ok(struct smb_passwd *smb_pass, uchar chal[8], { uchar challenge[8]; - if (!lm_pass || !smb_pass) return(False); + if (smb_pass == NULL) + { + return False; + } DEBUG(4,("Checking SMB password for user %s\n", smb_pass->unix_name)); @@ -376,7 +379,7 @@ BOOL smb_password_ok(struct smb_passwd *smb_pass, uchar chal[8], { DEBUG(3,("account for user %s was disabled.\n", smb_pass->unix_name)); - return(False); + return False; } if (chal == NULL) @@ -473,7 +476,7 @@ BOOL pass_check_smb(char *user, char *domain, uchar *chal, if (!lm_pwd || !nt_pwd) { - return(False); + return False; } if (pwd != NULL && user == NULL) @@ -489,7 +492,7 @@ BOOL pass_check_smb(char *user, char *domain, uchar *chal, if (pass == NULL) { DEBUG(3,("Couldn't find user %s\n",user)); - return(False); + return False; } smb_pass = getsmbpwnam(user); @@ -497,20 +500,20 @@ BOOL pass_check_smb(char *user, char *domain, uchar *chal, if (smb_pass == NULL) { DEBUG(3,("Couldn't find user %s in smb_passwd file.\n", user)); - return(False); + return False; } /* Quit if the account was disabled. */ if(smb_pass->acct_ctrl & ACB_DISABLED) { DEBUG(3,("account for user %s was disabled.\n", user)); - return(False); + return False; } /* Ensure the uid's match */ if (smb_pass->unix_uid != pass->pw_uid) { DEBUG(3,("Error : UNIX and SMB uids in password files do not match !\n")); - return(False); + return False; } if (lm_pwd[0] == '\0' && IS_BITS_SET_ALL(smb_pass->acct_ctrl, ACB_PWNOTREQ) && lp_null_passwords()) @@ -722,7 +725,7 @@ BOOL authorise_login(int snum,char *user,char *password, int pwlen, { char *auser; char *user_list = strdup(session_users); - if (!user_list) return(False); + if (!user_list) return False; for (auser=strtok(user_list,LIST_SEP); !ok && auser; @@ -937,7 +940,7 @@ BOOL check_hosts_equiv(char *user) const struct passwd *pass = Get_Pwnam(user,True); if (!pass) - return(False); + return False; fname = lp_hosts_equiv(); @@ -959,7 +962,7 @@ BOOL check_hosts_equiv(char *user) } } - return(False); + return False; } @@ -1000,7 +1003,7 @@ BOOL server_validate(char *user, char *domain, if (!cli->initialised) { DEBUG(1,("password server %s is not connected\n", cli->desthost)); - return(False); + return False; } if(badpass[0] == 0) @@ -1075,7 +1078,7 @@ use this machine as the password server.\n")); if ((SVAL(cli->inbuf,smb_vwv2) & 1) != 0) { DEBUG(1,("password server %s gave us guest only\n", cli->desthost)); cli_ulogoff(cli); - return(False); + return False; } |