memcpy(user_info.chal, chal, 8);
- if (lm_pwd_len >= 24 || (lp_encrypted_passwords() && (lm_pwd_len == 0) && lp_null_passwords())) {
+ if ((lm_pwd_len >= 24 || nt_pwd_len >= 24) ||
+ (lp_encrypted_passwords() && (lm_pwd_len == 0) && lp_null_passwords())) {
/* if 24 bytes long assume it is an encrypted password */
user_info.lm_resp.buffer = (uint8 *)lm_pwd;
memcpy(user_info.chal, chal, 8);
- if (lm_pwd_len >= 24 || (lp_encrypted_passwords() && (lm_pwd_len == 0) && lp_null_passwords())) {
+ if ((lm_pwd_len >= 24 || nt_pwd_len >= 24) ||
+ (lp_encrypted_passwords() && (lm_pwd_len == 0) && lp_null_passwords())) {
/* if 24 bytes long assume it is an encrypted password */
user_info.lm_resp.buffer = (uint8 *)lm_pwd;
passlen1 = MIN(passlen1, MAX_PASS_LEN);
passlen2 = MIN(passlen2, MAX_PASS_LEN);
- if(!doencrypt) {
+ if (!doencrypt) {
/* both Win95 and WinNT stuff up the password lengths for
non-encrypting systems. Uggh.
return bad_password_error(inbuf, outbuf);
}
+ if (lp_security() == SEC_SHARE) {
+ /* in share level we should ignore any passwords */
+ smb_ntpasslen = 0;
+ smb_apasslen = 0;
+ guest = True;
+ }
+
+
DEBUG(3,("sesssetupX:name=[%s]\n",user));
/* If name ends in $ then I think it's asking about whether a */