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