diff options
author | Sake Blok <sake@euronet.nl> | 2013-06-07 06:49:15 +0000 |
---|---|---|
committer | Sake Blok <sake@euronet.nl> | 2013-06-07 06:49:15 +0000 |
commit | f3ba09b543761927b4837a1584deab3bb9f30c53 (patch) | |
tree | cf8991d16c347742e512afa57cf69aa902ab63b2 /epan/dissectors/packet-tcp.c | |
parent | 506b417907f0fcb2dfb097cdb0ccdd5fab3a4aad (diff) |
Mark retransmitted SYN and FIN packets as retransmissions.
svn path=/trunk/; revision=49829
Diffstat (limited to 'epan/dissectors/packet-tcp.c')
-rw-r--r-- | epan/dissectors/packet-tcp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c index 101bea784c..a548302d9c 100644 --- a/epan/dissectors/packet-tcp.c +++ b/epan/dissectors/packet-tcp.c @@ -1060,14 +1060,15 @@ finished_fwd: /* RETRANSMISSION/FAST RETRANSMISSION/OUT-OF-ORDER - * If the segments contains data and if it does not advance - * sequence number it must be either of these three. + * If the segments contains data (or is a SYN or a FIN) and + * if it does not advance sequence number it must be either + * of these three. * Only test for this if we know what the seq number should be * (tcpd->fwd->nextseq) * * Note that a simple KeepAlive is not a retransmission */ - if( seglen>0 + if( (seglen>0 || flags&(TH_SYN|TH_FIN)) && tcpd->fwd->nextseq && (LT_SEQ(seq, tcpd->fwd->nextseq)) ) { guint64 t; |