diff options
author | Michael Mann <mmann78@netscape.net> | 2017-09-22 21:57:50 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-09-23 03:42:14 +0000 |
commit | e7cc0279ab9a11319de521dfdf25057d1ff7ab7f (patch) | |
tree | 3607326ca0c45da15f84cb2f7e60c9042b254eb1 /epan/dissectors/packet-icmpv6.c | |
parent | 3c8750dfb3b9cef1af2e29159782b443dfcd32ff (diff) |
Have sequence analysis properly use filters from taps.
Sequence analysis has its own "filtering" system that required its
tap functions to look for some "filter flags". register_tap_listener()
already comes with a filter argument, so use that to simplify logic
of tap functions in dissectors.
Also have Qt GUI for Flow Graph look like other dialogs that have a
"Limit to display filter" checkbox.
Change-Id: I91d9d9599309786892f5b50c98692e52651e7174
Reviewed-on: https://code.wireshark.org/review/23659
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-icmpv6.c')
-rw-r--r-- | epan/dissectors/packet-icmpv6.c | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/epan/dissectors/packet-icmpv6.c b/epan/dissectors/packet-icmpv6.c index 10ef72d888..5a948727c1 100644 --- a/epan/dissectors/packet-icmpv6.c +++ b/epan/dissectors/packet-icmpv6.c @@ -1309,37 +1309,34 @@ static gboolean icmpv6_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *dummy _U_) { seq_analysis_info_t *sainfo = (seq_analysis_info_t *) ptr; + seq_analysis_item_t *sai = sequence_analysis_create_sai_with_addresses(pinfo, sainfo); - if ((sainfo->all_packets) || (pinfo->fd->flags.passed_dfilter == 1)) { + if (!sai) + return FALSE; - seq_analysis_item_t *sai = sequence_analysis_create_sai_with_addresses(pinfo, sainfo); - if (!sai) - return FALSE; + sai->frame_number = pinfo->num; - sai->frame_number = pinfo->num; + sequence_analysis_use_color_filter(pinfo, sai); - sequence_analysis_use_color_filter(pinfo, sai); + sai->port_src=pinfo->srcport; + sai->port_dst=pinfo->destport; - sai->port_src=pinfo->srcport; - sai->port_dst=pinfo->destport; + sequence_analysis_use_col_info_as_label_comment(pinfo, sai); - sequence_analysis_use_col_info_as_label_comment(pinfo, sai); + if (pinfo->ptype == PT_NONE) { + icmp_info_t *p_icmp_info = (icmp_info_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_icmpv6, 0); - if (pinfo->ptype == PT_NONE) { - icmp_info_t *p_icmp_info = (icmp_info_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_icmpv6, 0); - - if (p_icmp_info != NULL) { - sai->port_src = 0; - sai->port_dst = p_icmp_info->type * 256 + p_icmp_info->code; - } + if (p_icmp_info != NULL) { + sai->port_src = 0; + sai->port_dst = p_icmp_info->type * 256 + p_icmp_info->code; } + } - sai->line_style = 1; - sai->conv_num = 0; - sai->display = TRUE; + sai->line_style = 1; + sai->conv_num = 0; + sai->display = TRUE; - g_queue_push_tail(sainfo->items, sai); - } + g_queue_push_tail(sainfo->items, sai); return TRUE; } |