Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal packet-smb.c

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 2 Aug 2001 03:48:47 -0500 (CDT)
guy         2001/08/02 03:48:47 CDT

  Modified files:
    .                    packet-smb.c 
  Log:
  When looking for the request that matches a reply, match the PID as well
  as the MID and the conversation index; the current CIFS spec from the SNIA
  Web site says
  
  	The multiplex ID (Mid) is used along with the Pid to allow
  	multiplexing the single client and server connection among the
  	client's multiple processes, threads, and requests per thread.
  	Clients may have many outstanding requests (up to the negotiated
  	number, MaxMpxCount) at one time.  Servers MAY respond to
  	requests in any order, but a response message MUST always
  	contain the same Mid and Pid values as the corresponding request
  	message.  The client MUST NOT have multiple outstanding requests
  	to a server with the same Mid and Pid.
  
  (although, in practice, at least as I remember from working on the
  NetApp CIFS server N years ago, Windows clients tend to use the same PID
  in all requests, so only the MID acts as a transaction ID).
  
  When initializing the dissector, free up all the data attached to
  "smb_request_val" structures in the request hash table before destroying
  the hash table and the structures in question.
  
  Revision  Changes    Path
  1.89      +41 -7     ethereal/packet-smb.c