On Dec 9, 2009, at 12:31 PM, Bill Wesse wrote:

This is processed as follows before appearing on the wire:

If the SrvIsSrvStatus(Status) check passes (which it should, in this case, per the included #defines from cifs.h), the error code is truncated using the SrvErrorClass(Status) macro (also from cifs.h), and the error class is set to SMB_ERR_CLASS_DOS (0x1). The SMB_FLAGS2_NT_STATUS bit is cleared in the response header.Flags2 field, and the return context is marked to omit WordCount and ByteCount.

Hmm, I didn't know that there are cases where the WordCount and ByteCount are omitted. Is this the case for all DOS errors? Is it possible to document the cases when they are omitted? As it is there is samba client code that detects an omitted WordCount/ByteCount in this situation as an error, so if this is correct server behavior we'll need to update the client.

Thank you for your detailed investigation!

-Tim

_______________________________________________
cifs-protocol mailing list
cifs-protocol@cifs.org
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to