Hi folks,

I was recently investigating Samba's handling of OpLock breaks during
SMB2 compound requests and noted this curious anomaly with respect to
W2K08.

I wrote a small smbtorture test case and ran it against W2K08 to
establish what should happen. Samba was failing the test and I have
suggested a fix for that.

However, I got my test case slightly different to what was in the
customer-derived capture that got me looking at this.

Attached are two packet captures that show the difference.

In one, w2k08-compound-break-success-1.pcap, the correct behavior
seems to occur. We see a STATUS_PENDING response from W2K08 and then
the OpLock break sequence.

In the second case, w2k08-compound-break-reset-2.pcap we see the
STATUS_PENDING issued, and then we see a RST from the W2K08 system.

The only difference seems to be that in the successful case I used
OPEN_EXISTING (Disposition OPEN) while in the case that fails, I used
OPEN_ALWAYS (OPEN_IF).

Can anyone comment on this? I haven't checked W2K12 yet to see how it behaves.

-- 
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)

Attachment: w2k08-compound-break-success-1.pcap
Description: Binary data

Attachment: w2k08-compound-break-reset-2.pcap
Description: Binary data

_______________________________________________
cifs-protocol mailing list
[email protected]
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to