aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Maynard <Christopher.Maynard@GTECH.COM>2011-07-01 19:17:02 +0000
committerChris Maynard <Christopher.Maynard@GTECH.COM>2011-07-01 19:17:02 +0000
commit220341f369deac409a04bd080afc09a6be0c0813 (patch)
tree717d08a934ebae2801deb6dad1244a97e4734fef
parentd927b60f217284256a6c43976a96fc1f465bacf5 (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.c11
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;
}
}