Obaid,

I guess I am surprised by the answer.  In the SMB1 protocol (which I know
too well), the PID (Process ID) is used to demux responses from the server
and return the result to the correct client process.  Do I understand
correctly, then, that ProcessID is not used in SMB2 as a method for mapping
responses to the correct client process?  I am sure it's listed in the
documentation, but can you quickly tell me how Windows systems ensure that
responses get to the correct client process and thread?

Thanks.

Chris -)-----

Obaid Farooqi wrote:
> Hi Chris:
> We have finished our investigation on the question of ProcessID in smb2 
> header.
> 
> In a future release of MS-SMB2, in section "2.2.1.2 SMB2 Packet Header - 
> SYNC", ProcessId will be replaced by "Reserved". In all other sections, all 
> references to "ProcessId" will be removed.
> 
> Please let me know if it does not answer your question.
> 
> Regards,
> Obaid Farooqi
> Escalation Engineer | Microsoft
> 
> Exceeding your expectations is my highest priority.  If you would like to 
> provide feedback on your case you may contact my manager at 
> [email protected]
> 
> -----Original Message-----
> From: Obaid Farooqi 
> Sent: Monday, December 12, 2011 1:57 PM
> To: Christopher R. Hertel
> Cc: MSSolve Case Email; [email protected]; Bryan Burgin
> Subject: RE:[REG:111120724281237] [cifs-protocol] SMB2 ProcessId header field 
> for SYNC messages.
> 
> Hi Chris:
> Thanks for pointing that out. 
> 
> 
> Regards,
> Obaid Farooqi
> Escalation Engineer | Microsoft
> 
> Exceeding your expectations is my highest priority.  If you would like to 
> provide feedback on your case you may contact my manager at nkang at 
> Microsoft dot com
> 
> 
> -----Original Message-----
> From: Christopher R. Hertel [mailto:[email protected]]
> Sent: Monday, December 12, 2011 1:21 PM
> To: Obaid Farooqi
> Cc: MSSolve Case Email; [email protected]; Bryan Burgin
> Subject: Re: [cifs-protocol] [REG:111120724281237] SMB2 ProcessId header 
> field for SYNC messages.
> 
> Obaid,
> 
> Thanks.  I will note that the paragraph in question is also present in the 
> [SMB2-Preview] document that includes SMB2.2.
> 
> Looking forward to your response!
> 
> Chris -)-----
> 
> Obaid Farooqi wrote:
>> Hi Chris:
>> I'll help you with this issue and will get back to you as soon as I have an 
>> answer.
>>
>> Regards,
>> Obaid Farooqi
>> Escalation Engineer | Microsoft
>>
>> Exceeding your expectations is my highest priority.  If you would like 
>> to provide feedback on your case you may contact my manager at nkang 
>> at Microsoft dot com
>>
>>
>> -----Original Message-----
>> From: Christopher R. Hertel [mailto:[email protected]]
>> Sent: Tuesday, December 06, 2011 11:12 PM
>> To: Interoperability Documentation Help; [email protected]
>> Subject: SMB2 ProcessId header field for SYNC messages.
>>
>> Dochelp,
>>
>> Hi.
>>
>> The SYNC version of the SMB2 message header has a ProcessId field, 
>> which is described in [MS-SMB2] v20110920, section 2.2.1.2, pg30, as
>> follows:
>>
>>
>> ProcessId (4 bytes): The client-side identification of the process that
>>   issued the request. The client MUST set this field to 0xFEFF. The server
>>   MUST set this field to the ProcessId value received in the corresponding
>>   request, if any, or to 0 otherwise. The client MUST ignore this field on
>>   receipt.
>>
>>
>> That description, of course, makes no sense to me at all.  Sorry.
>>
>>   * The field is 4 bytes, but 0xFEFF is two bytes.  Does the doc mean
>>     0x0000FEFF or 0xFEFF0000 or something else?
>>
>>   * If the client "MUST" set the field to 0xFEFF, then the value is
>>     meaningless since it is always the same.  If it is always the same 
>>     value, then it cannot identify the process that issued the request.
>>
>>   * If the server "MUST" set this field to the value in the corresponding
>>     request, then surely the client "MUST" be able to set the field to 
>>     something other than 0xFEFF.
>>
>>   * When compsing the response, how could there not be a value in the
>>     corresponding request?  The only way I can imagine is that the request 
>>     was sent as an ASYNC request (no ProcessId field) and the server is 
>>     sending a SYNC response.  Is that even possible?
>>
>>   * The description states that the client must ignore the field.
>>     Shouldn't the client use the value in the field to ensure that
>>     the result is sent to the correct client process?
>>
>> Am I missing something in this description?  Hit me with the clue-bat.
>>
>> Thanks.
>>
>> Chris -)-----
>>
>> Microsoft is committed to protecting your privacy.  Please read the 
>> Microsoft Privacy Statement for more information.The above is an email for a 
>> support case from Microsoft Corp.REPLY ALL TO THIS MESSAGE or INCLUDE 
>> [email protected] IN YOUR REPLY if you want your response added to the 
>> case automatically. For technical assistance, please include the Support 
>> Engineer on the TO: line. Thank you.
>>
>> _______________________________________________
>> cifs-protocol mailing list
>> [email protected]
>> https://lists.samba.org/mailman/listinfo/cifs-protocol
> 
> --
> "Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
> Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
> jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
> ubiqx Team -- http://www.ubiqx.org/     -)-----   [email protected]
> OnLineBook -- http://ubiqx.org/cifs/    -)-----   [email protected]
> 
> 

-- 
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   [email protected]
OnLineBook -- http://ubiqx.org/cifs/    -)-----   [email protected]
_______________________________________________
cifs-protocol mailing list
[email protected]
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to