Wireshark-commits: [Wireshark-commits] rev 42774: /trunk/epan/dissectors/ /trunk/epan/dissectors/:
Date: Tue, 22 May 2012 07:51:12 GMT
http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=42774

User: sahlberg
Date: 2012/05/22 12:51 AM

Log:
 TCP: Some protocols running ontop of TCP needs the PDUs to be delivered in order. for example decryption of DCERPCoverHTTP.
 For such protocols, hte state gets out of sync of for example the same PDU is invoked twice in a row, which sometimes can happen if there is tcp retransmission and we see the same PDU twice. First for hte original segment and a second time for the tcp retransmission.
 These protocols might lack an easy way to detect that a PDU is seen twice or out of order.
 
 To handle this a little better, offer a TCP option that defaults to being disabled but when enabled skips invoking any subdissector for retransmitted or out of order packets.
 (For some virtualization environments it sometimes becomes VERY common to see false tcp retransmissions due to segments being captured twice making this even worse)
 
 
 We dont want this option to default to ON because for most cases we do want the current behaviour where the subdissector is called twice, or more, for any PDU that is retrasnmitted on the TPC layer.
 For example, assume a SMB response packet is retransmitted on the TCP level.
 This may result in a capture file that looks like
 1 -> SMB request
 2 <- SMB response to 1  
 ... 1 second ...
 3 <- SMB response to 1   TCP retransmission
 
 For this case we definitely want packet 3 to be passed to the SMB layer so that 
 the request/respons ematching will detect that the response time for this transaction was > 1.0 second
 We want smb.time to indicate the delta betwenn packets 1 and 3
 as well as the SMB Service Response Time to indicate that this command took very long.

Directory: /trunk/epan/dissectors/
  Changes    Path            Action
  +28 -0     packet-tcp.c    Modified