diff options
author | Chris Maynard <Christopher.Maynard@GTECH.COM> | 2011-07-01 19:17:02 +0000 |
---|---|---|
committer | Chris Maynard <Christopher.Maynard@GTECH.COM> | 2011-07-01 19:17:02 +0000 |
commit | 220341f369deac409a04bd080afc09a6be0c0813 (patch) | |
tree | 717d08a934ebae2801deb6dad1244a97e4734fef | |
parent | d927b60f217284256a6c43976a96fc1f465bacf5 (diff) |
I decode_tcp_ports(), don't abort processing zero window probe packets, even if the payload is only a single byte. Also, for the keep-alives, display any payload that might be present.
svn path=/trunk/; revision=37854
-rw-r--r-- | epan/dissectors/packet-tcp.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c index ebe0fcfade..15a12fe6d4 100644 --- a/epan/dissectors/packet-tcp.c +++ b/epan/dissectors/packet-tcp.c @@ -3401,13 +3401,14 @@ decode_tcp_ports(tvbuff_t *tvb, int offset, packet_info *pinfo, int save_desegment_offset; guint32 save_desegment_len; - /* dont call subdissectors for keepalive or zerowindowprobes - * even though they do contain payload "data" - * keeaplives just contain garbage and zwp contain too little data (1 byte) - * so why bother. + /* Don't call subdissectors for keepalives. Even though they do contain + * payload "data", it's just garbage. Display any data the keepalive + * packet might contain though. */ if(tcpd && tcpd->ta){ - if(tcpd->ta->flags&(TCP_A_ZERO_WINDOW_PROBE|TCP_A_KEEP_ALIVE)){ + if(tcpd->ta->flags&TCP_A_KEEP_ALIVE){ + next_tvb = tvb_new_subset_remaining(tvb, offset); + call_dissector(data_handle, next_tvb, pinfo, tree); return TRUE; } } |