svn commit: samba r2494 - in branches/SAMBA_4_0/source/libcli: .

tridge at samba.org tridge at samba.org
Wed Sep 22 05:13:00 GMT 2004


Author: tridge
Date: 2004-09-22 05:13:00 +0000 (Wed, 22 Sep 2004)
New Revision: 2494

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/libcli&rev=2494&nolog=1

Log:
fixed connecting to a share mode server (tested and really works now)


Modified:
   branches/SAMBA_4_0/source/libcli/cliconnect.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/cliconnect.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/cliconnect.c	2004-09-22 05:12:21 UTC (rev 2493)
+++ branches/SAMBA_4_0/source/libcli/cliconnect.c	2004-09-22 05:13:00 UTC (rev 2494)
@@ -83,7 +83,11 @@
 		setup.generic.in.domain = "";
 		setup.generic.in.capabilities &= ~CAP_EXTENDED_SECURITY;
 	} else {
-		setup.generic.in.password = password;
+		if (cli->transport->negotiate.sec_mode & NEGOTIATE_SECURITY_USER_LEVEL) {
+			setup.generic.in.password = password;
+		} else {
+			setup.generic.in.password = NULL;
+		}
 		setup.generic.in.user = user;
 		setup.generic.in.domain = domain;
 	}
@@ -121,8 +125,11 @@
 	if (cli->transport->negotiate.sec_mode & NEGOTIATE_SECURITY_USER_LEVEL) {
 		tcon.tconx.in.password = data_blob(NULL, 0);
 	} else if (cli->transport->negotiate.sec_mode & NEGOTIATE_SECURITY_CHALLENGE_RESPONSE) {
-		tcon.tconx.in.password = data_blob_talloc(mem_ctx, NULL, 16);
-		E_md4hash(password, tcon.tconx.in.password.data);
+		tcon.tconx.in.password = data_blob_talloc(mem_ctx, NULL, 24);
+		if (cli->transport->negotiate.secblob.length < 8) {
+			return NT_STATUS_INVALID_PARAMETER;
+		}
+		SMBencrypt(password, cli->transport->negotiate.secblob.data, tcon.tconx.in.password.data);
 	} else {
 		tcon.tconx.in.password = data_blob_talloc(mem_ctx, password, strlen(password)+1);
 	}



More information about the samba-cvs mailing list