Seeing a compound request from Win7 where the last request is async

Jeremy Allison jra at samba.org
Fri Dec 7 13:01:07 MST 2012


On Fri, Dec 07, 2012 at 11:46:16AM -0800, Richard Sharpe wrote:
> Hi folks,
> 
> For reasons I don't understand we have started seeing a compound
> request consisting of:
> 
> 1. CREATE on / followed by
> 2. A NOTIFY request.
> 
> When responding Samba 3.6.6 (and it looks like Master) does not
> assemble the STATUS_PENDING response for the notify. This causes
> Windows to get very confused and it then sends sometime later a
> GETINFO request on File Id: FFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFF.
> 
> Samba says FILE_CLOSED to these ... which it should.
> 
> It seems to me that we should handle ASYNC requests in a compound
> request if it is the last and only one. The code in
> smbd_smb2_request_pending_queue seems not to check if this is the last
> request in the chain. It simply cancels it.
> 
> The downside seems to be that Windows fails to bring up the Security
> Tab because we have confused it.

Can you send me a wireshark trace of this so I can look
at the exact packet list ?

Looks like this is a case we should be handling in this
block of code:

                /*
                 * We're splitting off the last SMB2
                 * request in a compound set, and the
                 * smb2_send_async_interim_response()
                 * call above just sent all the replies
                 * for the previous SMB2 requests in
                 * this compound set. So we're no longer
                 * in the "compound_related_in_progress"
                 * state, and this is no longer a compound
                 * request.
                 */


Jeremy.


More information about the samba-technical mailing list