diff options
31 files changed, 233 insertions, 140 deletions
diff --git a/epan/dissectors/packet-bootp.c b/epan/dissectors/packet-bootp.c index 86eef5bd89..0de17f837d 100644 --- a/epan/dissectors/packet-bootp.c +++ b/epan/dissectors/packet-bootp.c @@ -3305,7 +3305,7 @@ dissect_bootp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree *bp_tree; proto_item *ti; proto_tree *flag_tree; - proto_item *fi; + proto_item *fi, *hidden_item; guint8 op; guint8 htype, hlen; const guint8 *haddr; @@ -3520,8 +3520,10 @@ dissect_bootp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } voff = VENDOR_INFO_OFFSET; - if (dhcp_type != NULL) - proto_tree_add_boolean_hidden(bp_tree, hf_bootp_dhcp, tvb, 0, 0, 1); + if (dhcp_type != NULL) { + hidden_item = proto_tree_add_boolean(bp_tree, hf_bootp_dhcp, tvb, 0, 0, 1); + PROTO_ITEM_SET_HIDDEN(hidden_item); + } if (tvb_bytes_exist(tvb, voff, 4) && (tvb_get_ntohl(tvb, voff) == 0x63825363)) { ip_addr = tvb_get_ipv4(tvb, voff); diff --git a/epan/dissectors/packet-brdwlk.c b/epan/dissectors/packet-brdwlk.c index 1a74ccca7c..f48b59908d 100644 --- a/epan/dissectors/packet-brdwlk.c +++ b/epan/dissectors/packet-brdwlk.c @@ -222,7 +222,7 @@ dissect_brdwlk (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { /* Set up structures needed to add the protocol subtree and manage it */ - proto_item *ti; + proto_item *ti, *hidden_item; proto_tree *brdwlk_tree = NULL; tvbuff_t *next_tvb; guint8 error, eof, sof; @@ -334,8 +334,9 @@ dissect_brdwlk (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } if (tree) { - proto_tree_add_boolean_hidden (brdwlk_tree, hf_brdwlk_drop, + hidden_item = proto_tree_add_boolean (brdwlk_tree, hf_brdwlk_drop, tvb, offset, 0, dropped_packets); + PROTO_ITEM_SET_HIDDEN(hidden_item); } } packet_count = pkt_cnt; diff --git a/epan/dissectors/packet-dcerpc.c b/epan/dissectors/packet-dcerpc.c index 4ce3aae5a6..3c43b37719 100644 --- a/epan/dissectors/packet-dcerpc.c +++ b/epan/dissectors/packet-dcerpc.c @@ -2190,7 +2190,7 @@ dcerpc_try_handoff (packet_info *pinfo, proto_tree *tree, volatile guint auth_pad_len; volatile int auth_pad_offset; proto_item *sub_item=NULL; - proto_item *pi; + proto_item *pi, *hidden_item; key.uuid = info->call_data->uuid; key.ver = info->call_data->ver; @@ -2203,8 +2203,9 @@ dcerpc_try_handoff (packet_info *pinfo, proto_tree *tree, * for that UUID is disabled. */ - proto_tree_add_boolean_hidden(dcerpc_tree, hf_dcerpc_unknown_if_id, - tvb, offset, 0, TRUE); + hidden_item = proto_tree_add_boolean(dcerpc_tree, hf_dcerpc_unknown_if_id, + tvb, offset, 0, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); if (check_col (pinfo->cinfo, COL_INFO)) { col_append_fstr (pinfo->cinfo, COL_INFO, " %s V%u", guids_resolve_uuid_to_str(&info->call_data->uuid), info->call_data->ver); diff --git a/epan/dissectors/packet-dnp.c b/epan/dissectors/packet-dnp.c index e5d343d70f..f941d36628 100644 --- a/epan/dissectors/packet-dnp.c +++ b/epan/dissectors/packet-dnp.c @@ -2223,7 +2223,7 @@ dissect_dnp3_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { /* Set up structures needed to add the protocol subtree and manage it */ - proto_item *ti = NULL, *tdl, *tc, *al_chunks; + proto_item *ti = NULL, *tdl, *tc, *al_chunks, *hidden_item; proto_tree *dnp3_tree = NULL, *dl_tree = NULL, *tr_tree = NULL, *field_tree = NULL, *al_tree = NULL; int offset = 0, temp_offset = 0, al_result = 0; gboolean dl_prm, tr_fir, tr_fin; @@ -2354,8 +2354,9 @@ dissect_dnp3_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) dl_crc, "CRC: 0x%04x [correct]", dl_crc); else { - proto_tree_add_boolean_hidden(dl_tree, hf_dnp_hdr_CRC_bad, tvb, - offset, 2, TRUE); + hidden_item = proto_tree_add_boolean(dl_tree, hf_dnp_hdr_CRC_bad, tvb, + offset, 2, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint_format(dl_tree, hf_dnp_hdr_CRC, tvb, offset, 2, dl_crc, "CRC: 0x%04x [incorrect, should be 0x%04x]", dl_crc, calc_dl_crc); diff --git a/epan/dissectors/packet-echo.c b/epan/dissectors/packet-echo.c index 4883adc15f..eaa6f1f84c 100644 --- a/epan/dissectors/packet-echo.c +++ b/epan/dissectors/packet-echo.c @@ -50,7 +50,7 @@ static void dissect_echo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree *echo_tree = NULL; - proto_item *ti; + proto_item *ti, *hidden_item; int offset = 0; gboolean request = FALSE; const guint8 *data = tvb_get_ptr(tvb, offset, -1); @@ -74,11 +74,11 @@ static void dissect_echo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) echo_tree = proto_item_add_subtree(ti, ett_echo); if (request) { - proto_tree_add_boolean_hidden(echo_tree, hf_echo_request, tvb, 0, 0, 1); - + hidden_item = proto_tree_add_boolean(echo_tree, hf_echo_request, tvb, 0, 0, 1); } else { - proto_tree_add_boolean_hidden(echo_tree, hf_echo_response, tvb, 0, 0, 1); + hidden_item = proto_tree_add_boolean(echo_tree, hf_echo_response, tvb, 0, 0, 1); } + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_bytes(echo_tree, hf_echo_data, tvb, offset, -1, data); diff --git a/epan/dissectors/packet-fc.c b/epan/dissectors/packet-fc.c index 320411b669..ae6a2ad65d 100644 --- a/epan/dissectors/packet-fc.c +++ b/epan/dissectors/packet-fc.c @@ -624,7 +624,7 @@ static void dissect_fc_helper (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean is_ifcp) { /* Set up structures needed to add the protocol subtree and manage it */ - proto_item *ti=NULL; + proto_item *ti=NULL, *hidden_item; proto_tree *fc_tree = NULL; tvbuff_t *next_tvb; int offset = 0, next_offset; @@ -906,24 +906,27 @@ dissect_fc_helper (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean fchdr.r_ctl & 0x0F); break; } - - proto_tree_add_uint_hidden (fc_tree, hf_fc_ftype, tvb, offset, 1, - ftype); + + hidden_item = proto_tree_add_uint (fc_tree, hf_fc_ftype, tvb, offset, 1, + ftype); + PROTO_ITEM_SET_HIDDEN(hidden_item); /* XXX - use "fc_wka_vals[]" on this? */ proto_tree_add_string (fc_tree, hf_fc_did, tvb, offset+1, 3, fc_to_str (fchdr.d_id.data)); - proto_tree_add_string_hidden (fc_tree, hf_fc_id, tvb, offset+1, 3, - fc_to_str (fchdr.d_id.data)); + hidden_item = proto_tree_add_string (fc_tree, hf_fc_id, tvb, offset+1, 3, + fc_to_str (fchdr.d_id.data)); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint (fc_tree, hf_fc_csctl, tvb, offset+4, 1, fchdr.cs_ctl); /* XXX - use "fc_wka_vals[]" on this? */ proto_tree_add_string (fc_tree, hf_fc_sid, tvb, offset+5, 3, fc_to_str (fchdr.s_id.data)); - proto_tree_add_string_hidden (fc_tree, hf_fc_id, tvb, offset+5, 3, - fc_to_str (fchdr.s_id.data)); - + hidden_item = proto_tree_add_string (fc_tree, hf_fc_id, tvb, offset+5, 3, + fc_to_str (fchdr.s_id.data)); + PROTO_ITEM_SET_HIDDEN(hidden_item); + if (ftype == FC_FTYPE_LINKCTL) { if (((fchdr.r_ctl & 0x0F) == FC_LCTL_FBSYB) || ((fchdr.r_ctl & 0x0F) == FC_LCTL_FBSYL)) { @@ -1127,17 +1130,19 @@ dissect_fc_helper (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean tvb_set_child_real_data_tvbuff(tvb, next_tvb); /* Add the defragmented data to the data source list. */ - add_new_data_source(pinfo, next_tvb, "Reassembled FC"); + add_new_data_source(pinfo, next_tvb, "Reassembled FC"); - if (tree) { - proto_tree_add_boolean_hidden (fc_tree, hf_fc_reassembled, - tvb, offset+9, 1, 1); - } + if (tree) { + hidden_item = proto_tree_add_boolean (fc_tree, hf_fc_reassembled, + tvb, offset+9, 1, 1); + PROTO_ITEM_SET_HIDDEN(hidden_item); + } } else { if (tree) { - proto_tree_add_boolean_hidden (fc_tree, hf_fc_reassembled, - tvb, offset+9, 1, 0); + hidden_item = proto_tree_add_boolean (fc_tree, hf_fc_reassembled, + tvb, offset+9, 1, 0); + PROTO_ITEM_SET_HIDDEN(hidden_item); } next_tvb = tvb_new_subset (tvb, next_offset, -1, -1); call_dissector (data_handle, next_tvb, pinfo, tree); @@ -1146,8 +1151,9 @@ dissect_fc_helper (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean } } else { if (tree) { - proto_tree_add_boolean_hidden (fc_tree, hf_fc_reassembled, - tvb, offset+9, 1, 0); + hidden_item = proto_tree_add_boolean (fc_tree, hf_fc_reassembled, + tvb, offset+9, 1, 0); + PROTO_ITEM_SET_HIDDEN(hidden_item); } next_tvb = tvb_new_subset (tvb, next_offset, -1, -1); } diff --git a/epan/dissectors/packet-ftp.c b/epan/dissectors/packet-ftp.c index 1c44f51c89..ef7066f174 100644 --- a/epan/dissectors/packet-ftp.c +++ b/epan/dissectors/packet-ftp.c @@ -298,7 +298,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) gboolean is_request; proto_tree *ftp_tree = NULL; proto_tree *reqresp_tree = NULL; - proto_item *ti; + proto_item *ti, *hidden_item; gint offset = 0; const guchar *line; guint32 code; @@ -353,15 +353,19 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) ftp_tree = proto_item_add_subtree(ti, ett_ftp); if (is_request) { - proto_tree_add_boolean_hidden(ftp_tree, + hidden_item = proto_tree_add_boolean(ftp_tree, hf_ftp_request, tvb, 0, 0, TRUE); - proto_tree_add_boolean_hidden(ftp_tree, + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_boolean(ftp_tree, hf_ftp_response, tvb, 0, 0, FALSE); + PROTO_ITEM_SET_HIDDEN(hidden_item); } else { - proto_tree_add_boolean_hidden(ftp_tree, + hidden_item = proto_tree_add_boolean(ftp_tree, hf_ftp_request, tvb, 0, 0, FALSE); - proto_tree_add_boolean_hidden(ftp_tree, + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_boolean(ftp_tree, hf_ftp_response, tvb, 0, 0, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); } /* diff --git a/epan/dissectors/packet-gift.c b/epan/dissectors/packet-gift.c index 5a3fd353cd..c27e450691 100644 --- a/epan/dissectors/packet-gift.c +++ b/epan/dissectors/packet-gift.c @@ -48,7 +48,7 @@ static gint ett_gift_cmd = -1; static void dissect_gift(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - proto_item *ti; + proto_item *ti, *hidden_item; proto_tree *gift_tree, *cmd_tree; gboolean is_request; gint offset = 0; @@ -87,10 +87,11 @@ dissect_gift(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) gift_tree = proto_item_add_subtree(ti, ett_gift); if (is_request) { - proto_tree_add_boolean_hidden(gift_tree, hf_gift_request, tvb, 0, 0, TRUE); + hidden_item = proto_tree_add_boolean(gift_tree, hf_gift_request, tvb, 0, 0, TRUE); } else { - proto_tree_add_boolean_hidden(gift_tree, hf_gift_response, tvb, 0, 0, TRUE); + hidden_item = proto_tree_add_boolean(gift_tree, hf_gift_response, tvb, 0, 0, TRUE); } + PROTO_ITEM_SET_HIDDEN(hidden_item); ti = proto_tree_add_text(gift_tree, tvb, offset, next_offset - offset, "%s", tvb_format_text(tvb, offset, next_offset - offset)); diff --git a/epan/dissectors/packet-h223.c b/epan/dissectors/packet-h223.c index a96e339fee..29ee522e15 100644 --- a/epan/dissectors/packet-h223.c +++ b/epan/dissectors/packet-h223.c @@ -620,7 +620,7 @@ static void dissect_mux_al_pdu( tvbuff_t *tvb, h223_lc_params* lc_params ) { proto_tree *al_tree = NULL; - proto_item *al_item; + proto_item *al_item, *hidden_item; proto_tree *al_subtree; proto_item *al_subitem = NULL; proto_item *tmp_item; @@ -639,8 +639,10 @@ static void dissect_mux_al_pdu( tvbuff_t *tvb, al_item = proto_tree_add_none_format(vc_tree, hf_h223_al1, tvb, 0, -1, "H.223 AL1 (%sframed)", (lc_params->al_type==al1Framed)?"":"not "); al_tree = proto_item_add_subtree (al_item, ett_h223_al1); - if(lc_params->al_type == al1Framed) - proto_tree_add_boolean_hidden(al_tree, hf_h223_al1_framed, tvb, 0, 1, TRUE ); + if(lc_params->al_type == al1Framed) { + hidden_item = proto_tree_add_boolean(al_tree, hf_h223_al1_framed, tvb, 0, 1, TRUE ); + PROTO_ITEM_SET_HIDDEN(hidden_item); + } next_tvb = tvb; al_subitem = proto_tree_add_item(al_tree, hf_h223_al_payload, next_tvb, 0, -1, FALSE); break; diff --git a/epan/dissectors/packet-icmpv6.c b/epan/dissectors/packet-icmpv6.c index ba13b73755..a3cf20bbd5 100644 --- a/epan/dissectors/packet-icmpv6.c +++ b/epan/dissectors/packet-icmpv6.c @@ -1426,7 +1426,7 @@ static void dissect_icmpv6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree *icmp6_tree, *field_tree; - proto_item *ti, *tf = NULL; + proto_item *ti, *hidden_item, *tf = NULL; struct icmp6_hdr icmp6_hdr, *dp; struct icmp6_nodeinfo *ni = NULL; const char *codename, *typename; @@ -1724,10 +1724,11 @@ dissect_icmpv6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) cksum, "Checksum: 0x%04x [correct]", cksum); } else { - proto_tree_add_boolean_hidden(icmp6_tree, hf_icmpv6_checksum_bad, + hidden_item = proto_tree_add_boolean(icmp6_tree, hf_icmpv6_checksum_bad, tvb, offset + offsetof(struct icmp6_hdr, icmp6_cksum), 2, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint_format(icmp6_tree, hf_icmpv6_checksum, tvb, offset + offsetof(struct icmp6_hdr, icmp6_cksum), 2, diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index 3f27ed2002..89b65c3c21 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -3923,7 +3923,7 @@ dissect_frame_control(proto_tree * tree, tvbuff_t * tvb, gboolean wlan_broken_fc { guint16 fcf, flags, frame_type_subtype; proto_tree *fc_tree, *flag_tree; - proto_item *fc_item, *flag_item; + proto_item *fc_item, *flag_item, *hidden_item; fcf = FETCH_FCF(offset); @@ -3956,8 +3956,10 @@ dissect_frame_control(proto_tree * tree, tvbuff_t * tvb, gboolean wlan_broken_fc flag_tree = proto_item_add_subtree (flag_item, ett_proto_flags); proto_tree_add_uint (flag_tree, hf_fc_data_ds, tvb, wlan_broken_fc?offset:offset+1, 1, FLAGS_DS_STATUS (flags)); - proto_tree_add_boolean_hidden (flag_tree, hf_fc_to_ds, tvb, offset+1, 1, flags); - proto_tree_add_boolean_hidden (flag_tree, hf_fc_from_ds, tvb, offset+1, 1, flags); + hidden_item = proto_tree_add_boolean (flag_tree, hf_fc_to_ds, tvb, offset+1, 1, flags); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_boolean (flag_tree, hf_fc_from_ds, tvb, offset+1, 1, flags); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_boolean (flag_tree, hf_fc_more_frag, tvb, wlan_broken_fc?offset:offset+1, 1, flags); proto_tree_add_boolean (flag_tree, hf_fc_retry, tvb, wlan_broken_fc?offset:offset+1, 1, @@ -5626,6 +5628,7 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo, proto_item *ti = NULL; proto_item *fcs_item = NULL; proto_item *cw_item = NULL; + proto_item *hidden_item; proto_tree *hdr_tree = NULL; proto_tree *fcs_tree = NULL; proto_tree *cw_tree = NULL; @@ -5762,8 +5765,10 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo, proto_tree_add_ether (hdr_tree, hf_addr_sa, tvb, 10, 6, src); /* add items for wlan.addr filter */ - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 4, 6, dst); - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 10, 6, src); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 4, 6, dst); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 10, 6, src); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_ether (hdr_tree, hf_addr_bssid, tvb, 16, 6, tvb_get_ptr (tvb, 16, 6)); @@ -6129,8 +6134,10 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo, seq_number); /* add items for wlan.addr filter */ - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 4, 6, dst); - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 10, 6, src); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 4, 6, dst); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 10, 6, src); + PROTO_ITEM_SET_HIDDEN(hidden_item); break; case DATA_ADDR_T2: @@ -6144,8 +6151,10 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo, seq_number); /* add items for wlan.addr filter */ - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 4, 6, dst); - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 16, 6, src); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 4, 6, dst); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 16, 6, src); + PROTO_ITEM_SET_HIDDEN(hidden_item); break; case DATA_ADDR_T3: @@ -6160,8 +6169,10 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo, seq_number); /* add items for wlan.addr filter */ - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 10, 6, src); - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 16, 6, dst); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 10, 6, src); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 16, 6, dst); + PROTO_ITEM_SET_HIDDEN(hidden_item); break; case DATA_ADDR_T4: @@ -6177,8 +6188,10 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo, proto_tree_add_ether (hdr_tree, hf_addr_sa, tvb, 24, 6, src); /* add items for wlan.addr filter */ - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 16, 6, dst); - proto_tree_add_ether_hidden(hdr_tree, hf_addr, tvb, 24, 6, src); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 16, 6, dst); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 24, 6, src); + PROTO_ITEM_SET_HIDDEN(hidden_item); break; } diff --git a/epan/dissectors/packet-igmp.c b/epan/dissectors/packet-igmp.c index d4a1c7f999..c07e9db71a 100644 --- a/epan/dissectors/packet-igmp.c +++ b/epan/dissectors/packet-igmp.c @@ -330,6 +330,7 @@ void igmp_checksum(proto_tree *tree, tvbuff_t *tvb, int hf_index, { guint16 cksum, hdrcksum; vec_t cksum_vec[1]; + proto_item *hidden_item; if (len == 0) { /* @@ -354,8 +355,9 @@ void igmp_checksum(proto_tree *tree, tvbuff_t *tvb, int hf_index, tvb, 2, 2, hdrcksum, "Header checksum: 0x%04x [correct]", hdrcksum); } else { - proto_tree_add_boolean_hidden(tree, hf_index_bad, + hidden_item = proto_tree_add_boolean(tree, hf_index_bad, tvb, 2, 2, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint_format(tree, hf_index, tvb, 2, 2, hdrcksum, "Header checksum: 0x%04x [incorrect, should be 0x%04x]", hdrcksum,in_cksum_shouldbe(hdrcksum,cksum)); diff --git a/epan/dissectors/packet-imap.c b/epan/dissectors/packet-imap.c index 7e1d4cef9f..f44bcc0aff 100644 --- a/epan/dissectors/packet-imap.c +++ b/epan/dissectors/packet-imap.c @@ -50,7 +50,7 @@ dissect_imap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { gboolean is_request; proto_tree *imap_tree, *reqresp_tree; - proto_item *ti; + proto_item *ti, *hidden_item; gint offset = 0; const guchar *line; gint next_offset; @@ -86,12 +86,13 @@ dissect_imap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) imap_tree = proto_item_add_subtree(ti, ett_imap); if (is_request) { - proto_tree_add_boolean_hidden(imap_tree, + hidden_item = proto_tree_add_boolean(imap_tree, hf_imap_request, tvb, 0, 0, TRUE); } else { - proto_tree_add_boolean_hidden(imap_tree, + hidden_item = proto_tree_add_boolean(imap_tree, hf_imap_response, tvb, 0, 0, TRUE); } + PROTO_ITEM_SET_HIDDEN(hidden_item); while(tvb_length_remaining(tvb, offset) > 2) { diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c index df003f4a3e..2cb804b78d 100644 --- a/epan/dissectors/packet-ip.c +++ b/epan/dissectors/packet-ip.c @@ -1749,7 +1749,7 @@ dissect_mpls_extensions(tvbuff_t *tvb, size_t offset, proto_tree *tree) guint16 reserved; guint16 cksum, computed_cksum; guint16 obj_length, obj_trunc_length; - proto_item *ti, *tf_object, *tf_entry; + proto_item *ti, *tf_object, *tf_entry, *hidden_item; proto_tree *mpls_tree=NULL, *mpls_object_tree, *mpls_stack_object_tree; guint obj_end_offset; guint reported_length; @@ -1798,8 +1798,9 @@ dissect_mpls_extensions(tvbuff_t *tvb, size_t offset, proto_tree *tree) } else { - proto_tree_add_boolean_hidden(mpls_tree, hf_icmp_mpls_checksum_bad, tvb, + hidden_item = proto_tree_add_boolean(mpls_tree, hf_icmp_mpls_checksum_bad, tvb, offset + 2, 2, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint_format(mpls_tree, hf_icmp_mpls_checksum, tvb, offset + 2, 2, cksum, diff --git a/epan/dissectors/packet-ipx.c b/epan/dissectors/packet-ipx.c index f1a31020e9..354e40ce33 100644 --- a/epan/dissectors/packet-ipx.c +++ b/epan/dissectors/packet-ipx.c @@ -239,7 +239,7 @@ dissect_ipx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) tvbuff_t *next_tvb; proto_tree *ipx_tree = NULL; - proto_item *ti = NULL; + proto_item *ti = NULL, *hidden_item; const guint8 *src_net_node, *dst_net_node; @@ -298,11 +298,15 @@ dissect_ipx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } str=address_to_str(&pinfo->net_src); - proto_tree_add_string_hidden(ipx_tree, hf_ipx_src, tvb, 0, 0, str); - proto_tree_add_string_hidden(ipx_tree, hf_ipx_addr, tvb, 0, 0, str); + hidden_item = proto_tree_add_string(ipx_tree, hf_ipx_src, tvb, 0, 0, str); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_string(ipx_tree, hf_ipx_addr, tvb, 0, 0, str); + PROTO_ITEM_SET_HIDDEN(hidden_item); str=address_to_str(&pinfo->net_dst); - proto_tree_add_string_hidden(ipx_tree, hf_ipx_dst, tvb, 0, 0, str); - proto_tree_add_string_hidden(ipx_tree, hf_ipx_addr, tvb, 0, 0, str); + hidden_item = proto_tree_add_string(ipx_tree, hf_ipx_dst, tvb, 0, 0, str); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_string(ipx_tree, hf_ipx_addr, tvb, 0, 0, str); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_item(ipx_tree, hf_ipx_checksum, tvb, 0, 2, FALSE); proto_tree_add_uint_format(ipx_tree, hf_ipx_len, tvb, 2, 2, ipxh->ipx_length, @@ -316,33 +320,39 @@ dissect_ipx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) ipx_dnet = tvb_get_ntohl(tvb, 6); proto_tree_add_ipxnet(ipx_tree, hf_ipx_dnet, tvb, 6, 4, ipx_dnet); - proto_tree_add_ipxnet_hidden(ipx_tree, hf_ipx_net, tvb, 6, 4, + hidden_item = proto_tree_add_ipxnet(ipx_tree, hf_ipx_net, tvb, 6, 4, ipx_dnet); + PROTO_ITEM_SET_HIDDEN(hidden_item); ipx_dnode = tvb_get_ptr(tvb, 10, 6); proto_tree_add_ether(ipx_tree, hf_ipx_dnode, tvb, 10, 6, ipx_dnode); - proto_tree_add_ether_hidden(ipx_tree, hf_ipx_node, tvb, 10, 6, + hidden_item = proto_tree_add_ether(ipx_tree, hf_ipx_node, tvb, 10, 6, ipx_dnode); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint(ipx_tree, hf_ipx_dsocket, tvb, 16, 2, ipxh->ipx_dsocket); - proto_tree_add_uint_hidden(ipx_tree, hf_ipx_socket, tvb, 16, 2, + hidden_item = proto_tree_add_uint(ipx_tree, hf_ipx_socket, tvb, 16, 2, ipxh->ipx_dsocket); + PROTO_ITEM_SET_HIDDEN(hidden_item); /* Source */ ipx_snet = tvb_get_ntohl(tvb, 18); proto_tree_add_ipxnet(ipx_tree, hf_ipx_snet, tvb, 18, 4, ipx_snet); - proto_tree_add_ipxnet_hidden(ipx_tree, hf_ipx_net, tvb, 18, 4, + hidden_item = proto_tree_add_ipxnet(ipx_tree, hf_ipx_net, tvb, 18, 4, ipx_snet); + PROTO_ITEM_SET_HIDDEN(hidden_item); ipx_snode = tvb_get_ptr(tvb, 22, 6); proto_tree_add_ether(ipx_tree, hf_ipx_snode, tvb, 22, 6, ipx_snode); - proto_tree_add_ether_hidden(ipx_tree, hf_ipx_node, tvb, 22, 6, + hidden_item = proto_tree_add_ether(ipx_tree, hf_ipx_node, tvb, 22, 6, ipx_snode); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint(ipx_tree, hf_ipx_ssocket, tvb, 28, 2, ipxh->ipx_ssocket); - proto_tree_add_uint_hidden(ipx_tree, hf_ipx_socket, tvb, 28, 2, + hidden_item = proto_tree_add_uint(ipx_tree, hf_ipx_socket, tvb, 28, 2, ipxh->ipx_ssocket); + PROTO_ITEM_SET_HIDDEN(hidden_item); /* Make the next tvbuff */ next_tvb = tvb_new_subset(tvb, IPX_HEADER_LEN, -1, -1); @@ -859,7 +869,7 @@ static void dissect_ipxrip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree *rip_tree; - proto_item *ti; + proto_item *ti, *hidden_item; guint16 operation; struct ipx_rt_def route; int cursor; @@ -888,14 +898,15 @@ dissect_ipxrip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) "RIP packet type: %s", rip_type[operation]); if (operation == 0) { - proto_tree_add_boolean_hidden(rip_tree, + hidden_item = proto_tree_add_boolean(rip_tree, hf_ipxrip_request, tvb, 0, 2, 1); } else { - proto_tree_add_boolean_hidden(rip_tree, + hidden_item = proto_tree_add_boolean(rip_tree, hf_ipxrip_response, tvb, 0, 2, 1); } + PROTO_ITEM_SET_HIDDEN(hidden_item); } else { @@ -1198,7 +1209,7 @@ static void dissect_ipxsap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree *sap_tree, *s_tree; - proto_item *ti; + proto_item *ti, *hidden_item; int cursor; struct sap_query query; guint16 server_type; @@ -1233,14 +1244,15 @@ dissect_ipxsap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (query.query_type >= 1 && query.query_type <= 4) { proto_tree_add_text(sap_tree, tvb, 0, 2, sap_type[query.query_type - 1]); if ((query.query_type - 1) % 2) { - proto_tree_add_boolean_hidden(sap_tree, + hidden_item = proto_tree_add_boolean(sap_tree, hf_sap_response, tvb, 0, 2, 1); } else { - proto_tree_add_boolean_hidden(sap_tree, + hidden_item = proto_tree_add_boolean(sap_tree, hf_sap_request, tvb, 0, 2, 1); } + PROTO_ITEM_SET_HIDDEN(hidden_item); } else { proto_tree_add_text(sap_tree, tvb, 0, 2, diff --git a/epan/dissectors/packet-jabber.c b/epan/dissectors/packet-jabber.c index a04d03f0ab..9973777bfe 100644 --- a/epan/dissectors/packet-jabber.c +++ b/epan/dissectors/packet-jabber.c @@ -53,7 +53,7 @@ dissect_jabber(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { gboolean is_request; proto_tree *jabber_tree; - proto_item *ti; + proto_item *ti, *hidden_item; gint offset = 0; const guchar *line; gint next_offset; @@ -94,12 +94,13 @@ dissect_jabber(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) jabber_tree = proto_item_add_subtree(ti, ett_jabber); if (is_request) { - proto_tree_add_boolean_hidden(jabber_tree, + hidden_item = proto_tree_add_boolean(jabber_tree, hf_jabber_request, tvb, 0, 0, TRUE); } else { - proto_tree_add_boolean_hidden(jabber_tree, + hidden_item = proto_tree_add_boolean(jabber_tree, hf_jabber_response, tvb, 0, 0, TRUE); } + PROTO_ITEM_SET_HIDDEN(hidden_item); xmltvb = tvb_new_subset(tvb, offset, -1, -1); call_dissector(xml_handle, xmltvb, pinfo, jabber_tree); diff --git a/epan/dissectors/packet-lmp.c b/epan/dissectors/packet-lmp.c index f3437d740a..b90b711c2a 100644 --- a/epan/dissectors/packet-lmp.c +++ b/epan/dissectors/packet-lmp.c @@ -1311,6 +1311,7 @@ dissect_lmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree *lmp_object_header_tree; proto_tree *lmp_flags_tree; proto_tree *lmp_subobj_tree; + proto_item *hidden_item; guint8 version; guint8 flags; @@ -1371,9 +1372,10 @@ dissect_lmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if ((message_type >= LMP_MSG_CONFIG && message_type <= LMP_MSG_CHANNEL_STATUS_RESP) || (message_type >= LMP_MSG_SERVICE_CONFIG && message_type <= LMP_MSG_SERVICE_CONFIG_NACK) || (message_type >= LMP_MSG_DISCOVERY_RESP && message_type <= LMP_MSG_DISCOVERY_RESP_NACK) ) { - proto_tree_add_boolean_hidden(lmp_header_tree, + hidden_item = proto_tree_add_boolean(lmp_header_tree, lmp_filter[lmp_msg_to_filter_num(message_type)], tvb, offset+3, 1, 1); + PROTO_ITEM_SET_HIDDEN(hidden_item); } else { proto_tree_add_protocol_format(lmp_header_tree, proto_malformed, tvb, offset+3, 1, "Invalid message type: %u", message_type); @@ -1417,8 +1419,9 @@ dissect_lmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) type = tvb_get_guint8(tvb, offset); negotiable = (type >> 7); type &= 0x7f; object_type = val_to_str(class, lmp_class_vals, "Unknown"); - proto_tree_add_uint_hidden(lmp_tree, lmp_filter[LMPF_OBJECT], tvb, + hidden_item = proto_tree_add_uint(lmp_tree, lmp_filter[LMPF_OBJECT], tvb, offset, 1, class); + PROTO_ITEM_SET_HIDDEN(hidden_item); if (lmp_valid_class(class)) { ti = proto_tree_add_item(lmp_tree, diff --git a/epan/dissectors/packet-lpd.c b/epan/dissectors/packet-lpd.c index 435f7fdd48..820fc47e0e 100644 --- a/epan/dissectors/packet-lpd.c +++ b/epan/dissectors/packet-lpd.c @@ -50,7 +50,7 @@ static void dissect_lpd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree *lpd_tree; - proto_item *ti; + proto_item *ti, *hidden_item; enum lpr_type lpr_packet_type; guint8 code; gint printer_len; @@ -111,12 +111,13 @@ dissect_lpd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) lpd_tree = proto_item_add_subtree(ti, ett_lpd); if (lpr_packet_type == response) { - proto_tree_add_boolean_hidden(lpd_tree, hf_lpd_response, + hidden_item = proto_tree_add_boolean(lpd_tree, hf_lpd_response, tvb, 0, 0, TRUE); } else { - proto_tree_add_boolean_hidden(lpd_tree, hf_lpd_request, + hidden_item = proto_tree_add_boolean(lpd_tree, hf_lpd_request, tvb, 0, 0, TRUE); } + PROTO_ITEM_SET_HIDDEN(hidden_item); if (lpr_packet_type == request) { printer_len = find_printer_string(tvb, 1); diff --git a/epan/dissectors/packet-pcep.c b/epan/dissectors/packet-pcep.c index 4ae69e608e..6e5e91699d 100644 --- a/epan/dissectors/packet-pcep.c +++ b/epan/dissectors/packet-pcep.c @@ -2224,6 +2224,7 @@ dissect_pcep_msg_tree(tvbuff_t *tvb, proto_tree *tree, guint tree_mode, packet_i proto_tree *pcep_header_tree; proto_tree *ti; proto_tree *pcep_header_msg_flags; + proto_item *hidden_item; int offset = 0; int len=0; @@ -2263,7 +2264,8 @@ dissect_pcep_msg_tree(tvbuff_t *tvb, proto_tree *tree, guint tree_mode, packet_i case PCEPF_NOTIFICATION: case PCEPF_ERROR: case PCEPF_CLOSE: - proto_tree_add_boolean_hidden(pcep_header_tree, pcep_filter[PCEPF_MSG + message_type], tvb, offset+1, 1, 1); + hidden_item = proto_tree_add_boolean(pcep_header_tree, pcep_filter[PCEPF_MSG + message_type], tvb, offset+1, 1, 1); + PROTO_ITEM_SET_HIDDEN(hidden_item); break; default: diff --git a/epan/dissectors/packet-pgm.c b/epan/dissectors/packet-pgm.c index 10fb58b1df..9d744240dc 100644 --- a/epan/dissectors/packet-pgm.c +++ b/epan/dissectors/packet-pgm.c @@ -882,7 +882,7 @@ dissect_pgm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree *pgm_tree = NULL; proto_tree *opt_tree = NULL; proto_tree *type_tree = NULL; - proto_item *tf; + proto_item *tf, *hidden_item; ptvcursor_t* cursor; ti = proto_tree_add_protocol_format(tree, proto_pgm, @@ -895,8 +895,10 @@ dissect_pgm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) cursor = ptvcursor_new(pgm_tree, tvb, 0); - proto_tree_add_item_hidden(pgm_tree, hf_pgm_port, tvb, 0, 2, FALSE); - proto_tree_add_item_hidden(pgm_tree, hf_pgm_port, tvb, 2, 2, FALSE); + hidden_item = proto_tree_add_item(pgm_tree, hf_pgm_port, tvb, 0, 2, FALSE); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_item(pgm_tree, hf_pgm_port, tvb, 2, 2, FALSE); + PROTO_ITEM_SET_HIDDEN(hidden_item); ptvcursor_add(cursor, hf_pgm_main_sport, 2, FALSE); ptvcursor_add(cursor, hf_pgm_main_dport, 2, FALSE); ptvcursor_add(cursor, hf_pgm_main_type, 1, FALSE); @@ -933,8 +935,9 @@ dissect_pgm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree_add_uint_format(pgm_tree, hf_pgm_main_cksum, tvb, ptvcursor_current_offset(cursor), 2, pgmhdr_cksum, "Checksum: 0x%04x [correct]", pgmhdr_cksum); } else { - proto_tree_add_boolean_hidden(pgm_tree, hf_pgm_main_cksum_bad, tvb, + hidden_item = proto_tree_add_boolean(pgm_tree, hf_pgm_main_cksum_bad, tvb, ptvcursor_current_offset(cursor), 2, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint_format(pgm_tree, hf_pgm_main_cksum, tvb, ptvcursor_current_offset(cursor), 2, pgmhdr_cksum, "Checksum: 0x%04x [incorrect, should be 0x%04x]", pgmhdr_cksum, in_cksum_shouldbe(pgmhdr_cksum, computed_cksum)); diff --git a/epan/dissectors/packet-pgsql.c b/epan/dissectors/packet-pgsql.c index 2be28a394d..d291b0b20b 100644 --- a/epan/dissectors/packet-pgsql.c +++ b/epan/dissectors/packet-pgsql.c @@ -410,7 +410,7 @@ pgsql_length(packet_info *pinfo _U_, tvbuff_t *tvb, int offset) static void dissect_pgsql_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - proto_item *ti; + proto_item *ti, *hidden_item; proto_tree *ptree; gint n; @@ -468,9 +468,11 @@ dissect_pgsql_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (type == '\0') n = 0; proto_tree_add_text(ptree, tvb, 0, n, "Type: %s", typestr); - proto_tree_add_item_hidden(ptree, hf_type, tvb, 0, n, FALSE); + hidden_item = proto_tree_add_item(ptree, hf_type, tvb, 0, n, FALSE); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_item(ptree, hf_length, tvb, n, 4, FALSE); - proto_tree_add_boolean_hidden(ptree, hf_frontend, tvb, 0, 0, fe); + hidden_item = proto_tree_add_boolean(ptree, hf_frontend, tvb, 0, 0, fe); + PROTO_ITEM_SET_HIDDEN(hidden_item); n += 4; if (fe) @@ -487,7 +489,7 @@ static void dissect_pgsql_fe_msg(guchar type, guint length, tvbuff_t *tvb, guchar c; gint i, l; char *s, *t; - proto_item *ti; + proto_item *ti, *hidden_item; proto_tree *shrub; switch (type) { @@ -594,7 +596,8 @@ static void dissect_pgsql_fe_msg(guchar type, guint length, tvbuff_t *tvb, if (i != 0) { n += 1; s = tvb_get_ephemeral_stringz(tvb, n, &l); - proto_tree_add_string_hidden(tree, i, tvb, n, l, s); + hidden_item = proto_tree_add_string(tree, i, tvb, n, l, s); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_text( tree, tvb, n-1, l, "%s: %s", (c == 'P' ? "Portal" : "Statement"), s @@ -690,7 +693,7 @@ static void dissect_pgsql_be_msg(guchar type, guint length, tvbuff_t *tvb, guchar c; gint i, l; char *s, *t; - proto_item *ti; + proto_item *ti, *hidden_item; proto_tree *shrub; switch (type) { @@ -715,10 +718,12 @@ static void dissect_pgsql_be_msg(guchar type, guint length, tvbuff_t *tvb, /* Parameter status */ case 'S': s = tvb_get_ephemeral_stringz(tvb, n, &l); - proto_tree_add_string_hidden(tree, hf_parameter_name, tvb, n, l, s); + hidden_item = proto_tree_add_string(tree, hf_parameter_name, tvb, n, l, s); + PROTO_ITEM_SET_HIDDEN(hidden_item); n += l; t = tvb_get_ephemeral_stringz(tvb, n, &i); - proto_tree_add_string_hidden(tree, hf_parameter_value, tvb, n, i, t); + hidden_item = proto_tree_add_string(tree, hf_parameter_value, tvb, n, i, t); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_text(tree, tvb, n-l, l+i, "%s: %s", s, t); break; diff --git a/epan/dissectors/packet-radiotap.c b/epan/dissectors/packet-radiotap.c index 28ef6ce04c..14ecae904e 100644 --- a/epan/dissectors/packet-radiotap.c +++ b/epan/dissectors/packet-radiotap.c @@ -793,7 +793,7 @@ dissect_radiotap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree *radiotap_tree = NULL; proto_tree *pt, *present_tree = NULL; proto_tree *ft, *flags_tree = NULL; - proto_item *ti = NULL; + proto_item *ti = NULL, *hidden_item; proto_item *hdr_fcs_ti = NULL; int hdr_fcs_offset = 0; int align_offset, offset; @@ -1263,8 +1263,9 @@ dissect_radiotap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) else { proto_item_append_text(hdr_fcs_ti, " [incorrect, should be 0x%08x]", calc_fcs); - proto_tree_add_boolean_hidden(radiotap_tree, hf_radiotap_fcs_bad, + hidden_item = proto_tree_add_boolean(radiotap_tree, hf_radiotap_fcs_bad, tvb, hdr_fcs_offset, 4, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); } } else { diff --git a/epan/dissectors/packet-radius.c b/epan/dissectors/packet-radius.c index ddb83da505..d751d25be1 100644 --- a/epan/dissectors/packet-radius.c +++ b/epan/dissectors/packet-radius.c @@ -918,7 +918,7 @@ dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree *radius_tree = NULL; proto_tree *avptree = NULL; - proto_item *ti; + proto_item *ti, *hidden_item; proto_item *avptf; guint avplength; e_radiushdr rh; @@ -1022,7 +1022,8 @@ dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) case RADIUS_ASCEND_ACCESS_EVENT_REQUEST: case RADIUS_DISCONNECT_REQUEST: case RADIUS_CHANGE_FILTER_REQUEST: - proto_tree_add_boolean_hidden(radius_tree, hf_radius_req, tvb, 0, 0, TRUE); + hidden_item = proto_tree_add_boolean(radius_tree, hf_radius_req, tvb, 0, 0, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); /* Keep track of the address and port whence the call came * so that we can match up requests with replies. * @@ -1075,7 +1076,8 @@ dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (tree) { proto_item* item; - proto_tree_add_uint_hidden(radius_tree, hf_radius_dup, tvb, 0,0, rh.rh_ident); + hidden_item = proto_tree_add_uint(radius_tree, hf_radius_dup, tvb, 0,0, rh.rh_ident); + PROTO_ITEM_SET_HIDDEN(hidden_item); item = proto_tree_add_uint(radius_tree, hf_radius_req_dup, tvb, 0,0, rh.rh_ident); PROTO_ITEM_SET_GENERATED(item); } @@ -1121,7 +1123,8 @@ dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) case RADIUS_DISCONNECT_REQUEST_NAK: case RADIUS_CHANGE_FILTER_REQUEST_ACK: case RADIUS_CHANGE_FILTER_REQUEST_NAK: - proto_tree_add_boolean_hidden(radius_tree, hf_radius_rsp, tvb, 0, 0, TRUE); + hidden_item = proto_tree_add_boolean(radius_tree, hf_radius_rsp, tvb, 0, 0, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); /* Check for RADIUS response. A response must match a call that * we've seen, and the response must be sent to the same * port and address that the call came from. @@ -1195,7 +1198,8 @@ dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (tree) { proto_item* item; - proto_tree_add_uint_hidden(radius_tree, hf_radius_dup, tvb, 0,0, rh.rh_ident); + hidden_item = proto_tree_add_uint(radius_tree, hf_radius_dup, tvb, 0,0, rh.rh_ident); + PROTO_ITEM_SET_HIDDEN(hidden_item); item = proto_tree_add_uint(radius_tree, hf_radius_rsp_dup, tvb, 0, 0, rh.rh_ident); PROTO_ITEM_SET_GENERATED(item); diff --git a/epan/dissectors/packet-rsh.c b/epan/dissectors/packet-rsh.c index 6b891a8413..f7f6401fc0 100644 --- a/epan/dissectors/packet-rsh.c +++ b/epan/dissectors/packet-rsh.c @@ -44,7 +44,7 @@ static void dissect_rsh(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree *rsh_tree; - proto_item *ti; + proto_item *ti, *hidden_item; gint offset = 0; gint next_offset; int linelen; @@ -90,12 +90,14 @@ dissect_rsh(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) offset = next_offset; } - if (pinfo->match_port == pinfo->destport) - proto_tree_add_boolean_hidden(rsh_tree, + if (pinfo->match_port == pinfo->destport) { + hidden_item = proto_tree_add_boolean(rsh_tree, hf_rsh_request, tvb, 0, 0, 1); - else - proto_tree_add_boolean_hidden(rsh_tree, + } else { + hidden_item = proto_tree_add_boolean(rsh_tree, hf_rsh_response, tvb, 0, 0, 1); + } + PROTO_ITEM_SET_HIDDEN(hidden_item); } } diff --git a/epan/dissectors/packet-rsvp.c b/epan/dissectors/packet-rsvp.c index e5f33778c0..1fcb00ad3b 100644 --- a/epan/dissectors/packet-rsvp.c +++ b/epan/dissectors/packet-rsvp.c @@ -1743,6 +1743,7 @@ dissect_rsvp_session (proto_item *ti, proto_tree *rsvp_object_tree, int class _U_, int type, rsvp_conversation_info *rsvph) { + proto_item *hidden_item; int offset2 = offset + 4; proto_item_set_text(ti, "%s", summary_session(tvb, offset)); @@ -1816,9 +1817,10 @@ dissect_rsvp_session (proto_item *ti, proto_tree *rsvp_object_tree, "Extended Tunnel ID: %u (%s)", tvb_get_ntohl(tvb, offset2+8), ip_to_str(tvb_get_ptr(tvb, offset2+8, 4))); - proto_tree_add_item_hidden(rsvp_object_tree, + hidden_item = proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_EXT_TUNNEL_ID], tvb, offset2+8, 4, FALSE); + PROTO_ITEM_SET_HIDDEN(hidden_item); /* * Save this information to build the conversation request key @@ -1868,9 +1870,10 @@ dissect_rsvp_session (proto_item *ti, proto_tree *rsvp_object_tree, proto_tree_add_text(rsvp_object_tree, tvb, offset2+8, 4, "Extended IPv4 Address: %s", ip_to_str(tvb_get_ptr(tvb, offset2+8, 4))); - proto_tree_add_item_hidden(rsvp_object_tree, + hidden_item = proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_EXT_TUNNEL_ID], tvb, offset2+8, 4, FALSE); + PROTO_ITEM_SET_HIDDEN(hidden_item); /* * Save this information to build the conversation request key @@ -1898,9 +1901,10 @@ dissect_rsvp_session (proto_item *ti, proto_tree *rsvp_object_tree, proto_tree_add_text(rsvp_object_tree, tvb, offset2+8, 4, "Extended IPv4 Address: %s", ip_to_str(tvb_get_ptr(tvb, offset2+8, 4))); - proto_tree_add_item_hidden(rsvp_object_tree, + hidden_item = proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_EXT_TUNNEL_ID], tvb, offset2+8, 4, FALSE); + PROTO_ITEM_SET_HIDDEN(hidden_item); /* * Save this information to build the conversation request key @@ -5397,12 +5401,15 @@ dissect_rsvp_diffserv_aware_te(proto_tree *ti, proto_tree *rsvp_object_tree, int offset, int obj_length, int class _U_, int type) { + proto_item *hidden_item; int offset2 = offset + 4; guint8 ct = 0; - proto_tree_add_item_hidden(rsvp_object_tree, + hidden_item = proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_DSTE], tvb, offset, 8, FALSE); + PROTO_ITEM_SET_HIDDEN(hidden_item); + switch(type) { case 1: ct = tvb_get_guint8(tvb, offset2+3); @@ -5433,6 +5440,7 @@ dissect_rsvp_msg_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree *rsvp_header_tree; proto_tree *rsvp_object_tree; proto_tree *ti; + proto_item *hidden_item; guint16 cksum, computed_cksum; vec_t cksum_vec[1]; int offset = 0; @@ -5491,9 +5499,10 @@ dissect_rsvp_msg_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, case RSVPF_ACK: case RSVPF_SREFRESH: case RSVPF_HELLO: - case RSVPF_NOTIFY: - proto_tree_add_boolean_hidden(rsvp_header_tree, rsvp_filter[RSVPF_MSG + message_type], tvb, + case RSVPF_NOTIFY: + hidden_item = proto_tree_add_boolean(rsvp_header_tree, rsvp_filter[RSVPF_MSG + message_type], tvb, offset+1, 1, 1); + PROTO_ITEM_SET_HIDDEN(hidden_item); break; default: diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c index 1e7a52a3d5..3d2b7bf923 100644 --- a/epan/dissectors/packet-smb.c +++ b/epan/dissectors/packet-smb.c @@ -12512,8 +12512,10 @@ dissect_quota_flags(tvbuff_t *tvb, proto_tree *parent_tree, int offset) tvb, offset, 1, mask); if(mask && (!(mask&0x01))){ - proto_tree_add_boolean_hidden(tree, hf_smb_quota_flags_enabled, + proto_item *hidden_item; + hidden_item = proto_tree_add_boolean(tree, hf_smb_quota_flags_enabled, tvb, offset, 1, 0x01); + PROTO_ITEM_SET_HIDDEN(hidden_item); } else { proto_tree_add_boolean(tree, hf_smb_quota_flags_enabled, tvb, offset, 1, mask); diff --git a/epan/dissectors/packet-smtp.c b/epan/dissectors/packet-smtp.c index a3d25e4fa2..0c1ba215b4 100644 --- a/epan/dissectors/packet-smtp.c +++ b/epan/dissectors/packet-smtp.c @@ -160,7 +160,7 @@ dissect_smtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) struct smtp_proto_data *frame_data; proto_tree *smtp_tree; proto_tree *cmdresp_tree; - proto_item *ti; + proto_item *ti, *hidden_item; int offset = 0; int request = 0; conversation_t *conversation; @@ -644,8 +644,9 @@ dissect_smtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) cmdlen = 4; else cmdlen = linelen; - proto_tree_add_boolean_hidden(smtp_tree, hf_smtp_req, tvb, + hidden_item = proto_tree_add_boolean(smtp_tree, hf_smtp_req, tvb, 0, 0, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); /* * Put the command line into the protocol tree. */ @@ -706,8 +707,9 @@ dissect_smtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * Process the response, a line at a time, until we hit a line * that doesn't have a continuation indication on it. */ - proto_tree_add_boolean_hidden(smtp_tree, hf_smtp_rsp, tvb, + hidden_item = proto_tree_add_boolean(smtp_tree, hf_smtp_rsp, tvb, 0, 0, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); while (tvb_offset_exists(tvb, offset)) { diff --git a/epan/dissectors/packet-srp.c b/epan/dissectors/packet-srp.c index 5c51873412..298882c7b3 100644 --- a/epan/dissectors/packet-srp.c +++ b/epan/dissectors/packet-srp.c @@ -122,6 +122,7 @@ static void dissect_srp (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree) { proto_item *srp_item = NULL; proto_tree *srp_tree = NULL; + proto_item *hidden_item; guint8 header = tvb_get_guint8(tvb,0); @@ -162,8 +163,9 @@ static void dissect_srp (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree) crc_offset, 2, crc, "CRC: 0x%04x (correct)", crc); } else { - proto_tree_add_boolean_hidden(srp_tree, hf_srp_crc_bad, tvb, + hidden_item = proto_tree_add_boolean(srp_tree, hf_srp_crc_bad, tvb, crc_offset, 2, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint_format(srp_tree, hf_srp_crc, tvb, crc_offset, 2, crc, "CRC: 0x%04x (incorrect, should be 0x%04x)", diff --git a/epan/dissectors/packet-tacacs.c b/epan/dissectors/packet-tacacs.c index 8fbab3a2a5..b485210f34 100644 --- a/epan/dissectors/packet-tacacs.c +++ b/epan/dissectors/packet-tacacs.c @@ -918,7 +918,7 @@ dissect_tacplus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { tvbuff_t *new_tvb=NULL; proto_tree *tacplus_tree; - proto_item *ti; + proto_item *ti, *hidden_item; guint8 version,flags; proto_tree *flags_tree; proto_item *tf; @@ -960,14 +960,16 @@ dissect_tacplus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) tacplus_tree = proto_item_add_subtree(ti, ett_tacplus); if (pinfo->match_port == pinfo->destport) { - proto_tree_add_boolean_hidden(tacplus_tree, + hidden_item = proto_tree_add_boolean(tacplus_tree, hf_tacplus_request, tvb, 0, 0, TRUE); } else { - proto_tree_add_boolean_hidden(tacplus_tree, + hidden_item = proto_tree_add_boolean(tacplus_tree, hf_tacplus_response, tvb, 0, 0, TRUE); } + PROTO_ITEM_SET_HIDDEN(hidden_item); + version = tvb_get_guint8(tvb,0); proto_tree_add_uint_format(tacplus_tree, hf_tacplus_majvers, tvb, 0, 1, version, diff --git a/epan/dissectors/packet-tns.c b/epan/dissectors/packet-tns.c index 04ac945420..78e4eb522f 100644 --- a/epan/dissectors/packet-tns.c +++ b/epan/dissectors/packet-tns.c @@ -922,15 +922,15 @@ dissect_tns_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (pinfo->match_port == pinfo->destport) { - proto_tree_add_boolean_hidden(tns_tree, hf_tns_request, - tvb, offset, 0, TRUE); + hidden_item = proto_tree_add_boolean(tns_tree, hf_tns_request, + tvb, offset, 0, TRUE); } else { hidden_item = proto_tree_add_boolean(tns_tree, hf_tns_response, tvb, offset, 0, TRUE); - PROTO_ITEM_SET_HIDDEN(hidden_item); } + PROTO_ITEM_SET_HIDDEN(hidden_item); } length = tvb_get_ntohs(tvb, offset); diff --git a/epan/dissectors/packet-udp.c b/epan/dissectors/packet-udp.c index 9c755258f7..6d92266d4d 100644 --- a/epan/dissectors/packet-udp.c +++ b/epan/dissectors/packet-udp.c @@ -177,7 +177,7 @@ static void dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 ip_proto) { proto_tree *udp_tree = NULL; - proto_item *ti; + proto_item *ti, *hidden_item; guint len; guint reported_len; vec_t cksum_vec[4]; @@ -225,8 +225,10 @@ dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 ip_proto) proto_tree_add_uint_format(udp_tree, hf_udp_dstport, tvb, offset + 2, 2, udph->uh_dport, "Destination port: %s (%u)", get_udp_port(udph->uh_dport), udph->uh_dport); - proto_tree_add_uint_hidden(udp_tree, hf_udp_port, tvb, offset, 2, udph->uh_sport); - proto_tree_add_uint_hidden(udp_tree, hf_udp_port, tvb, offset+2, 2, udph->uh_dport); + hidden_item = proto_tree_add_uint(udp_tree, hf_udp_port, tvb, offset, 2, udph->uh_sport); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_uint(udp_tree, hf_udp_port, tvb, offset+2, 2, udph->uh_dport); + PROTO_ITEM_SET_HIDDEN(hidden_item); } if (ip_proto == IP_PROTO_UDP) { @@ -252,8 +254,9 @@ dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 ip_proto) if (tree) { proto_tree_add_uint(udp_tree, hf_udp_length, tvb, offset + 4, 2, udph->uh_ulen); /* XXX - why is this here, given that this is UDP, not Lightweight UDP? */ - proto_tree_add_uint_hidden(udp_tree, hf_udplite_checksum_coverage, tvb, offset + 4, - 0, udph->uh_sum_cov); + hidden_item = proto_tree_add_uint(udp_tree, hf_udplite_checksum_coverage, tvb, offset + 4, + 0, udph->uh_sum_cov); + PROTO_ITEM_SET_HIDDEN(hidden_item); } } } else { @@ -262,8 +265,10 @@ dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 ip_proto) if (((udph->uh_sum_cov > 0) && (udph->uh_sum_cov < 8)) || (udph->uh_sum_cov > udph->uh_ulen)) { /* Bogus length - it includes the header, so it must be >= 8, and no larger then the IP payload size. */ if (tree) { - proto_tree_add_boolean_hidden(udp_tree, hf_udplite_checksum_coverage_bad, tvb, offset + 4, 2, TRUE); - proto_tree_add_uint_hidden(udp_tree, hf_udp_length, tvb, offset + 4, 0, udph->uh_ulen); + hidden_item = proto_tree_add_boolean(udp_tree, hf_udplite_checksum_coverage_bad, tvb, offset + 4, 2, TRUE); + PROTO_ITEM_SET_HIDDEN(hidden_item); + hidden_item = proto_tree_add_uint(udp_tree, hf_udp_length, tvb, offset + 4, 0, udph->uh_ulen); + PROTO_ITEM_SET_HIDDEN(hidden_item); } item = proto_tree_add_uint_format(udp_tree, hf_udplite_checksum_coverage, tvb, offset + 4, 2, udph->uh_sum_cov, "Checksum coverage: %u (bogus, must be >= 8 and <= %u (ip.len-ip.hdr_len))", @@ -277,7 +282,8 @@ dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 ip_proto) return; } else { if (tree) { - proto_tree_add_uint_hidden(udp_tree, hf_udp_length, tvb, offset + 4, 0, udph->uh_ulen); + hidden_item = proto_tree_add_uint(udp_tree, hf_udp_length, tvb, offset + 4, 0, udph->uh_ulen); + PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint(udp_tree, hf_udplite_checksum_coverage, tvb, offset + 4, 2, udph->uh_sum_cov); } } |