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
