summaryrefslogtreecommitdiff
path: root/source3/smbd/password.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-07-06 22:48:21 +0000
committerJeremy Allison <jra@samba.org>1998-07-06 22:48:21 +0000
commit7a2b695bcbf80f192eea8db09a3f30c2cf75412d (patch)
treeba67036ae77b95e46977aa5a842cb9551b8fb972 /source3/smbd/password.c
parent5b11dbd8f66040de091b705a5814566e029a6fa6 (diff)
downloadsamba-7a2b695bcbf80f192eea8db09a3f30c2cf75412d.tar.gz
samba-7a2b695bcbf80f192eea8db09a3f30c2cf75412d.tar.bz2
samba-7a2b695bcbf80f192eea8db09a3f30c2cf75412d.zip
password.c: Fixes to allow Win95 clients to have lm encrypted passwords
recognised. lib/rpc/client/cli_login.c: Fix debug comment. lib/rpc/parse/parse_misc.c: Fix for passing null pointers. lib/rpc/parse/parse_net.c: Send correct password lengths when called from Win95. Jeremy. (This used to be commit ad1848b35521b3d478ea3226db818a1edef78254)
Diffstat (limited to 'source3/smbd/password.c')
-rw-r--r--source3/smbd/password.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/source3/smbd/password.c b/source3/smbd/password.c
index 277e3a592e..1924a32780 100644
--- a/source3/smbd/password.c
+++ b/source3/smbd/password.c
@@ -1947,7 +1947,8 @@ BOOL domain_client_validate( char *user, char *domain,
* Next, check that the passwords given were encrypted.
*/
- if(smb_apasslen != 24 || smb_ntpasslen != 24) {
+ if(((smb_apasslen != 24) && (smb_apasslen != 0)) ||
+ ((smb_ntpasslen != 24) && (smb_ntpasslen != 0))) {
/*
* Not encrypted - do so.
@@ -2129,7 +2130,9 @@ machine %s. Error was : %s.\n", remote_machine, cli_errstr(&cli)));
generate_random_buffer( (unsigned char *)&smb_uid_low, 4, False);
if(cli_nt_login_network(&cli, domain, user, smb_uid_low, (char *)local_challenge,
- smb_apasswd, smb_ntpasswd, &ctr, &info3) == False) {
+ ((smb_apasslen != 0) ? smb_apasswd : NULL),
+ ((smb_ntpasslen != 0) ? smb_ntpasswd : NULL),
+ &ctr, &info3) == False) {
DEBUG(0,("domain_client_validate: unable to validate password for user %s in domain \
%s to Domain controller %s. Error was %s.\n", user, domain, remote_machine, cli_errstr(&cli)));
cli_nt_session_close(&cli);