aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-tcp.c
diff options
context:
space:
mode:
authorcmaynard <cmaynard@f5534014-38df-0310-8fa8-9805f1628bb7>2011-07-01 19:17:02 +0000
committercmaynard <cmaynard@f5534014-38df-0310-8fa8-9805f1628bb7>2011-07-01 19:17:02 +0000
commit5a98241f0ba6dc4b18d8512b959a2ebf1ca825c7 (patch)
tree717d08a934ebae2801deb6dad1244a97e4734fef /epan/dissectors/packet-tcp.c
parent7d968e21783219b5139ebe7ae7777caa259d062e (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.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@37854 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-tcp.c')
-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;
}
}