From cd9fad92d0316e5a0007ba3c5668906dc2f011f1 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Sat, 17 Jan 1998 07:08:21 +0000 Subject: charcnv.c: Added codepage 866 support onto the file system. Patch from Max Khon . chgpasswd.c: Allow old RAP change password to work with encrypted passwords. Samba can now allow Windows 95/NT clients to securely change the Lanman password ! (But not the NT hash - that gets lost). ipc.c: smbdes.c: smbpass.c: Support for the above. server.c: #ifdef'ed out fix for NT redirector bug. util.c: Fix NIS bug with server name. Jeremy. --- source/passdb/smbpass.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'source/passdb') diff --git a/source/passdb/smbpass.c b/source/passdb/smbpass.c index 4109383fb47..188bf1b71d3 100644 --- a/source/passdb/smbpass.c +++ b/source/passdb/smbpass.c @@ -788,12 +788,15 @@ BOOL mod_smbpwd_entry(struct smb_passwd* pwd) return False; } + /* The following check is wrong - the NT hash is optional. */ +#if 0 if (*p == '*' || *p == 'X') { fclose(fp); pw_file_unlock(lockfd); return False; } +#endif /* whew. entry is correctly formed. */ @@ -838,19 +841,20 @@ BOOL mod_smbpwd_entry(struct smb_passwd* pwd) { sprintf(&ascii_p16[i*2], "%02X", (uchar) pwd->smb_passwd[i]); } + /* Add on the NT md4 hash */ + ascii_p16[32] = ':'; + wr_len = 65; if (pwd->smb_nt_passwd != NULL) { - /* Add on the NT md4 hash */ - ascii_p16[32] = ':'; for (i = 0; i < 16; i++) { sprintf(&ascii_p16[(i*2)+33], "%02X", (uchar) pwd->smb_nt_passwd[i]); } - wr_len = 65; } else { - wr_len = 32; + /* No NT hash - write out an 'invalid' string. */ + strcpy(&ascii_p16[33], "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); } #ifdef DEBUG_PASSWORD -- cgit