Steve,

  What program or API are you using on Windows client to test FIND_FIRST2 
command ?    Have you observed that the same Windows client sends the different 
information level while connecting to different server ?    The client 
(redirector) maps the application-provided [MS-FSCC] information levels to a 
SMB information Level.    SMB_FIND_FILE_BOTH_DIRECTORY_INFO is mapped to 
FileBothDirectoryInformation  passed from the application.   I just want to 
check to see how this is passed from the application.   

Thanks!

Hongwei


-----Original Message-----
From: Steve French [mailto:smfre...@gmail.com] 
Sent: Wednesday, August 24, 2011 4:23 PM
To: Hongwei Sun
Cc: Edgar Olougouna; p...@tridgell.net; cifs-proto...@samba.org; MSSolve Case 
Email
Subject: Re: [REG:111081664438980] RE: [cifs-protocol] Level 257 FindFirst 
rejected by some Windows servers even though NTLM

On Tue, Aug 23, 2011 at 10:43 PM, Hongwei Sun <hongw...@microsoft.com> wrote:
> Steve,
>
>   Windows CE is not within the scope of protocol documentation, such as  
> MS-SMB and MS-CIFS.   Therefore it is understandable that it doesn't behave 
> as specified in the protocol documents.

This is more about what Windows clients do not about the WindowsCE server.

Clearly windows clients works (to WindowsCE server) - and it appears it is 
because they choose levels carefully to avoid the WindowsCE server problems

instead of
FIND_FILE_DIRECTORY_INFO (level 257)
nor
FIND_FILE_FULL_DIRECTORY_INFO (258)
nor
FIND_FILE_ID_FULL_DIRECTORY_INFO (262)

Windows clients (XP, Vista, etc) know enough to send 
SMB_FIND_FILE_BOTH_DIRECTORY_INFO (260)

which doesn't make sense since FIND_FILE_BOTH_DIRECTORY_INFO requires the 
server to return the short name (which no longer seems relevant to windows 
clients but they are requesting it - even of WindowsCE).

Windows is NOT returning operation not supported (or the eqiuvalent) to the 
application, rather it is selectively choosing to use level 260 (rather than 
the 3 other more logical find levels)

So the question is - how does Windows (clients) determine which level to 
request on FindFirst - in particular when not to use 257, 258 or
262 and fall back to 260?

>   As far as Windows systems, as per 2.2.2.3.1 MS-CIFS, for Windows NT 
> and earlier, the Find information levels supported are clearly 
> specified
>
>   SMB_INFO_STANDARD                                     0x0001    
> (LANMAN2.0)
>   SMB_INFO_QUERY_EA_SIZE                           0x0002   
> (LANMAN2.0)
>   SMB_INFO_QUERY_EAS_FROM_LIST          0x0003   (LANMAN2.0)
>   SMB_FIND_FILE_DIRECTORY_INFO               0x0101   (NT LANMAN)
>   SMB_FIND_FILE_FULL_DIRECTORY_INFO   0x0102   (NT LANMAN)
>   SMB_FIND_FILE_NAMES_INFO                       0x0103   (NT LANMAN)
>   SMB_FIND_FILE_BOTH_DIRECTORY_INFO   0x0104   (NT LANMAN)
>
>  For Windows 2000 and later ,  in addition to the levels above , the 
> following levels are added as per MS-SMB 2.2.6.1.1
>
>  SMB_FIND_FILE_ID_FULL_DIRECTORY_INFO    0x0105 (NT LANMAN)
>  SMB_FIND_FILE_ID_BOTH_DIRECTORY_INFO  0x0106  (NT LANMAN)
>
>  As per 2.2.8 MS-CIFS,  The client MUST map the application-provided 
> [MS-FSCC] information levels to SMB information Levels.   For all other 
> [MS-FSCC] information levels, the client MUST fail the request with 
> STATUS_NOT_SUPPORTED.   In some case, the client MUST send a fixed level.   
> For example, a client that has not negotiated long names support MUST request 
> only  SMB_INFO_STANDARD.
>
>  Please let us know if you have more questions.
>
> Thanks!
>
> Hongwei
>
>
>
>
> -----Original Message-----
> From: cifs-protocol-boun...@cifs.org 
> [mailto:cifs-protocol-boun...@cifs.org] On Behalf Of Steve French
> Sent: Thursday, August 18, 2011 4:54 PM
> To: Edgar Olougouna
> Cc: p...@tridgell.net; cifs-proto...@samba.org
> Subject: Re: [cifs-protocol] Level 257 FindFirst rejected by some 
> Windows servers even though NTLM
>
> It looks like Windows CE takes (only?) level 260 but I can't easily prove it 
> without access to a test system (I just have some customer traces) - so how 
> does Windows clients (Windows XP/Vista/7 etc.) determine which FindFirst 
> level to send to these given that the Microsoft server in this case is 
> reporting NT Find and NT SMB support but in practice not supporting most 
> FindFirst levels.
>
> On Tue, Aug 16, 2011 at 12:56 PM, Edgar Olougouna <edg...@microsoft.com> 
> wrote:
>> [Dochelp to bcc]
>>
>> Steve,
>>
>> One of our engineers will follow-up soon on this inquiry. The case number is 
>> 111081664438980.
>>
>> Regards,
>> Edgar
>>
>> -----Original Message-----
>> From: Steve French [mailto:smfre...@gmail.com]
>> Sent: Tuesday, August 16, 2011 12:35 PM
>> To: Interoperability Documentation Help
>> Cc: cifs-proto...@samba.org; p...@tridgell.net
>> Subject: Level 257 FindFirst rejected by some Windows servers even 
>> though NTLM
>>
>> A user sent me a trace of FindFirst level 257 (0x101 ) failing to 
>> Windows CE with NT Status: STATUS_INVALID_LEVEL (0xc0000148)
>>
>> even though dialect negotiated was NT LM 012 and that dialect is the only 
>> prereq listed in MS-SMB for the level (see page 64).
>>
>> How can the client determine under what condition that the server 
>> does not support that level - -  and what level to fall back (or move up to 
>> higher level)?   Level 257 is pretty basic.
>>
>>
>> --
>> Thanks,
>>
>> Steve
>>
>>
>
>
>
> --
> Thanks,
>
> Steve
> _______________________________________________
> cifs-protocol mailing list
> cifs-protocol@cifs.org
> https://lists.samba.org/mailman/listinfo/cifs-protocol
>
>



--
Thanks,

Steve

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

Reply via email to