buglet in rpc_api_pipe_req

Ronan Waide waider at waider.ie
Sun Apr 27 14:57:51 GMT 2003


According to the comments (and network traces) the last item in a RPC
call has to be a TransactNmPipe Request; currently if your PDU is
exactly the size of a WriteAndX Request (does that make sense?) the
data will be sent as a WriteAndX instead of a TransactNmPipe
Request. Here's the trivial patch:

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 14:54:49 -0000
***************
*** 1013,1019 ****
                if (data_left == prs_offset(data))
                        flags |= RPC_FLG_FIRST;
  
!               if (data_left < max_data)
                        flags |= RPC_FLG_LAST;
                /*
                 * Write out the RPC header and the request header.
--- 1013,1019 ----
                if (data_left == prs_offset(data))
                        flags |= RPC_FLG_FIRST;
  
!               if (data_left <= max_data)
                        flags |= RPC_FLG_LAST;
                /*
                 * Write out the RPC header and the request header.

Cheers,
Waider.
-- 
waider at waider.ie / Yes, it /is/ very personal of me.
Ferret wonders what kind of "kitchen knife" is three-and-three-quarters FEET
    long.
troc says, "you've never seen the Samurai Delicatessen skit?"


More information about the samba-technical mailing list