<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Aug 24, 2011, at 2:23 PM, Steve French wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On Tue, Aug 23, 2011 at 10:43 PM, Hongwei Sun <<a href="mailto:hongweis@microsoft.com">hongweis@microsoft.com</a>> wrote:<br><blockquote type="cite">Steve,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">  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.<br></blockquote><br>This is more about what Windows clients do not about the WindowsCE server.<br><br>Clearly windows clients works (to WindowsCE server) - and it appears<br>it is because they choose levels carefully to avoid the WindowsCE<br>server problems<br><br>instead of<br>FIND_FILE_DIRECTORY_INFO (level 257)<br>nor<br>FIND_FILE_FULL_DIRECTORY_INFO (258)<br>nor<br>FIND_FILE_ID_FULL_DIRECTORY_INFO (262)<br><br>Windows clients (XP, Vista, etc) know enough to send<br>SMB_FIND_FILE_BOTH_DIRECTORY_INFO (260)<br><br>which doesn't make sense since FIND_FILE_BOTH_DIRECTORY_INFO requires<br>the server to return the short name (which no longer seems relevant to<br>windows clients but they are requesting it - even of WindowsCE).<br></div></blockquote>I do not believe it requires short names. See {MS-SMB].pdf 

        
                
                
        
        <span style="font-size: 10.000000pt; font-family: 'Verdana,Bold'">2.2.4.7 SMB_COM_TREE_CONNECT_ANDX (0x75) </span></div><div><span style="font-size: 10.000000pt; font-family: 'Verdana,Bold'"><br></span></div><div><font class="Apple-style-span" face="'Verdana,Bold'"><span class="Apple-style-span" style="font-size: 13px;">

        
                
                <p><span style="font-size: 9.000000pt; font-family: 'Verdana'">When a server returns extended information, the response takes the following format. Aside from
the </span><span style="font-size: 9.000000pt; font-family: 'Verdana,Bold'">WordCount, MaximalShareAccessRights, </span><span style="font-size: 9.000000pt; font-family: 'Verdana'">and </span><span style="font-size: 9.000000pt; font-family: 'Verdana,Bold'">GuestMaximalShareAccessRights </span><span style="font-size: 9.000000pt; font-family: 'Verdana'">fields,
and the new </span><span style="font-size: 9.000000pt; font-family: 'Verdana,Bold'">OptionalSupport </span><span style="font-size: 9.000000pt; font-family: 'Verdana'">flags, all other fields are defined as specified in </span><span style="font-size: 9.000000pt; font-family: 'Verdana'; color: rgb(0.000000%, 40.000000%, 100.000000%)">[MS-CIFS] </span><span style="font-size: 9.000000pt; font-family: 'Verdana'">section</span></p><p><span style="font-size: 9.000000pt; font-family: 'Verdana'"><br></span></p><p><span style="font-size: 9.000000pt; font-family: 'Verdana'">

        
                
                
        
        <span style="font-size: 8.000000pt; font-family: 'Verdana'">SMB_UNIQUE_FILE_NAME </span></span></p></span></font><span class="Apple-style-span" style="font-family: Verdana; font-size: 11px; ">If set, then the server is using long file names
