svn commit: samba r2370 - in trunk/source/libsmb: .

jra at samba.org jra at samba.org
Fri Sep 17 00:49:35 GMT 2004


Author: jra
Date: 2004-09-17 00:49:35 +0000 (Fri, 17 Sep 2004)
New Revision: 2370

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/trunk/source/libsmb&rev=2370&nolog=1

Log:
Fix for talking to OS/2 clients (max_mux ignored) by Guenter Kukkukk <guenter.kukkukk at kukkukk.com>.
Bugid #1590.
Jeremy.

Modified:
   trunk/source/libsmb/cliconnect.c
   trunk/source/libsmb/clireadwrite.c


Changeset:
Modified: trunk/source/libsmb/cliconnect.c
===================================================================
--- trunk/source/libsmb/cliconnect.c	2004-09-16 22:08:26 UTC (rev 2369)
+++ trunk/source/libsmb/cliconnect.c	2004-09-17 00:49:35 UTC (rev 2370)
@@ -1133,6 +1133,7 @@
 		cli->use_spnego = False;
 		cli->sec_mode = SVAL(cli->inbuf,smb_vwv1);
 		cli->max_xmit = SVAL(cli->inbuf,smb_vwv2);
+		cli->max_mux = SVAL(cli->inbuf, smb_vwv3); 
 		cli->sesskey = IVAL(cli->inbuf,smb_vwv6);
 		cli->serverzone = SVALS(cli->inbuf,smb_vwv10);
 		cli->serverzone *= 60;

Modified: trunk/source/libsmb/clireadwrite.c
===================================================================
--- trunk/source/libsmb/clireadwrite.c	2004-09-16 22:08:26 UTC (rev 2369)
+++ trunk/source/libsmb/clireadwrite.c	2004-09-17 00:49:35 UTC (rev 2370)
@@ -325,10 +325,16 @@
 	int bwritten = 0;
 	int issued = 0;
 	int received = 0;
-	int mpx = MAX(cli->max_mux-1, 1);
+	int mpx = 1;
 	int block = cli->max_xmit - (smb_size+32);
 	int blocks = (size + (block-1)) / block;
 
+	if(cli->max_mux == 0) {
+		mpx = 1;
+	} else {
+		mpx = cli->max_mux-1;
+	}
+
 	while (received < blocks) {
 
 		while ((issued - received < mpx) && (issued < blocks)) {



More information about the samba-cvs mailing list