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