only and does not support short file names. If set,
then the server allows the client to assume that
there is no name aliasing for this share (in other
words, a single file cannot have two different
names). If set, then the server permits the client
to cache directory enumerations and file
metadata based on the pathname.</span><span class="Apple-style-span" style="font-family: Verdana; font-size: 11px; ">The client MAY<48> choose to satisfy file
attribute queries from its cache and thus could
present a slightly stale view of files on the share.
The client MUST NOT cache remote file system
information for more than 60 seconds.</span></div><div><font class="Apple-style-span" face="Verdana"><span class="Apple-style-span" style="font-size: 11px;"><br></span></font></div><div><font class="Apple-style-span" face="Verdana"><span class="Apple-style-span" style="font-size: 11px;"><br></span></font><font class="Apple-style-span" face="'Verdana,Bold'"><span class="Apple-style-span" style="font-size: 13px;"><p><span style="font-size: 9.000000pt; font-family: 'Verdana'"><span style="font-size: 8.000000pt; font-family: 'Verdana'">  </span> </span></p></span></font><blockquote type="cite"><div><br>Windows is NOT returning operation not supported (or the eqiuvalent)<br>to the application, rather it is selectively choosing to use level 260<br>(rather than the 3 other more logical find levels)<br><br>So the question is - how does Windows (clients) determine which level<br>to request on FindFirst - in particular when not to use 257, 258 or<br>262 and fall back to 260?<br><br><blockquote type="cite">  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<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">  SMB_INFO_STANDARD                                     0x0001    (LANMAN2.0)<br></blockquote><blockquote type="cite">  SMB_INFO_QUERY_EA_SIZE                           0x0002   (LANMAN2.0)<br></blockquote><blockquote type="cite">  SMB_INFO_QUERY_EAS_FROM_LIST          0x0003   (LANMAN2.0)<br></blockquote><blockquote type="cite">  SMB_FIND_FILE_DIRECTORY_INFO               0x0101   (NT LANMAN)<br></blockquote><blockquote type="cite">  SMB_FIND_FILE_FULL_DIRECTORY_INFO   0x0102   (NT LANMAN)<br></blockquote><blockquote type="cite">  SMB_FIND_FILE_NAMES_INFO                       0x0103   (NT LANMAN)<br></blockquote><blockquote type="cite">  SMB_FIND_FILE_BOTH_DIRECTORY_INFO   0x0104   (NT LANMAN)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> 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<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> SMB_FIND_FILE_ID_FULL_DIRECTORY_INFO    0x0105 (NT LANMAN)<br></blockquote><blockquote type="cite"> SMB_FIND_FILE_ID_BOTH_DIRECTORY_INFO  0x0106  (NT LANMAN)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> 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.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> Please let us know if you have more questions.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Thanks!<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Hongwei<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">-----Original Message-----<br></blockquote><blockquote type="cite">From: <a href="mailto:cifs-protocol-bounces@cifs.org">cifs-protocol-bounces@cifs.org</a> [mailto:cifs-protocol-bounces@cifs.org] On Behalf Of Steve French<br></blockquote><blockquote type="cite">Sent: Thursday, August 18, 2011 4:54 PM<br></blockquote><blockquote type="cite">To: Edgar Olougouna<br></blockquote><blockquote type="cite">Cc: <a href="mailto:pfif@tridgell.net">pfif@tridgell.net</a>; <a href="mailto:cifs-protocol@samba.org">cifs-protocol@samba.org</a><br></blockquote><blockquote type="cite">Subject: Re: [cifs-protocol] Level 257 FindFirst rejected by some Windows servers even though NTLM<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">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.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">On Tue, Aug 16, 2011 at 12:56 PM, Edgar Olougouna <<a href="mailto:edgaro@microsoft.com">edgaro@microsoft.com</a>> wrote:<br></blockquote><blockquote type="cite"><blockquote type="cite">[Dochelp to bcc]<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Steve,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">One of our engineers will follow-up soon on this inquiry. The case number is 111081664438980.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Regards,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Edgar<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">-----Original Message-----<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">From: Steve French [mailto:smfrench@gmail.com]<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Sent: Tuesday, August 16, 2011 12:35 PM<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">To: Interoperability Documentation Help<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Cc: <a href="mailto:cifs-protocol@samba.org">cifs-protocol@samba.org</a>; <a href="mailto:pfif@tridgell.net">pfif@tridgell.net</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Subject: Level 257 FindFirst rejected by some Windows servers even<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">though NTLM<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">A user sent me a trace of FindFirst level 257 (0x101 ) failing to<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Windows CE with NT Status: STATUS_INVALID_LEVEL (0xc0000148)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">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).<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">How can the client determine under what condition that the server does<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">not support that level - -  and what level to fall back (or move up to higher level)?   Level 257 is pretty basic.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">--<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Thanks,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Steve<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">--<br></blockquote><blockquote type="cite">Thanks,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Steve<br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">cifs-protocol mailing list<br></blockquote><blockquote type="cite"><a href="mailto:cifs-protocol@cifs.org">cifs-protocol@cifs.org</a><br></blockquote><blockquote type="cite"><a href="https://lists.samba.org/mailman/listinfo/cifs-protocol">https://lists.samba.org/mailman/listinfo/cifs-protocol</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><br><br><br>-- <br>Thanks,<br><br>Steve<br>_______________________________________________<br>cifs-protocol mailing list<br><a href="mailto:cifs-protocol@cifs.org">cifs-protocol@cifs.org</a><br>https://lists.samba.org/mailman/listinfo/cifs-protocol<br></div></blockquote></div><br></body></html>