convert to proto_tree_add_subtree[_format]
Change-Id: I3efa2a81ab2685cde6eae0a00b24520478a545ce Reviewed-on: https://code.wireshark.org/review/2900 Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
parent
be4d42c6ab
commit
c71e88e4a9
File diff suppressed because it is too large
Load Diff
|
@ -909,17 +909,15 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *v5ua_
|
|||
/* create proto_tree stuff */
|
||||
switch(iua_version){
|
||||
case RFC:
|
||||
parameter_item = proto_tree_add_text(v5ua_tree, parameter_tvb, PARAMETER_HEADER_OFFSET, tvb_length(parameter_tvb), "%s",
|
||||
parameter_tree = proto_tree_add_subtree(v5ua_tree, parameter_tvb, PARAMETER_HEADER_OFFSET, -1, ett_v5ua_parameter, ¶meter_item,
|
||||
val_to_str_const(tag, parameter_tag_values, "Unknown parameter"));
|
||||
parameter_tree = proto_item_add_subtree(parameter_item, ett_v5ua_parameter);
|
||||
/* add tag to the v5ua tree */
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
break;
|
||||
case DRAFT:
|
||||
default:
|
||||
parameter_item = proto_tree_add_text(v5ua_tree, parameter_tvb, PARAMETER_HEADER_OFFSET, tvb_length(parameter_tvb), "%s",
|
||||
parameter_tree = proto_tree_add_subtree(v5ua_tree, parameter_tvb, PARAMETER_HEADER_OFFSET, -1, ett_v5ua_parameter, ¶meter_item,
|
||||
val_to_str_const(tag, parameter_tag_draft_values, "Unknown parameter"));
|
||||
parameter_tree = proto_item_add_subtree(parameter_item, ett_v5ua_parameter);
|
||||
|
||||
/* add tag to the v5ua tree */
|
||||
proto_tree_add_item(parameter_tree, hf_parameter_tag_draft, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
@ -1318,8 +1316,8 @@ dissect_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_tre
|
|||
if (v5ua_tree) {
|
||||
|
||||
/* create proto_tree stuff */
|
||||
common_header_item = proto_tree_add_text(v5ua_tree, common_header_tvb, COMMON_HEADER_OFFSET, tvb_length(common_header_tvb),"Common Msg-Header");
|
||||
common_header_tree = proto_item_add_subtree(common_header_item, ett_v5ua_common_header);
|
||||
common_header_tree = proto_tree_add_subtree(v5ua_tree, common_header_tvb, COMMON_HEADER_OFFSET, -1,
|
||||
ett_v5ua_common_header, &common_header_item, "Common Msg-Header");
|
||||
|
||||
/* add the components of the common header to the protocol tree */
|
||||
proto_tree_add_item(common_header_tree, hf_version, common_header_tvb, COMMON_HEADER_VERSION_OFFSET, COMMON_HEADER_VERSION_LENGTH, ENC_BIG_ENDIAN);
|
||||
|
|
|
@ -257,11 +257,10 @@ dissect_vcdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
int ccsds_tree_added = 0;
|
||||
int ccsds_len = 0;
|
||||
|
||||
proto_item *smex_header = NULL;
|
||||
proto_tree *smex_tree = NULL;
|
||||
proto_item *smex_header;
|
||||
proto_tree *smex_tree;
|
||||
|
||||
proto_item *vcdu_header = NULL;
|
||||
proto_tree *vcdu_tree = NULL;
|
||||
proto_tree *vcdu_tree;
|
||||
|
||||
guint16 first_word = 0;
|
||||
guint32 long_word = 0;
|
||||
|
@ -277,8 +276,7 @@ dissect_vcdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
|
||||
{
|
||||
/* build the smex header tree */
|
||||
smex_header = proto_tree_add_text(tree, tvb, offset, SMEX_HEADER_LENGTH, "SMEX Header");
|
||||
smex_tree = proto_item_add_subtree(smex_header, ett_smex);
|
||||
smex_tree = proto_tree_add_subtree(tree, tvb, offset, SMEX_HEADER_LENGTH, ett_smex, &smex_header, "SMEX Header");
|
||||
|
||||
proto_tree_add_item(smex_tree, hf_smex_gsc, tvb, offset, 8, ENC_BIG_ENDIAN);
|
||||
offset += 8;
|
||||
|
@ -330,8 +328,7 @@ dissect_vcdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
|
||||
|
||||
/* build the vcdu header tree */
|
||||
vcdu_header = proto_tree_add_text(tree, tvb, offset, VCDU_HEADER_LENGTH, "VCDU Header");
|
||||
vcdu_tree = proto_item_add_subtree(vcdu_header, ett_vcdu);
|
||||
vcdu_tree = proto_tree_add_subtree(tree, tvb, offset, VCDU_HEADER_LENGTH, ett_vcdu, NULL, "VCDU Header");
|
||||
|
||||
/* extract the virtual channel for use later on */
|
||||
first_word = tvb_get_ntohs(tvb, offset);
|
||||
|
|
|
@ -2020,11 +2020,9 @@ vnc_server_framebuffer_update(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
}
|
||||
VNC_BYTES_NEEDED(12);
|
||||
|
||||
ti = proto_tree_add_text(tree, tvb, *offset, 12,
|
||||
"Rectangle #%d", ii+1);
|
||||
vnc_rect_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 12,
|
||||
ett_vnc_rect, NULL, "Rectangle #%d", ii+1);
|
||||
|
||||
vnc_rect_tree =
|
||||
proto_item_add_subtree(ti, ett_vnc_rect);
|
||||
|
||||
ti_x = proto_tree_add_item(vnc_rect_tree, hf_vnc_fb_update_x_pos,
|
||||
tvb, *offset, 2, ENC_BIG_ENDIAN);
|
||||
|
@ -2190,7 +2188,6 @@ vnc_extended_desktop_size(tvbuff_t *tvb, gint *offset, proto_tree *tree)
|
|||
{
|
||||
|
||||
guint8 i, num_of_screens;
|
||||
proto_item *ti;
|
||||
proto_tree *screen_tree;
|
||||
|
||||
num_of_screens = tvb_get_guint8(tvb, *offset);
|
||||
|
@ -2201,8 +2198,7 @@ vnc_extended_desktop_size(tvbuff_t *tvb, gint *offset, proto_tree *tree)
|
|||
VNC_BYTES_NEEDED((guint32)(3 + (num_of_screens * 16)));
|
||||
*offset += 3;
|
||||
for(i = 0; i < num_of_screens; i++) {
|
||||
ti = proto_tree_add_text(tree, tvb, *offset, 16, "Screen #%u", i+1);
|
||||
screen_tree = proto_item_add_subtree(ti, ett_vnc_desktop_screen);
|
||||
screen_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 16, ett_vnc_desktop_screen, NULL, "Screen #%u", i+1);
|
||||
|
||||
proto_tree_add_item(screen_tree, hf_vnc_desktop_screen_id, tvb, *offset, 4, ENC_BIG_ENDIAN);
|
||||
*offset += 4;
|
||||
|
@ -2290,10 +2286,8 @@ vnc_rre_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
VNC_BYTES_NEEDED(bytes_needed * num_subrects);
|
||||
for(i = 0; i < num_subrects; i++) {
|
||||
|
||||
ti = proto_tree_add_text(tree, tvb, *offset, bytes_per_pixel +
|
||||
8, "Subrectangle #%d", i+1);
|
||||
subrect_tree =
|
||||
proto_item_add_subtree(ti, ett_vnc_rre_subrect);
|
||||
subrect_tree = proto_tree_add_subtree_format(tree, tvb, *offset, bytes_per_pixel +
|
||||
8, ett_vnc_rre_subrect, NULL, "Subrectangle #%d", i+1);
|
||||
|
||||
proto_tree_add_item(subrect_tree, hf_vnc_rre_subrect_pixel,
|
||||
tvb, *offset, bytes_per_pixel, ENC_NA);
|
||||
|
@ -2328,7 +2322,7 @@ vnc_hextile_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
guint8 i, subencoding_mask, num_subrects, subrect_len, tile_height, tile_width;
|
||||
guint32 raw_length;
|
||||
proto_tree *tile_tree, *subencoding_mask_tree, *subrect_tree, *num_subrects_tree;
|
||||
proto_item *ti, *tile_item;
|
||||
proto_item *ti;
|
||||
guint16 current_height = 0, current_width;
|
||||
|
||||
while(current_height != height) {
|
||||
|
@ -2349,8 +2343,8 @@ vnc_hextile_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
VNC_BYTES_NEEDED(1);
|
||||
subencoding_mask = tvb_get_guint8(tvb, *offset);
|
||||
|
||||
tile_item = proto_tree_add_text(tree, tvb, *offset, 1, "Tile {%d:%d}, sub encoding mask %u", current_width, current_height, subencoding_mask);
|
||||
tile_tree = proto_item_add_subtree(tile_item, ett_vnc_hextile_tile);
|
||||
tile_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 1, ett_vnc_hextile_tile, NULL,
|
||||
"Tile {%d:%d}, sub encoding mask %u", current_width, current_height, subencoding_mask);
|
||||
|
||||
ti = proto_tree_add_item(tile_tree, hf_vnc_hextile_subencoding_mask, tvb,
|
||||
*offset, 1, ENC_BIG_ENDIAN);
|
||||
|
@ -2418,11 +2412,9 @@ vnc_hextile_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
proto_item_add_subtree(ti, ett_vnc_hextile_num_subrects);
|
||||
|
||||
for(i = 0; i < num_subrects; i++) {
|
||||
ti = proto_tree_add_text(num_subrects_tree, tvb,
|
||||
*offset, subrect_len,
|
||||
subrect_tree = proto_tree_add_subtree_format(num_subrects_tree, tvb,
|
||||
*offset, subrect_len, ett_vnc_hextile_subrect, NULL,
|
||||
"Subrectangle #%d", i+1);
|
||||
subrect_tree =
|
||||
proto_item_add_subtree(ti, ett_vnc_hextile_subrect);
|
||||
|
||||
if(subencoding_mask & 0x10) {
|
||||
/* Subrects Colored */
|
||||
|
@ -2513,7 +2505,6 @@ vnc_mirrorlink(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
guint16 length;
|
||||
guint16 num, i;
|
||||
gint end;
|
||||
proto_item *ti;
|
||||
proto_tree *sub_tree;
|
||||
|
||||
/* Header */
|
||||
|
@ -2651,9 +2642,8 @@ vnc_mirrorlink(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
tvb, *offset, 2, ENC_BIG_ENDIAN);
|
||||
*offset += 2;
|
||||
VNC_BYTES_NEEDED((guint)(4 * num));
|
||||
ti = proto_tree_add_text(tree, tvb, *offset, 4 * num,
|
||||
"Key Event List");
|
||||
sub_tree = proto_item_add_subtree(ti, ett_vnc_key_events);
|
||||
sub_tree = proto_tree_add_subtree(tree, tvb, *offset, 4 * num,
|
||||
ett_vnc_key_events, NULL, "Key Event List");
|
||||
for (; num > 0; num--) {
|
||||
proto_tree_add_item(sub_tree,
|
||||
hf_vnc_mirrorlink_key_symbol_value,
|
||||
|
@ -2759,10 +2749,8 @@ vnc_mirrorlink(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
VNC_BYTES_NEEDED((guint)(6 * num));
|
||||
/*sub_tree = proto_item_add_subtree(tree, ett_vnc_touch_events);*/
|
||||
for (i = 0; i < num; i++) {
|
||||
ti = proto_tree_add_text(tree, tvb, *offset, 6,
|
||||
"Touch Event #%d", i + 1);
|
||||
sub_tree = proto_item_add_subtree(ti,
|
||||
ett_vnc_touch_events);
|
||||
sub_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 6,
|
||||
ett_vnc_touch_events, NULL, "Touch Event #%d", i + 1);
|
||||
|
||||
proto_tree_add_item(sub_tree, hf_vnc_mirrorlink_touch_x,
|
||||
tvb, *offset, 2, ENC_BIG_ENDIAN);
|
||||
|
@ -2892,7 +2880,6 @@ vnc_slrle_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
guint8 bytes_per_run;
|
||||
guint16 num_runs, i;
|
||||
guint length;
|
||||
proto_item *ti;
|
||||
proto_tree *sub_tree;
|
||||
|
||||
if (depth_mod <= 4)
|
||||
|
@ -2906,9 +2893,8 @@ vnc_slrle_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
|
||||
length = num_runs * bytes_per_run;
|
||||
|
||||
ti = proto_tree_add_text(tree, tvb, *offset, 2 + length,
|
||||
"Scanline #%d", i+1);
|
||||
sub_tree = proto_item_add_subtree(ti, ett_vnc_slrle_subline);
|
||||
sub_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 2 + length,
|
||||
ett_vnc_slrle_subline, NULL, "Scanline #%d", i+1);
|
||||
|
||||
proto_tree_add_item(sub_tree, hf_vnc_slrle_run_num,
|
||||
tvb, *offset, 2, ENC_BIG_ENDIAN);
|
||||
|
@ -3373,14 +3359,10 @@ vnc_server_set_colormap_entries(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
|
|||
proto_item_add_subtree(ti, ett_vnc_colormap_num_groups);
|
||||
|
||||
for(counter = 0; counter < number_of_colors; counter++) {
|
||||
ti = proto_tree_add_text(vnc_colormap_num_groups, tvb,
|
||||
*offset, 6,
|
||||
vnc_colormap_color_group = proto_tree_add_subtree_format(vnc_colormap_num_groups, tvb,
|
||||
*offset, 6, ett_vnc_colormap_color_group, NULL,
|
||||
"Color group #%d", counter+1);
|
||||
|
||||
vnc_colormap_color_group =
|
||||
proto_item_add_subtree(ti,
|
||||
ett_vnc_colormap_color_group);
|
||||
|
||||
proto_tree_add_item(vnc_colormap_color_group,
|
||||
hf_vnc_colormap_red, tvb,
|
||||
*offset, 2, ENC_BIG_ENDIAN);
|
||||
|
|
|
@ -218,8 +218,7 @@ The first octets after the RTP header are the VP8 payload descriptor,
|
|||
+-+-+-+-+-+-+-+-+
|
||||
*/
|
||||
|
||||
item_descriptor = proto_tree_add_text(vp8_tree, tvb, *offset, -1, "Payload descriptor");
|
||||
vp8_payload_descriptor_tree = proto_item_add_subtree(item_descriptor, ett_vp8_payload_descriptor);
|
||||
vp8_payload_descriptor_tree = proto_tree_add_subtree(vp8_tree, tvb, *offset, -1, ett_vp8_payload_descriptor, &item_descriptor, "Payload descriptor");
|
||||
|
||||
proto_tree_add_item(vp8_payload_descriptor_tree, hf_vp8_pld_x_bit, tvb, *offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(vp8_payload_descriptor_tree, hf_vp8_pld_r_bit, tvb, *offset, 1, ENC_BIG_ENDIAN);
|
||||
|
@ -320,8 +319,7 @@ The first three octets of an encoded VP8 frame are referred to as an
|
|||
|
||||
*/
|
||||
|
||||
item_header = proto_tree_add_text(vp8_tree, tvb, *offset, 3, "Payload header");
|
||||
vp8_payload_header_tree = proto_item_add_subtree(item_header, ett_vp8_payload_header);
|
||||
vp8_payload_header_tree = proto_tree_add_subtree(vp8_tree, tvb, *offset, 3, ett_vp8_payload_header, &item_header, "Payload header");
|
||||
proto_tree_add_item(vp8_payload_header_tree, hf_vp8_hdr_frametype, tvb, *offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(vp8_payload_header_tree, hf_vp8_hdr_version, tvb, *offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(vp8_payload_header_tree, hf_vp8_hdr_show_bit, tvb, *offset, 1, ENC_BIG_ENDIAN);
|
||||
|
@ -342,22 +340,18 @@ The first three octets of an encoded VP8 frame are referred to as an
|
|||
static void
|
||||
dissect_vp8_payload(tvbuff_t *tvb, packet_info *pinfo, proto_tree *vp8_tree, gint *offset, gint *frametype, gint *partition1_size)
|
||||
{
|
||||
proto_item *item_payload;
|
||||
proto_tree *vp8_payload_tree;
|
||||
gint remainder;
|
||||
|
||||
item_payload = proto_tree_add_text(vp8_tree, tvb, *offset, -1, "Payload");
|
||||
vp8_payload_tree = proto_item_add_subtree(item_payload, ett_vp8_payload);
|
||||
vp8_payload_tree = proto_tree_add_subtree(vp8_tree, tvb, *offset, -1, ett_vp8_payload, NULL, "Payload");
|
||||
|
||||
if (*frametype==0)
|
||||
{
|
||||
guint16 width, height;
|
||||
gint start1, start2, start3, horizontal_scale, vertical_scale;
|
||||
proto_tree *vp8_keyframe_tree;
|
||||
proto_item *item_keyframe;
|
||||
|
||||
item_keyframe = proto_tree_add_text(vp8_payload_tree, tvb, *offset, -1, "Keyframe header");
|
||||
vp8_keyframe_tree = proto_item_add_subtree(item_keyframe, ett_vp8_keyframe);
|
||||
vp8_keyframe_tree = proto_tree_add_subtree(vp8_payload_tree, tvb, *offset, -1, ett_vp8_keyframe, NULL, "Keyframe header");
|
||||
|
||||
proto_tree_add_item(vp8_keyframe_tree, hf_vp8_keyframe_start_code, tvb, *offset, 3, ENC_BIG_ENDIAN);
|
||||
start1 = tvb_get_guint8(tvb, *offset);
|
||||
|
|
|
@ -240,9 +240,8 @@ dissect_vtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
ti = proto_tree_add_text (vtp_tree, tvb, offset, -1,
|
||||
"Advertised active (i.e. not pruned) VLANs");
|
||||
vtp_pruning_tree = proto_item_add_subtree(ti, ett_vtp_pruning);
|
||||
vtp_pruning_tree = proto_tree_add_subtree(vtp_tree, tvb, offset, -1,
|
||||
ett_vtp_pruning, NULL, "Advertised active (i.e. not pruned) VLANs");
|
||||
|
||||
while (tvb_reported_length_remaining(tvb, offset) > 0) {
|
||||
guint8 vlan_usage_bitmap;
|
||||
|
@ -318,9 +317,8 @@ dissect_vlan_info(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tre
|
|||
proto_tree *tlv_tree;
|
||||
|
||||
vlan_info_len = tvb_get_guint8(tvb, offset);
|
||||
ti = proto_tree_add_text(tree, tvb, offset, vlan_info_len,
|
||||
"VLAN Information");
|
||||
vlan_info_tree = proto_item_add_subtree(ti, ett_vtp_vlan_info);
|
||||
vlan_info_tree = proto_tree_add_subtree(tree, tvb, offset, vlan_info_len,
|
||||
ett_vtp_vlan_info, NULL, "VLAN Information");
|
||||
vlan_info_left = vlan_info_len;
|
||||
|
||||
proto_tree_add_uint(vlan_info_tree, hf_vtp_vlan_info_len, tvb, offset, 1,
|
||||
|
@ -369,11 +367,10 @@ dissect_vlan_info(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tre
|
|||
type = tvb_get_guint8(tvb, offset + 0);
|
||||
length = tvb_get_guint8(tvb, offset + 1);
|
||||
|
||||
ti = proto_tree_add_text(vlan_info_tree, tvb, offset,
|
||||
2 + length*2, "%s",
|
||||
tlv_tree = proto_tree_add_subtree(vlan_info_tree, tvb, offset,
|
||||
2 + length*2, ett_vtp_tlv, &ti,
|
||||
val_to_str(type, vlan_tlv_type_vals,
|
||||
"Unknown TLV type: 0x%02x"));
|
||||
tlv_tree = proto_item_add_subtree(ti, ett_vtp_tlv);
|
||||
proto_tree_add_item(tlv_tree, hf_vtp_vlan_tlvtype, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tlv_tree, hf_vtp_vlan_tlvlength, tvb, offset+1, 1, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
|
|
@ -825,7 +825,6 @@ dissect_tlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *wassp_tree,
|
|||
{
|
||||
guint32 tlv_type;
|
||||
guint32 tlv_length;
|
||||
proto_item *tlv_item;
|
||||
proto_item *tlv_tree;
|
||||
proto_item *type_item;
|
||||
int type_index;
|
||||
|
@ -834,14 +833,12 @@ dissect_tlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *wassp_tree,
|
|||
tlv_type = tvb_get_ntohs(tvb, offset);
|
||||
tlv_length = tvb_get_ntohs(tvb, offset + 2);
|
||||
DISSECTOR_ASSERT(tlv_length >= 4);
|
||||
tlv_item = proto_tree_add_text(wassp_tree, tvb,
|
||||
offset, tlv_length,
|
||||
tlv_tree = proto_tree_add_subtree_format(wassp_tree, tvb,
|
||||
offset, tlv_length, ett_wassp_tlv_header, NULL,
|
||||
"T %d, L %d: %s",
|
||||
tlv_type,
|
||||
tlv_length,
|
||||
extval_to_str_idx(tlv_type, value_array, NULL, "Unknown"));
|
||||
tlv_tree = proto_item_add_subtree(tlv_item,
|
||||
ett_wassp_tlv_header);
|
||||
type_item = proto_tree_add_item(tlv_tree, hf_wassp_tlv_type,
|
||||
tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(type_item, " = %s",
|
||||
|
|
|
@ -7139,9 +7139,8 @@ dissect_wbxml_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
"(edit WBXML preferences to show)");
|
||||
return;
|
||||
} /* Else: render the WBXML tokens */
|
||||
ti = proto_tree_add_text (wbxml_tree, tvb, offset, -1,
|
||||
"Data representation");
|
||||
wbxml_content_tree = proto_item_add_subtree (ti, ett_wbxml_content);
|
||||
wbxml_content_tree = proto_tree_add_subtree(wbxml_tree, tvb, offset, -1,
|
||||
ett_wbxml_content, &ti, "Data representation");
|
||||
|
||||
/* The parse_wbxml_X() functions will process the content correctly,
|
||||
* irrespective of the WBXML version used. For the WBXML body, this
|
||||
|
|
|
@ -770,7 +770,6 @@ dissect_wccp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
|
|||
static guint
|
||||
dissect_hash_data(tvbuff_t *tvb, int offset, proto_tree *wccp_tree)
|
||||
{
|
||||
proto_item *bucket_item;
|
||||
proto_tree *bucket_tree;
|
||||
proto_item *tf;
|
||||
proto_tree *field_tree;
|
||||
|
@ -782,9 +781,8 @@ dissect_hash_data(tvbuff_t *tvb, int offset, proto_tree *wccp_tree)
|
|||
ENC_BIG_ENDIAN);
|
||||
offset += 4;
|
||||
|
||||
bucket_item = proto_tree_add_text(wccp_tree, tvb, offset, 32,
|
||||
"Hash information");
|
||||
bucket_tree = proto_item_add_subtree(bucket_item, ett_buckets);
|
||||
bucket_tree = proto_tree_add_subtree(wccp_tree, tvb, offset, 32,
|
||||
ett_buckets, NULL, "Hash information");
|
||||
|
||||
for (i = 0, n = 0; i < 32; i++) {
|
||||
bucket_info = tvb_get_guint8(tvb, offset);
|
||||
|
@ -802,12 +800,10 @@ static guint
|
|||
dissect_web_cache_list_entry(tvbuff_t *tvb, int offset, int idx,
|
||||
proto_tree *wccp_tree)
|
||||
{
|
||||
proto_item *tl;
|
||||
proto_tree *list_entry_tree;
|
||||
|
||||
tl = proto_tree_add_text(wccp_tree, tvb, offset, 4 + HASH_INFO_SIZE,
|
||||
"Web-Cache List Entry(%d)", idx);
|
||||
list_entry_tree = proto_item_add_subtree(tl, ett_cache_info);
|
||||
list_entry_tree = proto_tree_add_subtree_format(wccp_tree, tvb, offset, 4 + HASH_INFO_SIZE,
|
||||
ett_cache_info, NULL, "Web-Cache List Entry(%d)", idx);
|
||||
proto_tree_add_item(list_entry_tree, hf_cache_ip, tvb, offset, 4,
|
||||
ENC_BIG_ENDIAN);
|
||||
offset += 4;
|
||||
|
@ -1019,9 +1015,8 @@ dissect_wccp2_info(tvbuff_t *tvb, int offset, guint16 length,
|
|||
break;
|
||||
}
|
||||
|
||||
tf = proto_tree_add_text(wccp_tree, tvb, offset, item_length + 4, "%s",
|
||||
info_tree = proto_tree_add_subtree(wccp_tree, tvb, offset, item_length + 4, ett, &tf,
|
||||
val_to_str(type, info_type_vals, "Unknown info type (%u)"));
|
||||
info_tree = proto_item_add_subtree(tf, ett);
|
||||
proto_tree_add_item(info_tree, hf_item_type, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(info_tree, hf_item_length, tvb, offset+2, 2, ENC_BIG_ENDIAN);
|
||||
|
||||
|
@ -1334,9 +1329,8 @@ dissect_wccp2_service_info(tvbuff_t *tvb, int offset, gint length,
|
|||
offset += 4;
|
||||
|
||||
if (flags & WCCP2_SI_PORTS_DEFINED) {
|
||||
tf = proto_tree_add_text(info_tree, tvb, offset, 2*8,
|
||||
"Ports list: ");
|
||||
ports_tree = proto_item_add_subtree(tf, ett_service_info_ports);
|
||||
ports_tree = proto_tree_add_subtree(info_tree, tvb, offset, 2*8,
|
||||
ett_service_info_ports, &tf, "Ports list: ");
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
guint16 port = tvb_get_ntohs(tvb, offset);
|
||||
|
@ -2114,16 +2108,14 @@ dissect_wccp2_hash_assignment_data_element(tvbuff_t *tvb, int offset, gint lengt
|
|||
proto_tree *info_tree)
|
||||
|
||||
{
|
||||
proto_item *bucket_item;
|
||||
proto_tree *bucket_tree;
|
||||
int i;
|
||||
guint8 bucket_info;
|
||||
int n;
|
||||
|
||||
|
||||
bucket_item = proto_tree_add_text(info_tree, tvb, offset, 8*4,
|
||||
"Hash Assignment Data");
|
||||
bucket_tree = proto_item_add_subtree(bucket_item, ett_hash_assignment_buckets);
|
||||
bucket_tree = proto_tree_add_subtree(info_tree, tvb, offset, 8*4,
|
||||
ett_hash_assignment_buckets, NULL, "Hash Assignment Data");
|
||||
|
||||
for (i = 0, n = 0; i < 32; i++) {
|
||||
if (length == 0) {
|
||||
|
@ -2153,9 +2145,8 @@ dissect_wccp2_mask_assignment_data_element(tvbuff_t *tvb, int offset, gint lengt
|
|||
gint new_length,start;
|
||||
|
||||
|
||||
mask_item = proto_tree_add_text(info_tree, tvb, offset, 4,
|
||||
"Mask Assignment Data");
|
||||
mask_tree = proto_item_add_subtree(mask_item, ett_mask_assignment_data_element);
|
||||
mask_tree = proto_tree_add_subtree(info_tree, tvb, offset, 4,
|
||||
ett_mask_assignment_data_element, &mask_item, "Mask Assignment Data");
|
||||
start = offset;
|
||||
|
||||
new_length=dissect_wccp2_mask_value_set_list(tvb, offset, length, pinfo, mask_tree);
|
||||
|
@ -2178,12 +2169,10 @@ static gint
|
|||
dissect_wccp2_alternate_mask_assignment_data_element(tvbuff_t *tvb, int offset, gint length, packet_info *pinfo,
|
||||
proto_tree *info_tree)
|
||||
{
|
||||
proto_item *mask_item;
|
||||
proto_tree *mask_tree;
|
||||
|
||||
mask_item = proto_tree_add_text(info_tree, tvb, offset, length,
|
||||
"Alternate Mask Assignment Data");
|
||||
mask_tree = proto_item_add_subtree(mask_item, ett_alternate_mask_assignment_data_element);
|
||||
mask_tree = proto_tree_add_subtree(info_tree, tvb, offset, length,
|
||||
ett_alternate_mask_assignment_data_element, NULL, "Alternate Mask Assignment Data");
|
||||
|
||||
if (length < 4)
|
||||
return length-4;
|
||||
|
@ -2240,10 +2229,8 @@ dissect_wccp2_extended_assignment_data_element(tvbuff_t *tvb, int offset, gint l
|
|||
return length-4;
|
||||
|
||||
|
||||
header = proto_tree_add_text(info_tree, tvb, offset, length,
|
||||
"Extended Assignment Data Element");
|
||||
|
||||
item_tree = proto_item_add_subtree(header, ett_extended_assigment_data_element);
|
||||
item_tree = proto_tree_add_subtree(info_tree, tvb, offset, length,
|
||||
ett_extended_assigment_data_element, &header, "Extended Assignment Data Element");
|
||||
|
||||
type_of_assignment = tvb_get_ntohs(tvb, offset);
|
||||
proto_tree_add_item(item_tree, hf_extended_assignment_data_type, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
|
@ -2391,8 +2378,7 @@ dissect_wccp2_mask_value_set_list(tvbuff_t *tvb, int offset,
|
|||
if (length < 4)
|
||||
return length - 4;
|
||||
|
||||
te = proto_tree_add_text(info_tree, tvb, offset, 4, "Mask/Value Set List");
|
||||
element_tree = proto_item_add_subtree(te, ett_mv_set_list);
|
||||
element_tree = proto_tree_add_subtree(info_tree, tvb, offset, 4, ett_mv_set_list, &te, "Mask/Value Set List");
|
||||
start = offset;
|
||||
|
||||
|
||||
|
@ -2448,7 +2434,6 @@ dissect_wccp2_mask_element(tvbuff_t *tvb, int offset, gint length, packet_info *
|
|||
static gint dissect_wccp2_alternate_mask_value_set_list(tvbuff_t *tvb, int offset,
|
||||
int length, packet_info *pinfo, proto_tree *info_tree)
|
||||
{
|
||||
proto_item *header;
|
||||
proto_tree *list_tree;
|
||||
guint num_of_val_elements;
|
||||
guint i;
|
||||
|
@ -2456,9 +2441,8 @@ static gint dissect_wccp2_alternate_mask_value_set_list(tvbuff_t *tvb, int offse
|
|||
if (length < 4)
|
||||
return length - 4;
|
||||
|
||||
header = proto_tree_add_text(info_tree, tvb, offset, length,
|
||||
"Alternate Mask/Value Set List");
|
||||
list_tree = proto_item_add_subtree(header, ett_alternate_mask_value_set);
|
||||
list_tree = proto_tree_add_subtree(info_tree, tvb, offset, length,
|
||||
ett_alternate_mask_value_set, NULL, "Alternate Mask/Value Set List");
|
||||
|
||||
num_of_val_elements = tvb_get_ntohl(tvb, offset);
|
||||
proto_tree_add_uint(list_tree, hf_alt_assignment_mask_value_set_list_num_elements, tvb, offset, 4, num_of_val_elements);
|
||||
|
@ -2485,9 +2469,9 @@ dissect_wccp2_alternate_mask_value_set_element(tvbuff_t *tvb, int offset, gint l
|
|||
gint new_length, total_length;
|
||||
guint i;
|
||||
|
||||
header = proto_tree_add_text(info_tree, tvb, offset, 0,
|
||||
element_tree = proto_tree_add_subtree_format(info_tree, tvb, offset, 0,
|
||||
ett_alternate_mask_value_set_element, &header,
|
||||
"Alternate Mask/Value Set Element(%d)", el_index);
|
||||
element_tree = proto_item_add_subtree(header, ett_alternate_mask_value_set_element);
|
||||
|
||||
total_length = 0;
|
||||
|
||||
|
@ -2600,7 +2584,6 @@ dissect_transmit_t_capability(tvbuff_t *tvb, proto_item *te, int curr_offset,
|
|||
guint16 capability_val_len, gint ett, proto_tree *element_tree)
|
||||
{
|
||||
guint16 upper_limit, lower_limit;
|
||||
proto_item *tm;
|
||||
proto_tree *method_tree;
|
||||
|
||||
DISSECTOR_ASSERT(capability_val_len == 4);
|
||||
|
@ -2609,18 +2592,16 @@ dissect_transmit_t_capability(tvbuff_t *tvb, proto_item *te, int curr_offset,
|
|||
lower_limit = tvb_get_ntohs(tvb, curr_offset + 2);
|
||||
|
||||
if ( upper_limit == 0) {
|
||||
tm = proto_tree_add_text(element_tree, tvb, curr_offset, 2,
|
||||
"Only accepting one value");
|
||||
method_tree = proto_item_add_subtree(tm, ett);
|
||||
method_tree = proto_tree_add_subtree(element_tree, tvb, curr_offset, 2,
|
||||
ett, NULL, "Only accepting one value");
|
||||
proto_tree_add_text(method_tree, tvb, curr_offset, 2,
|
||||
"Reserved, must be 0: %d", upper_limit);
|
||||
|
||||
proto_tree_add_item(method_tree, hf_capability_transmit_t , tvb, curr_offset+2, 2, ENC_BIG_ENDIAN);
|
||||
proto_item_append_text(te, " %d ms", lower_limit);
|
||||
} else {
|
||||
tm = proto_tree_add_text(element_tree, tvb, curr_offset, 2,
|
||||
"Accepting a range");
|
||||
method_tree = proto_item_add_subtree(tm, ett);
|
||||
method_tree = proto_tree_add_subtree(element_tree, tvb, curr_offset, 2,
|
||||
ett, NULL, "Accepting a range");
|
||||
proto_tree_add_item(method_tree, hf_capability_transmit_t_upper_limit,
|
||||
tvb, curr_offset, 2, ENC_BIG_ENDIAN);
|
||||
|
||||
|
@ -2636,7 +2617,6 @@ dissect_timer_scale_capability(tvbuff_t *tvb, int curr_offset,
|
|||
guint16 capability_val_len, gint ett, proto_tree *element_tree)
|
||||
{
|
||||
guint8 a,c;
|
||||
proto_item *tm;
|
||||
proto_tree *method_tree;
|
||||
|
||||
DISSECTOR_ASSERT(capability_val_len == 4);
|
||||
|
@ -2646,10 +2626,9 @@ dissect_timer_scale_capability(tvbuff_t *tvb, int curr_offset,
|
|||
|
||||
if ( a == 0) {
|
||||
if ( c == 0) {
|
||||
tm = proto_tree_add_text(element_tree, tvb, curr_offset, 2,
|
||||
"Only accepting one value");
|
||||
method_tree = proto_tree_add_subtree(element_tree, tvb, curr_offset, 2,
|
||||
ett, NULL, "Only accepting one value");
|
||||
|
||||
method_tree = proto_item_add_subtree(tm, ett);
|
||||
proto_tree_add_text(method_tree, tvb, curr_offset, 1,
|
||||
"Reserved, must be 0: %d", a);
|
||||
|
||||
|
@ -2668,9 +2647,8 @@ dissect_timer_scale_capability(tvbuff_t *tvb, int curr_offset,
|
|||
proto_tree_add_text(element_tree, tvb, curr_offset, 1,
|
||||
"Error C is 0, but A is not");
|
||||
} else {
|
||||
tm = proto_tree_add_text(element_tree, tvb, curr_offset, 2,
|
||||
"Accepting a range");
|
||||
method_tree = proto_item_add_subtree(tm, ett);
|
||||
method_tree = proto_tree_add_subtree(element_tree, tvb, curr_offset, 2,
|
||||
ett, NULL, "Accepting a range");
|
||||
proto_tree_add_item(method_tree, hf_capability_timer_scale_timeout_scale_upper_limit,
|
||||
tvb, curr_offset, 1, ENC_BIG_ENDIAN);
|
||||
|
||||
|
@ -2689,15 +2667,13 @@ dissect_timer_scale_capability(tvbuff_t *tvb, int curr_offset,
|
|||
static gint
|
||||
dissect_wccp2_value_element(tvbuff_t *tvb, int offset, gint length, int idx, packet_info *pinfo, proto_tree *info_tree)
|
||||
{
|
||||
proto_item *tl;
|
||||
proto_tree *element_tree;
|
||||
|
||||
if (length < 4)
|
||||
return length - 16;
|
||||
|
||||
tl = proto_tree_add_text(info_tree, tvb, offset, 16, "Value Element(%u) %s",
|
||||
element_tree = proto_tree_add_subtree_format(info_tree, tvb, offset, 16, ett_value_element, NULL, "Value Element(%u) %s",
|
||||
idx,decode_wccp_encoded_address(tvb, offset+4+4+2+2, pinfo, info_tree));
|
||||
element_tree = proto_item_add_subtree(tl, ett_value_element);
|
||||
|
||||
proto_tree_add_item(element_tree, hf_value_element_src_ip, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
EAT_AND_CHECK(4,4);
|
||||
|
@ -2726,9 +2702,8 @@ dissect_wccp2_mask_value_set_element(tvbuff_t *tvb, int offset, gint length, int
|
|||
guint i;
|
||||
gint new_length;
|
||||
|
||||
tl = proto_tree_add_text(info_tree, tvb, offset, 0,
|
||||
"Mask/Value Set Element(%d)", idx);
|
||||
element_tree = proto_item_add_subtree(tl, ett_mv_set_element);
|
||||
element_tree = proto_tree_add_subtree_format(info_tree, tvb, offset, 0,
|
||||
ett_mv_set_element, &tl, "Mask/Value Set Element(%d)", idx);
|
||||
|
||||
new_length = dissect_wccp2_mask_element(tvb,offset,length,pinfo,element_tree);
|
||||
NOTE_EATEN_LENGTH(new_length);
|
||||
|
@ -2767,7 +2742,6 @@ dissect_wccp2_alternate_assignment_info(tvbuff_t *tvb, int offset, gint length,
|
|||
|
||||
guint32 n_routers;
|
||||
guint i;
|
||||
proto_item *te;
|
||||
proto_tree *element_tree;
|
||||
gint new_length;
|
||||
|
||||
|
@ -2806,11 +2780,11 @@ dissect_wccp2_alternate_assignment_info(tvbuff_t *tvb, int offset, gint length,
|
|||
if (length < 12)
|
||||
return length - 12*(n_routers-i);
|
||||
|
||||
te = proto_tree_add_text(info_tree, tvb, offset, 12,
|
||||
element_tree = proto_tree_add_subtree_format(info_tree, tvb, offset, 12,
|
||||
ett_router_alt_assignment_element, NULL,
|
||||
"Router %d Assignment Element: IP address %s", i,
|
||||
decode_wccp_encoded_address(tvb, offset, pinfo, info_tree));
|
||||
|
||||
element_tree = proto_item_add_subtree(te, ett_router_alt_assignment_element);
|
||||
dissect_wccp2_router_assignment_element(tvb, offset, length , pinfo, element_tree);
|
||||
EAT(12);
|
||||
}
|
||||
|
|
|
@ -225,9 +225,8 @@ dissect_wfd_subelem_session_info(packet_info *pinfo, proto_tree *tree,
|
|||
guint8 dlen = tvb_get_guint8(tvb, offset);
|
||||
next = offset + 1 + dlen;
|
||||
|
||||
item = proto_tree_add_text(tree, tvb, offset, 1 + dlen,
|
||||
"WFD Device Info Descriptor");
|
||||
descr = proto_item_add_subtree(item, ett_wfd_dev_info_descr);
|
||||
descr = proto_tree_add_subtree(tree, tvb, offset, 1 + dlen,
|
||||
ett_wfd_dev_info_descr, &item, "WFD Device Info Descriptor");
|
||||
if (offset + 1 + dlen > end || dlen < 23) {
|
||||
expert_add_info(pinfo, item, &ei_wfd_subelem_session_descr_invalid);
|
||||
break;
|
||||
|
@ -324,15 +323,14 @@ void dissect_wifi_display_ie(packet_info *pinfo, proto_tree *tree,
|
|||
|
||||
id = tvb_get_guint8(tvb, offset);
|
||||
len = tvb_get_ntohs(tvb, offset + 1);
|
||||
subelem = proto_tree_add_text(tree, tvb, offset, 3 + len, "%s",
|
||||
wfd_tree = proto_tree_add_subtree(tree, tvb, offset, 3 + len,
|
||||
ett_wfd_subelem, &subelem,
|
||||
val_to_str(id, wfd_subelem_ids,
|
||||
"Unknown subelement ID (%u)"));
|
||||
if (offset + 3 + len > end) {
|
||||
expert_add_info_format(pinfo, subelem, &ei_wfd_subelem_len_invalid, "Packet too short for Wi-Fi Display subelement payload");
|
||||
}
|
||||
|
||||
wfd_tree = proto_item_add_subtree(subelem, ett_wfd_subelem);
|
||||
|
||||
proto_tree_add_item(wfd_tree, hf_wfd_subelem_id, tvb, offset, 1,
|
||||
ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
|
|
|
@ -738,9 +738,8 @@ static void dissect_wifi_p2p_group_info(packet_info *pinfo,
|
|||
}
|
||||
|
||||
ci_len = tvb_get_guint8(tvb, s_offset);
|
||||
item = proto_tree_add_text(tlv_root, tvb, s_offset, 1 + ci_len,
|
||||
"P2P Client Info Descriptor");
|
||||
tree = proto_item_add_subtree(item, ett_p2p_client_descr);
|
||||
tree = proto_tree_add_subtree(tlv_root, tvb, s_offset, 1 + ci_len,
|
||||
ett_p2p_client_descr, NULL, "P2P Client Info Descriptor");
|
||||
|
||||
item = proto_tree_add_item(tree, hf_p2p_attr_gi_length, tvb, s_offset,
|
||||
1, ENC_BIG_ENDIAN);
|
||||
|
@ -896,10 +895,9 @@ void dissect_wifi_p2p_ie(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb,
|
|||
stype = tvb_get_guint8(tvb, offset);
|
||||
slen = tvb_get_letohs(tvb, offset + 1);
|
||||
|
||||
tlv_item = proto_tree_add_text(tree, tvb, offset, 3 + slen, "%s",
|
||||
tlv_root = proto_tree_add_subtree(tree, tvb, offset, 3 + slen, ett_p2p_tlv, &tlv_item,
|
||||
val_to_str(stype, p2p_attr_types,
|
||||
"Unknown attribute type (%u)"));
|
||||
tlv_root = proto_item_add_subtree(tlv_item, ett_p2p_tlv);
|
||||
|
||||
proto_tree_add_item(tlv_root, hf_p2p_attr_type, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_uint(tlv_root, hf_p2p_attr_len, tvb, offset + 1, 2,
|
||||
|
@ -1022,11 +1020,10 @@ void dissect_wifi_p2p_anqp(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb,
|
|||
|
||||
type = tvb_get_guint8(tvb, offset + 2);
|
||||
id = tvb_get_guint8(tvb, offset + 3);
|
||||
item = proto_tree_add_text(tree, tvb, offset, 2 + len,
|
||||
"Service TLV (Transaction ID: %u Type: %s)",
|
||||
tlv = proto_tree_add_subtree_format(tree, tvb, offset, 2 + len,
|
||||
ett_p2p_service_tlv, &item, "Service TLV (Transaction ID: %u Type: %s)",
|
||||
id, val_to_str(type, p2p_service_protocol_types,
|
||||
"Unknown (%u)"));
|
||||
tlv = proto_item_add_subtree(item, ett_p2p_service_tlv);
|
||||
|
||||
proto_tree_add_item(tlv, hf_p2p_anqp_length, tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
offset += 2;
|
||||
|
|
|
@ -2010,27 +2010,23 @@ static const true_false_string flags_sec_info_owner = {
|
|||
static int
|
||||
dissect_nt_ace_object(tvbuff_t *tvb, int offset, proto_tree *parent_tree)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *tree = NULL;
|
||||
proto_item *flags_item = NULL;
|
||||
proto_tree *flags_tree = NULL;
|
||||
proto_item *item;
|
||||
proto_tree *tree;
|
||||
proto_item *flags_item;
|
||||
proto_tree *flags_tree;
|
||||
guint32 flags;
|
||||
int old_offset=offset;
|
||||
const char *sep = " ";
|
||||
|
||||
if(parent_tree){
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset, 0,
|
||||
"ACE Object");
|
||||
tree = proto_item_add_subtree(item, ett_nt_ace_object);
|
||||
}
|
||||
tree = proto_tree_add_subtree(parent_tree, tvb, offset, 0,
|
||||
ett_nt_ace_object, &item, "ACE Object");
|
||||
|
||||
/* flags */
|
||||
flags=tvb_get_letohl(tvb, offset);
|
||||
if(tree){
|
||||
flags_item = proto_tree_add_text(tree, tvb, offset, 4,
|
||||
flags_item = proto_tree_add_text(tree, tvb, offset, 4,
|
||||
"ACE Object Flags (0x%08x)", flags);
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_nt_ace_object_flags);
|
||||
}
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_nt_ace_object_flags);
|
||||
|
||||
proto_tree_add_boolean(flags_tree, hf_nt_ace_flags_object_type_present,
|
||||
tvb, offset, 4, flags);
|
||||
APPEND_ACE_TEXT(flags&0x00000001, flags_item, "%sObject Type Present");
|
||||
|
@ -2116,8 +2112,8 @@ dissect_nt_v2_ace(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
proto_tree *parent_tree, guint8 *drep,
|
||||
struct access_mask_info *ami)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *tree = NULL;
|
||||
proto_item *item;
|
||||
proto_tree *tree;
|
||||
int old_offset = offset;
|
||||
char *sid_str = NULL;
|
||||
guint16 size;
|
||||
|
@ -2125,11 +2121,8 @@ dissect_nt_v2_ace(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
guint8 flags;
|
||||
guint32 perms = 0;
|
||||
|
||||
if(parent_tree){
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset, -1,
|
||||
"NT ACE: ");
|
||||
tree = proto_item_add_subtree(item, ett_nt_ace);
|
||||
}
|
||||
tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1,
|
||||
ett_nt_ace, &item, "NT ACE: ");
|
||||
|
||||
/* type */
|
||||
type = tvb_get_guint8(tvb, offset);
|
||||
|
@ -2219,8 +2212,8 @@ dissect_nt_acl(tvbuff_t *tvb, int offset_a, packet_info *pinfo,
|
|||
proto_tree *parent_tree, guint8 *drep, const char *name,
|
||||
struct access_mask_info *ami)
|
||||
{
|
||||
proto_item *volatile item = NULL;
|
||||
proto_tree *volatile tree = NULL;
|
||||
proto_item *item;
|
||||
proto_tree *tree;
|
||||
int old_offset = offset_a;
|
||||
int pre_ace_offset;
|
||||
guint16 revision;
|
||||
|
@ -2229,11 +2222,8 @@ dissect_nt_acl(tvbuff_t *tvb, int offset_a, packet_info *pinfo,
|
|||
volatile gboolean missing_data = FALSE;
|
||||
volatile gboolean bad_ace = FALSE;
|
||||
|
||||
if(parent_tree) {
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset_v, -1,
|
||||
"NT %s ACL", name);
|
||||
tree = proto_item_add_subtree(item, ett_nt_acl);
|
||||
}
|
||||
tree = proto_tree_add_subtree_format(parent_tree, tvb, offset_v, -1,
|
||||
ett_nt_acl, &item, "NT %s ACL", name);
|
||||
|
||||
/* revision */
|
||||
/*
|
||||
|
@ -2485,9 +2475,8 @@ dissect_nt_sec_desc(tvbuff_t *tvb, int offset_a, packet_info *pinfo,
|
|||
volatile guint32 sacl_offset;
|
||||
volatile guint32 dacl_offset;
|
||||
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset_v, -1,
|
||||
"NT Security Descriptor");
|
||||
tree = proto_item_add_subtree(item, ett_nt_sec_desc);
|
||||
tree = proto_tree_add_subtree(parent_tree, tvb, offset_v, -1,
|
||||
ett_nt_sec_desc, &item, "NT Security Descriptor");
|
||||
|
||||
/* revision */
|
||||
revision = tvb_get_letohs(tvb, offset_v);
|
||||
|
|
|
@ -180,13 +180,10 @@ static int
|
|||
dissect_winsrepl_start(tvbuff_t *winsrepl_tvb, _U_ packet_info *pinfo,
|
||||
int winsrepl_offset, proto_tree *winsrepl_tree)
|
||||
{
|
||||
proto_item *start_item = NULL;
|
||||
proto_tree *start_tree = NULL;
|
||||
proto_tree *start_tree;
|
||||
|
||||
if (winsrepl_tree) {
|
||||
start_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_START_ASSOCIATION");
|
||||
start_tree = proto_item_add_subtree(start_item, ett_winsrepl_start);
|
||||
}
|
||||
start_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
|
||||
ett_winsrepl_start, NULL, "WREPL_START_ASSOCIATION");
|
||||
|
||||
/* ASSOC_CTX */
|
||||
proto_tree_add_item(start_tree, hf_winsrepl_assoc_ctx, winsrepl_tvb, winsrepl_offset, 4, ENC_BIG_ENDIAN);
|
||||
|
@ -208,13 +205,11 @@ dissect_winsrepl_stop(tvbuff_t *winsrepl_tvb, _U_ packet_info *pinfo,
|
|||
int winsrepl_offset, proto_tree *winsrepl_tree)
|
||||
{
|
||||
guint32 reason;
|
||||
proto_item *stop_item = NULL;
|
||||
proto_tree *stop_tree = NULL;
|
||||
proto_item *stop_item;
|
||||
proto_tree *stop_tree;
|
||||
|
||||
if (winsrepl_tree) {
|
||||
stop_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_STOP_ASSOCIATION");
|
||||
stop_tree = proto_item_add_subtree(stop_item, ett_winsrepl_stop);
|
||||
}
|
||||
stop_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
|
||||
ett_winsrepl_stop, &stop_item, "WREPL_STOP_ASSOCIATION");
|
||||
|
||||
/* REASON */
|
||||
reason = tvb_get_ntohl(winsrepl_tvb, winsrepl_offset);
|
||||
|
@ -239,15 +234,14 @@ dissect_winsrepl_wins_owner(tvbuff_t *winsrepl_tvb, _U_ packet_info *pinfo,
|
|||
int winsrepl_offset, proto_tree *winsrepl_tree,
|
||||
proto_tree *sub_tree, guint32 idx)
|
||||
{
|
||||
proto_item *owner_item = NULL;
|
||||
proto_tree *owner_tree = NULL;
|
||||
|
||||
if (sub_tree) {
|
||||
owner_item = proto_tree_add_text(sub_tree, winsrepl_tvb, winsrepl_offset, 24 , "WINS Owner [%u]", idx);
|
||||
owner_tree = proto_item_add_subtree(owner_item, ett_winsrepl_owner);
|
||||
owner_tree = proto_tree_add_subtree_format(sub_tree, winsrepl_tvb, winsrepl_offset, 24,
|
||||
ett_winsrepl_owner, NULL, "WINS Owner [%u]", idx);
|
||||
} else if (winsrepl_tree) {
|
||||
owner_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, 24 , "WINS Owner");
|
||||
owner_tree = proto_item_add_subtree(owner_item, ett_winsrepl_owner);
|
||||
owner_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, 24,
|
||||
ett_winsrepl_owner, NULL, "WINS Owner");
|
||||
}
|
||||
|
||||
/* ADDRESS */
|
||||
|
@ -273,15 +267,12 @@ static int
|
|||
dissect_winsrepl_table_reply(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
|
||||
int winsrepl_offset, proto_tree *winsrepl_tree)
|
||||
{
|
||||
proto_item *table_item = NULL;
|
||||
proto_tree *table_tree = NULL;
|
||||
proto_tree *table_tree;
|
||||
guint32 partner_count;
|
||||
guint32 i;
|
||||
|
||||
if (winsrepl_tree) {
|
||||
table_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_REPL_TABLE_REPLY");
|
||||
table_tree = proto_item_add_subtree(table_item, ett_winsrepl_table_reply);
|
||||
}
|
||||
table_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
|
||||
ett_winsrepl_table_reply, NULL, "WREPL_REPL_TABLE_REPLY");
|
||||
|
||||
/* PARTNER COUNT */
|
||||
partner_count = tvb_get_ntohl(winsrepl_tvb, winsrepl_offset);
|
||||
|
@ -321,11 +312,11 @@ dissect_winsrepl_wins_ip(tvbuff_t *winsrepl_tvb, _U_ packet_info *pinfo,
|
|||
proto_tree *ip_tree = NULL;
|
||||
|
||||
if (sub_tree) {
|
||||
ip_item = proto_tree_add_text(sub_tree, winsrepl_tvb, winsrepl_offset, 8 , "WINS IP [%u]", idx);
|
||||
ip_tree = proto_item_add_subtree(ip_item, ett_winsrepl_ip);
|
||||
ip_tree = proto_tree_add_subtree_format(sub_tree, winsrepl_tvb, winsrepl_offset, 8,
|
||||
ett_winsrepl_ip, &ip_item, "WINS IP [%u]", idx);
|
||||
} else if (winsrepl_tree) {
|
||||
ip_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, 8 , "WINS IP");
|
||||
ip_tree = proto_item_add_subtree(ip_item, ett_winsrepl_ip);
|
||||
ip_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, 8,
|
||||
ett_winsrepl_ip, &ip_item, "WINS IP");
|
||||
}
|
||||
|
||||
/* OWNER */
|
||||
|
@ -346,17 +337,15 @@ dissect_winsrepl_wins_address_list(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
|
|||
int winsrepl_offset, proto_tree *winsrepl_tree,
|
||||
proto_item *parent_item)
|
||||
{
|
||||
proto_item *addr_list_item = NULL;
|
||||
proto_tree *addr_list_tree = NULL;
|
||||
proto_item *addr_list_item;
|
||||
proto_tree *addr_list_tree;
|
||||
int old_offset = winsrepl_offset;
|
||||
guint32 num_ips;
|
||||
guint32 ip;
|
||||
guint32 i;
|
||||
|
||||
if (winsrepl_tree) {
|
||||
addr_list_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WINS Address List");
|
||||
addr_list_tree = proto_item_add_subtree(addr_list_item, ett_winsrepl_addr_list);
|
||||
}
|
||||
addr_list_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
|
||||
ett_winsrepl_addr_list, &addr_list_item, "WINS Address List");
|
||||
|
||||
/* NUM_IPS */
|
||||
num_ips = tvb_get_letohl(winsrepl_tvb, winsrepl_offset);
|
||||
|
@ -399,11 +388,11 @@ dissect_winsrepl_wins_name(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
|
|||
guint32 addr;
|
||||
|
||||
if (sub_tree) {
|
||||
name_item = proto_tree_add_text(sub_tree, winsrepl_tvb, winsrepl_offset, -1 , "WINS Name [%u]", idx);
|
||||
name_tree = proto_item_add_subtree(name_item, ett_winsrepl_name);
|
||||
name_tree = proto_tree_add_subtree_format(sub_tree, winsrepl_tvb, winsrepl_offset, -1,
|
||||
ett_winsrepl_name, &name_item, "WINS Name [%u]", idx);
|
||||
} else if (winsrepl_tree) {
|
||||
name_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WINS Name");
|
||||
name_tree = proto_item_add_subtree(name_item, ett_winsrepl_name);
|
||||
name_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
|
||||
ett_winsrepl_name, &name_item, "WINS Name");
|
||||
}
|
||||
|
||||
/* NAME_LEN */
|
||||
|
@ -495,15 +484,12 @@ static int
|
|||
dissect_winsrepl_send_reply(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
|
||||
int winsrepl_offset, proto_tree *winsrepl_tree)
|
||||
{
|
||||
proto_item *rep_item = NULL;
|
||||
proto_tree *rep_tree = NULL;
|
||||
proto_tree *rep_tree;
|
||||
guint32 num_names;
|
||||
guint32 i;
|
||||
|
||||
if (winsrepl_tree) {
|
||||
rep_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_REPL_SEND_REPLY");
|
||||
rep_tree = proto_item_add_subtree(rep_item, ett_winsrepl_send_reply);
|
||||
}
|
||||
rep_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
|
||||
ett_winsrepl_send_reply, NULL, "WREPL_REPL_SEND_REPLY");
|
||||
|
||||
/* NUM NAMES */
|
||||
num_names = tvb_get_ntohl(winsrepl_tvb, winsrepl_offset);
|
||||
|
@ -559,14 +545,12 @@ static int
|
|||
dissect_winsrepl_replication(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
|
||||
int winsrepl_offset, proto_item *winsrepl_item, proto_tree *winsrepl_tree)
|
||||
{
|
||||
proto_item *repl_item = NULL;
|
||||
proto_tree *repl_tree = NULL;
|
||||
proto_item *repl_item;
|
||||
proto_tree *repl_tree;
|
||||
enum wrepl_replication_cmd command;
|
||||
|
||||
if (winsrepl_tree) {
|
||||
repl_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_REPLICATION");
|
||||
repl_tree = proto_item_add_subtree(repl_item, ett_winsrepl_replication);
|
||||
}
|
||||
repl_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
|
||||
ett_winsrepl_replication, &repl_item, "WREPL_REPLICATION");
|
||||
|
||||
/* REPLIICATION_CMD */
|
||||
command = (enum wrepl_replication_cmd)tvb_get_ntohl(winsrepl_tvb, winsrepl_offset);
|
||||
|
|
|
@ -85,7 +85,6 @@ dissect_wol_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
|
|||
|
||||
/* Set up structures needed to add the protocol subtree and manage it */
|
||||
proto_item *ti;
|
||||
proto_item *mti;
|
||||
proto_tree *wol_tree;
|
||||
proto_tree *mac_tree;
|
||||
|
||||
|
@ -239,9 +238,9 @@ dissect_wol_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
|
|||
proto_tree_add_item(wol_tree, hf_wol_sync, tvb, 0, 6, ENC_NA);
|
||||
|
||||
/* Continue adding tree items to process the packet here */
|
||||
mti = proto_tree_add_text(wol_tree, tvb, 6, 96, "MAC: %s (%s)",
|
||||
mac_tree = proto_tree_add_subtree_format(wol_tree, tvb, 6, 96,
|
||||
ett_wol_macblock, NULL, "MAC: %s (%s)",
|
||||
get_ether_name(mac), ether_to_str(mac));
|
||||
mac_tree = proto_item_add_subtree(mti, ett_wol_macblock);
|
||||
for ( offset = 6; offset < 102; offset += 6 )
|
||||
proto_tree_add_ether(mac_tree, hf_wol_mac, tvb, offset, 6, mac);
|
||||
|
||||
|
|
|
@ -358,12 +358,11 @@ dissect_wow_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
|
|||
offset + 3,
|
||||
&len, ENC_ASCII);
|
||||
|
||||
ti = proto_tree_add_text(wow_tree, tvb,
|
||||
wow_realms_tree = proto_tree_add_subtree(wow_tree, tvb,
|
||||
offset, 0,
|
||||
"%s",
|
||||
ett_wow_realms, NULL,
|
||||
realm_name);
|
||||
|
||||
wow_realms_tree = proto_item_add_subtree(ti, ett_wow_realms);
|
||||
proto_tree_add_item(wow_realms_tree, hf_wow_realm_type, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
offset += 1;
|
||||
|
||||
|
|
|
@ -802,10 +802,8 @@ add_wps_wfa_ext(guint8 id, proto_tree *tree, tvbuff_t *tvb,
|
|||
proto_tree *elem;
|
||||
guint8 val8;
|
||||
|
||||
item = proto_tree_add_text(tree, tvb, offset - 2, 2 + size, "%s",
|
||||
val_to_str(id, eapwps_wfa_ext_types,
|
||||
"Unknown (%u)"));
|
||||
elem = proto_item_add_subtree(item, ett_wps_wfa_ext);
|
||||
elem = proto_tree_add_subtree(tree, tvb, offset - 2, 2 + size, ett_wps_wfa_ext, &item,
|
||||
val_to_str(id, eapwps_wfa_ext_types, "Unknown (%u)"));
|
||||
proto_tree_add_item(elem, hf_eapwps_wfa_ext_id, tvb, offset - 2, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(elem, hf_eapwps_wfa_ext_len, tvb, offset - 1, 1, ENC_BIG_ENDIAN);
|
||||
|
||||
|
@ -904,16 +902,14 @@ dissect_wps_tlvs(proto_tree *eap_tree, tvbuff_t *tvb, int offset,
|
|||
break;
|
||||
}
|
||||
|
||||
tlv_item = NULL;
|
||||
tlv_root = NULL;
|
||||
tmp_item = NULL;
|
||||
|
||||
tlv_type = tvb_get_ntohs(tvb, offset);
|
||||
tlv_len = tvb_get_ntohs(tvb, offset+2);
|
||||
|
||||
/* TOP Node for each TLV-item */
|
||||
tlv_item = proto_tree_add_text(eap_tree, tvb, offset, tlv_len+4, "Unknown Type (0x%04x)", tlv_type);
|
||||
tlv_root = proto_item_add_subtree(tlv_item, ett_wps_tlv);
|
||||
tlv_root = proto_tree_add_subtree_format(eap_tree, tvb, offset, tlv_len+4,
|
||||
ett_wps_tlv, &tlv_item, "Unknown Type (0x%04x)", tlv_type);
|
||||
|
||||
/* analog to Tagged parameters in 802.11 */
|
||||
proto_tree_add_item(tlv_root, hf_eapwps_tlv_type, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
|
|
|
@ -90,7 +90,7 @@ static void
|
|||
dissect_wsmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
||||
{
|
||||
/* Set up structures needed to add the protocol subtree and manage it */
|
||||
proto_item *ti, *wsmdata_item;
|
||||
proto_item *ti;
|
||||
proto_tree *wsmp_tree, *wsmdata_tree;
|
||||
tvbuff_t *wsmdata_tvb;
|
||||
guint16 wsmlength, offset;
|
||||
|
@ -191,9 +191,8 @@ dissect_wsmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
offset += supLen;
|
||||
}
|
||||
|
||||
wsmdata_item = proto_tree_add_text (wsmp_tree, tvb, offset, wsmlength,
|
||||
"Wave Short Message");
|
||||
wsmdata_tree = proto_item_add_subtree(wsmdata_item, ett_wsmdata);
|
||||
wsmdata_tree = proto_tree_add_subtree(wsmp_tree, tvb, offset, wsmlength,
|
||||
ett_wsmdata, NULL, "Wave Short Message");
|
||||
|
||||
wsmdata_tvb = tvb_new_subset(tvb, offset, -1, wsmlength);
|
||||
|
||||
|
|
|
@ -5872,9 +5872,8 @@ add_multipart_data (proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo)
|
|||
offset += count;
|
||||
if (nEntries)
|
||||
{
|
||||
ti = proto_tree_add_text(tree, tvb, offset - count, 0,
|
||||
"Multipart body");
|
||||
sub_tree = proto_item_add_subtree(ti, ett_mpartlist);
|
||||
sub_tree = proto_tree_add_subtree(tree, tvb, offset - count, 0,
|
||||
ett_mpartlist, NULL, "Multipart body");
|
||||
}
|
||||
while (nEntries--)
|
||||
{
|
||||
|
@ -5886,12 +5885,12 @@ add_multipart_data (proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo)
|
|||
offset += count;
|
||||
DataLen = tvb_get_guintvar (tvb, offset, &count);
|
||||
offset += count;
|
||||
if (tree) {
|
||||
tvb_ensure_bytes_exist(tvb, part_start, HeadersLen + DataLen + (offset - part_start));
|
||||
ti = proto_tree_add_uint(sub_tree, hf_wsp_mpart, tvb, part_start,
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, part_start, HeadersLen + DataLen + (offset - part_start));
|
||||
ti = proto_tree_add_uint(sub_tree, hf_wsp_mpart, tvb, part_start,
|
||||
HeadersLen + DataLen + (offset - part_start), partnr);
|
||||
mpart_tree = proto_item_add_subtree(ti, ett_multiparts);
|
||||
}
|
||||
mpart_tree = proto_item_add_subtree(ti, ett_multiparts);
|
||||
|
||||
nextOffset = add_content_type (mpart_tree, tvb, offset,
|
||||
&contentType, &contentTypeStr);
|
||||
|
||||
|
|
Loading…
Reference in New Issue