diff options
author | sfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-11-03 04:45:35 +0000 |
---|---|---|
committer | sfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-11-03 04:45:35 +0000 |
commit | ff6826fcd9d9cc3ff493fabf2ce7542734be322e (patch) | |
tree | 67b00d2ef6bab5c1cde3d093069ef84229c91527 /epan/dissectors/packet-udp.c | |
parent | a1da43a84734f18a2838a9bfa0a01a2c351b9416 (diff) |
- Future improve/clean up the now generic follow stream code
- Add "Follow UDP Stream" feature
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23346 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-udp.c')
-rw-r--r-- | epan/dissectors/packet-udp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/epan/dissectors/packet-udp.c b/epan/dissectors/packet-udp.c index ea1f825b10..a7da76e6c6 100644 --- a/epan/dissectors/packet-udp.c +++ b/epan/dissectors/packet-udp.c @@ -49,6 +49,7 @@ #include <epan/tap.h> static int udp_tap = -1; +static int udp_follow_tap = -1; static int proto_udp = -1; static int proto_udplite = -1; @@ -110,8 +111,14 @@ decode_udp_ports(tvbuff_t *tvb, int offset, packet_info *pinfo, if (len > reported_len) len = reported_len; } + next_tvb = tvb_new_subset(tvb, offset, len, reported_len); + /* If the user has a "Follow UDP Stream" window loading, pass a pointer + * to the payload tvb through the tap system. */ + if(have_tap_listener(udp_follow_tap)) + tap_queue_packet(udp_follow_tap, pinfo, next_tvb); + /* determine if this packet is part of a conversation and call dissector */ /* for the conversation if available */ @@ -532,4 +539,5 @@ proto_reg_handoff_udp(void) dissector_add("ip.proto", IP_PROTO_UDPLITE, udplite_handle); data_handle = find_dissector("data"); udp_tap = register_tap("udp"); + udp_follow_tap = register_tap("udp_follow"); } |