another trivial rpc_api_pipe_req patch

Ronan Waide waider at waider.ie
Sun Apr 27 15:05:36 GMT 2003


When a data packet overflows a single write request, the current code
increments the RPC callid for each request. This results in a "pipe
busy" error since the NT side is attempting to assemble the data for
the first call on the FID in question before it does anything
else. The trivial fix is to move the callid declaration out of the
loop scope and into the function scope (jra, this is in the patches I
already posted here to fix large RPCs):

Index: rpc_client/cli_pipe.c
===================================================================
RCS file: /cvsroot/samba/source/rpc_client/cli_pipe.c,v
retrieving revision 1.79.2.19
diff -c -r1.79.2.19 cli_pipe.c
*** rpc_client/cli_pipe.c       16 Apr 2003 21:09:48 -0000      1.79.2.19
--- rpc_client/cli_pipe.c       27 Apr 2003 15:04:05 -0000
***************
*** 953,958 ****
--- 953,959 ----
        BOOL ret = False;
        BOOL auth_verify, auth_seal, auth_schannel;
        fstring dump_name;
+       uint32 callid = 0;
  
        auth_verify = ((cli->ntlmssp_srv_flgs & NTLMSSP_NEGOTIATE_SIGN) != 0);
        auth_seal   = ((cli->ntlmssp_srv_flgs & NTLMSSP_NEGOTIATE_SEAL) != 0);
***************
*** 977,983 ****
                uint32 data_len, send_size;
                uint8 flags = 0;
                uint32 crc32 = 0;
-               uint32 callid = 0;
                uint32 auth_padding = 0;
                RPC_AUTH_NETSEC_CHK verf;
  

Cheers,
Waider.
-- 
waider at waider.ie / Yes, it /is/ very personal of me.

"not much I could do about it could I
 lie down and look up the stars are so bright" - deirdre


More information about the samba-technical mailing list