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 <[EMAIL PROTECTED]>. 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)) {