[cifs-protocol] [REG:112030256125953] [MS-CIFS] PendingRequestTable issues.

Christopher R. Hertel crh at samba.org
Sun Mar 4 21:53:30 MST 2012


Bryan,

Thanks for your follow-up on this.  The ProcessExit is an obscure command, 
one that was listed as obsolete in OS/2 LAN Manager documentation. 
Unfortunately, Windows supports it without discriminating based on dialect 
version, so it still "works" in modern Windows systems.  Its behavior is a 
little odd, because it is designed for DOS process semantics.

Good to see you last week.  Thanks again.

Chris -)-----

On 03/02/2012 09:21 AM, Bryan Burgin wrote:
> Chris,
>
> TDI 66246 filed.
> Thank you for reporting this.
>
> Bryan
>
> -----Original Message-----
> From: Bryan Burgin
> Sent: Friday, March 02, 2012 8:51 AM
> To: Christopher R. Hertel; cifs-protocol at samba.org; pfif at tridgell.net
> Cc: MSSolve Case Email
> Subject: [REG:112030256125953] [MS-CIFS] PendingRequestTable issues.
>
>
> [dochelp to bcc]
> [adding casemail and case number]
>
> Hi Chris.
>
> We created SR 112030256125953 to track this.  My intention is to file this as a TDI and then close this issue, as you are providing feedback.  Please let me know if you concur.
>
> Bryan
>
> -----Original Message-----
> From: Josh Curry
> Sent: Friday, March 02, 2012 7:34 AM
> To: Christopher R. Hertel; Interoperability Documentation Help; cifs-protocol at samba.org; pfif at tridgell.net
> Subject: RE: [MS-CIFS] PendingRequestTable issues.
>
> Hi Christopher, thank you for your question. A member of the protocol documentation team will be in touch with you soon.
>
> Josh Curry | Escalation Engineer | Open Specifications Support Team P +1 469 775 7215 One Microsoft Way, 98052, Redmond, WA, USA http://support.microsoft.com
>
>
> -----Original Message-----
> From: Christopher R. Hertel [mailto:crh at samba.org]
> Sent: Thursday, March 01, 2012 3:37 PM
> To: Interoperability Documentation Help; cifs-protocol at samba.org; pfif at tridgell.net
> Subject: Re: [MS-CIFS] PendingRequestTable issues.
>
> [Resending the message below due to a typo in the address.]
>
> Dochelp,
>
> In section 3.3.5.20 of [MS-CIFS] (Receiving an SMB_COM_PROCESS_EXIT Request), there is the following statement:
>
>     The server MUST search the Server.Connection.PendingRequestTable for
>     any pending commands that have the same UID, TID, PID, and MID as
>     presented in the request. If the SMB transport is connectionless,
>     the header SID value SHOULD<264>  also be used. For each matching
>     entry, the server MUST abort the pending operation. The client
>     process that made the aborted command request no longer exists to
>     receive the response.
>
> There are two problems with the above statement.
>
> 1) For connectionless transports, you would use the CID value.  The
>      CID is the Connection ID, used to identify a connection context
>      over a connectionless transport.  The SID is a search ID.
>
> 2) The server must search the Server.Connection.PendingRequestTable
>      for *all* pending requests under the same PID.  It is the PID
>      that is being closed.  If you only look for those matching all
>      of [PID, MID, UID, TID], as presented in the Exit request, you
>      have the following problems:
>      * There is no SID value presented in the SMB_COM_PROCESS_EXIT,
>        but there is a CID in the header.  More evidence that you
>        want CID not SID.
>      * No UID or TID are presented in the SMB_COM_PROCESS_EXIT
>        request, so you *cannot* match on those fields.
>      * The SMB_COM_PROCESS_EXIT is specific to a process, not a
>        MID within a process.  A single process may use several MIDs
>        to identify threads within the process.
>
>      So, above should read:
>
>
>     The server MUST search the Server.Connection.PendingRequestTable for
>     any pending commands that have the same PID as presented in the
>     request header. If the SMB transport is connectionless, the header
>     CID value SHOULD<264>  also be used. For each matching entry, the
>     server MUST abort the pending operation. The client process that
>     made the aborted command request no longer exists to receive the
>     response to the pending operations.
>
> Please note that the SID->CID change also impacts Windows Behavior Note<264>, which should read:
>
>     <264>  Section 3.3.5.20: Windows NT Server 4.0 does not use the CID
>     as a lookup key. The list of pending requests is associated with
>     the SMB transport, so the effect is the same.
>
> (That is, SID should be CID in that note.  The note is otherwise correct.)
>
> Chris -)-----
>
> --
> "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/     -)-----   crh at ubiqx.mn.org
> OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org
>
>
>

-- 
"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/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org


More information about the cifs-protocol mailing list