Good morning Tim.

I filed a Technical Documentation Issue (TDI) concerning the [MS-SMB] 2.2 
Message Syntax error returns. This is still under investigation by our document 
developers, and I will advise you as soon as some results are forthcoming.

I included your comments and questions in the TDI:

MS-CIFS does say that a DOS error or an NT_STATUS error may be returned <for a 
given command>, but I don't see any indication in the documentation of when a 
DOS error should be returned instead of an NT_STATUS error. In addition, 
WordCount and ByteCount might not be present in the response.

Specifically, some commands override the SMB_FLAGS2_NT_STATUS Flags2 bit; for 
example, SMB_COM_TRANSACTION2 / TRANS2_SET_PATH_INFORMATION / 
SMB_SET_FILE_END_OF_FILE_INFO (an invalid level) clears SMB_FLAGS2_NT_STATUS on 
return, and sets the error to:

DOSError.ErrorClass (0x0001,   1d) : SMB_ERR_CLASS_DOS
DOSError.Error      (0x007C, 124d) : SrvErrorCode(STATUS_OS2_INVALID_LEVEL)
see attached file: trans2setpathinfo_against_win7_2.cap (frames 39 & 40)

Is it possible to make this explicit in the docs or is this a case where it's 
purposefully left ambiguous?


Regards,
Bill Wesse
MCSE, MCTS / Senior Escalation Engineer, US-CSS DSC PROTOCOL TEAM
8055 Microsoft Way
Charlotte, NC 28273
TEL:  +1(980) 776-8200
CELL: +1(704) 661-5438
FAX:  +1(704) 665-9606


-----Original Message-----
From: Bill Wesse 
Sent: Friday, December 11, 2009 10:19 AM
To: 'Tim Prouty'
Cc: Jeremy Allison; cifs-proto...@samba.org; p...@tridgell.net
Subject: RE: New case: SRX091209600095 Trans2SetPathInfo() returns truncated 
SMB header

Good morning Tim. There are indeed other cases where WordCount and ByteCount 
are not sent; I have located several dozen potential SMB response cases where 
this could occur.

The Technical Document Issue (TDI) I filed yesterday includes this as an issue, 
along with when a DOSError is returned with the header.Flags2 
SMB_FLAGS2_NT_STATUS bit clear in the response when it was set in the request - 
which is all about where this will be documented - and who will do the 
detailing. Whether or not WordCount and ByteCount are absent for all DOSError 
returns is not yet something I can yet provide an authoritative answer for.

My thinking is that [MS-SMB] (Appendix A: Product Behavior), [MS-CIFS-Preview], 
and the Microsoft Open Specification Support Team Blog are all viable targets 
for the information in question.

[MS-CIFS-Preview]: Common Internet File System (CIFS)
http://msdn.microsoft.com/en-us/library/ee794904.aspx

[MS-SMB]: Server Message Block (SMB) Protocol Specification
http://msdn.microsoft.com/en-us/library/cc246231(PROT.13).aspx

Microsoft Open Specification Support Team Blog
http://blogs.msdn.com/OpenSpecification/

Today, I will be concentrating on the final steps I need to take before filing 
a TDI against the other case (SRX091124600335 : [MS-SMB] Trans2SetPathInfo() 
not enforcing share mode).

Regards,
Bill Wesse
MCSE, MCTS / Senior Escalation Engineer, US-CSS DSC PROTOCOL TEAM
8055 Microsoft Way
Charlotte, NC 28273
TEL:  +1(980) 776-8200
CELL: +1(704) 661-5438
FAX:  +1(704) 665-9606


-----Original Message-----
From: Tim Prouty [mailto:tim.pro...@isilon.com] 
Sent: Thursday, December 10, 2009 2:39 PM
To: Bill Wesse
Cc: Jeremy Allison; cifs-proto...@samba.org; p...@tridgell.net
Subject: Re: New case: SRX091209600095 Trans2SetPathInfo() returns truncated 
SMB header

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