diff --git a/epan/dissectors/packet-bfcp.c b/epan/dissectors/packet-bfcp.c index 5e6dea05f4..a02016fc24 100644 --- a/epan/dissectors/packet-bfcp.c +++ b/epan/dissectors/packet-bfcp.c @@ -68,6 +68,8 @@ static int hf_bfcp_supp_prim = -1; static int hf_bfcp_user_disp_name = -1; static int hf_bfcp_user_uri = -1; static int hf_bfcp_req_by_id = -1; +static int hf_bfcp_padding = -1; +static int hf_bfcp_error_specific_details = -1; /* Initialize subtree pointers */ static gint ett_bfcp = -1; @@ -240,13 +242,13 @@ dissect_bfcp_attributes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset++; if(length>3){ /* We have Error Specific Details */ - proto_tree_add_text(bfcp_attr_tree, tvb, offset, length-3, "Error Specific Details"); + proto_tree_add_item(bfcp_attr_tree, hf_bfcp_error_specific_details, tvb, offset, length-3, ENC_NA); } offset = offset + length-3; pad_len = length & 0x03; if(pad_len != 0){ pad_len = 4 - pad_len; - proto_tree_add_text(bfcp_attr_tree, tvb, offset, pad_len, "Padding"); + proto_tree_add_item(bfcp_attr_tree, hf_bfcp_padding, tvb, offset, pad_len, ENC_NA); } offset = offset + pad_len; break; @@ -256,7 +258,7 @@ dissect_bfcp_attributes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int pad_len = length & 0x03; if(pad_len != 0){ pad_len = 4 - pad_len; - proto_tree_add_text(bfcp_attr_tree, tvb, offset, pad_len, "Padding"); + proto_tree_add_item(bfcp_attr_tree, hf_bfcp_padding, tvb, offset, pad_len, ENC_NA); } offset = offset + pad_len; break; @@ -266,7 +268,7 @@ dissect_bfcp_attributes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int pad_len = length & 0x03; if(pad_len != 0){ pad_len = 4 - pad_len; - proto_tree_add_text(bfcp_attr_tree, tvb, offset, pad_len, "Padding"); + proto_tree_add_item(bfcp_attr_tree, hf_bfcp_padding, tvb, offset, pad_len, ENC_NA); } offset = offset + pad_len; break; @@ -276,7 +278,7 @@ dissect_bfcp_attributes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int pad_len = length & 0x03; if(pad_len != 0){ pad_len = 4 - pad_len; - proto_tree_add_text(bfcp_attr_tree, tvb, offset, pad_len, "Padding"); + proto_tree_add_item(bfcp_attr_tree, hf_bfcp_padding, tvb, offset, pad_len, ENC_NA); } offset = offset + pad_len; break; @@ -289,7 +291,7 @@ dissect_bfcp_attributes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int pad_len = length & 0x03; if(pad_len != 0){ pad_len = 4 - pad_len; - proto_tree_add_text(bfcp_attr_tree, tvb, offset, pad_len, "Padding"); + proto_tree_add_item(bfcp_attr_tree, hf_bfcp_padding, tvb, offset, pad_len, ENC_NA); } offset = offset + pad_len; break; @@ -302,7 +304,7 @@ dissect_bfcp_attributes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int pad_len = length & 0x03; if(pad_len != 0){ pad_len = 4 - pad_len; - proto_tree_add_text(bfcp_attr_tree, tvb, offset, pad_len, "Padding"); + proto_tree_add_item(bfcp_attr_tree, hf_bfcp_padding, tvb, offset, pad_len, ENC_NA); } offset = offset + pad_len; break; @@ -312,7 +314,7 @@ dissect_bfcp_attributes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int pad_len = length & 0x03; if(pad_len != 0){ pad_len = 4 - pad_len; - proto_tree_add_text(bfcp_attr_tree, tvb, offset, pad_len, "Padding"); + proto_tree_add_item(bfcp_attr_tree, hf_bfcp_padding, tvb, offset, pad_len, ENC_NA); } offset = offset + pad_len; break; @@ -322,7 +324,7 @@ dissect_bfcp_attributes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int pad_len = length & 0x03; if(pad_len != 0){ pad_len = 4 - pad_len; - proto_tree_add_text(bfcp_attr_tree, tvb, offset, pad_len, "Padding"); + proto_tree_add_item(bfcp_attr_tree, hf_bfcp_padding, tvb, offset, pad_len, ENC_NA); } offset = offset + pad_len; break; @@ -654,6 +656,18 @@ void proto_register_bfcp(void) FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { + &hf_bfcp_padding, + { "Padding", "bfcp.padding", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { + &hf_bfcp_error_specific_details, + { "Error Specific Details", "bfcp.error_specific_details", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, }; static gint *ett[] = { diff --git a/epan/dissectors/packet-bootp.c b/epan/dissectors/packet-bootp.c index 631ca43b0e..31d20e9f58 100644 --- a/epan/dissectors/packet-bootp.c +++ b/epan/dissectors/packet-bootp.c @@ -5373,7 +5373,7 @@ dissect_bootp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* * Padding after the end option. */ - proto_tree_add_text(bp_tree, tvb, voff, eoff - voff, "Padding"); + proto_tree_add_item(bp_tree, hf_bootp_option_padding, tvb, voff, eoff - voff, ENC_NA); } } diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c index c28035a90e..ce20b64b44 100644 --- a/epan/dissectors/packet-ipv6.c +++ b/epan/dissectors/packet-ipv6.c @@ -217,6 +217,7 @@ static int hf_ipv6_fragment_count = -1; static int hf_ipv6_reassembled_in = -1; static int hf_ipv6_reassembled_length = -1; static int hf_ipv6_reassembled_data = -1; +static int hf_ipv6_padding = -1; static int hf_ipv6_mipv6_home_address = -1; @@ -1360,7 +1361,7 @@ dissect_shim6_opt_loclist(proto_tree * opt_tree, tvbuff_t * tvb, gint *offset) /* Padding, included in length field */ if ((7 - optlen % 8) > 0) { - proto_tree_add_text(opt_tree, tvb, p, (7 - optlen % 8), "Padding"); + proto_tree_add_item(opt_tree, hf_ipv6_padding, tvb, p, (7 - optlen % 8), ENC_NA); p += (7 - optlen % 8); } @@ -1468,7 +1469,7 @@ dissect_shimopts(tvbuff_t *tvb, int offset, proto_tree *tree, packet_info *pinfo case SHIM6_OPT_RESPVAL: p += dissect_shim_hex(tvb, p, len, "Validator:", 0xff, opt_tree); if (total_len-(len+4) > 0) - proto_tree_add_text(opt_tree, tvb, p, total_len-(len+4), "Padding"); + proto_tree_add_item(opt_tree, hf_ipv6_padding, tvb, p, total_len-(len+4), ENC_NA); break; case SHIM6_OPT_LOCLIST: dissect_shim6_opt_loclist(opt_tree, tvb, &p); @@ -1476,17 +1477,17 @@ dissect_shimopts(tvbuff_t *tvb, int offset, proto_tree *tree, packet_info *pinfo case SHIM6_OPT_LOCPREF: dissect_shim6_opt_loc_pref(opt_tree, tvb, &p, offset+len+4, pinfo); if (total_len-(len+4) > 0) - proto_tree_add_text(opt_tree, tvb, p, total_len-(len+4), "Padding"); + proto_tree_add_item(opt_tree, hf_ipv6_padding, tvb, p, total_len-(len+4), ENC_NA); break; case SHIM6_OPT_CGAPDM: p += dissect_shim_hex(tvb, p, len, "CGA Parameter Data Structure:", 0xff, opt_tree); if (total_len-(len+4) > 0) - proto_tree_add_text(opt_tree, tvb, p, total_len-(len+4), "Padding"); + proto_tree_add_item(opt_tree, hf_ipv6_padding, tvb, p, total_len-(len+4), ENC_NA); break; case SHIM6_OPT_CGASIG: p += dissect_shim_hex(tvb, p, len, "CGA Signature:", 0xff, opt_tree); if (total_len-(len+4) > 0) - proto_tree_add_text(opt_tree, tvb, p, total_len-(len+4), "Padding"); + proto_tree_add_item(opt_tree, hf_ipv6_padding, tvb, p, total_len-(len+4), ENC_NA); break; case SHIM6_OPT_ULIDPAIR: proto_tree_add_text(opt_tree, tvb, p, 4, "Reserved"); @@ -2646,6 +2647,12 @@ proto_register_ipv6(void) { "Reassembled IPv6 data", "ipv6.reassembled.data", FT_BYTES, BASE_NONE, NULL, 0x0, "The reassembled payload", HFILL }}, + + { &hf_ipv6_padding, + { "Padding", "ipv6.padding", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL }}, + /* RPL Routing Header */ { &hf_ipv6_routing_hdr_rpl_cmprI, { "Compressed Internal Octets (CmprI)", "ipv6.routing_hdr.rpl.cmprI", diff --git a/epan/dissectors/packet-netflow.c b/epan/dissectors/packet-netflow.c index d58ee91634..861a12a0eb 100644 --- a/epan/dissectors/packet-netflow.c +++ b/epan/dissectors/packet-netflow.c @@ -1104,6 +1104,7 @@ static int hf_cflow_samplingmode = -1; static int hf_cflow_samplerate = -1; static int hf_cflow_unknown_field_type = -1; +static int hf_cflow_padding = -1; /* * cflow version specific info @@ -2493,9 +2494,7 @@ dissect_v9_v10_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdutree, int length -= (pdu_len < length) ? pdu_len : length; } if (length != 0) { - proto_tree_add_text(pdutree, tvb, offset, length, - "Padding (%u byte%s)", - length, plurality(length, "", "s")); + proto_tree_add_item(pdutree, hf_cflow_padding, tvb, offset, length, ENC_NA); } } else { proto_tree_add_text(pdutree, tvb, offset, length, @@ -3978,9 +3977,7 @@ dissect_v9_v10_pdu_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdutree, break; case 210: /* paddingOctets */ - ti = proto_tree_add_text(pdutree, tvb, offset, length, - "Padding (%u byte%s)", - length, plurality(length, "", "s")); + ti = proto_tree_add_item(pdutree, hf_cflow_padding, tvb, offset, length, ENC_NA); break; case 211: /* collectorIPv4Address */ @@ -8660,6 +8657,12 @@ proto_register_netflow(void) "Option Scope Template", HFILL} }, + {&hf_cflow_padding, + {"Padding", "cflow.padding", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL} + }, + /* IPFIX */ {&hf_cflow_unknown_field_type, {"Unknown Field Type", "cflow.unknown_field_type", diff --git a/epan/dissectors/packet-pnrp.c b/epan/dissectors/packet-pnrp.c index 7e15422b01..fbceadf016 100644 --- a/epan/dissectors/packet-pnrp.c +++ b/epan/dissectors/packet-pnrp.c @@ -208,6 +208,8 @@ static gint hf_pnrp_message_inquire_flags_Xbit = -1; static gint hf_pnrp_message_inquire_flags_Cbit = -1; static gint hf_pnrp_message_inquire_flags_reserved2 = -1; +static gint hf_pnrp_padding = -1; + static const int *inquire_flags[] = { &hf_pnrp_message_inquire_flags_reserved1, &hf_pnrp_message_inquire_flags_Abit, @@ -503,7 +505,7 @@ static int dissect_pnrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi switch (message_type) { case INQUIRE: proto_tree_add_bitmask(pnrp_message_tree, tvb, offset+4, hf_pnrp_message_inquire_flags, ett_pnrp_message_inquire_flags, inquire_flags, ENC_BIG_ENDIAN); - proto_tree_add_text(pnrp_message_tree, tvb, offset + 6, 2, "Padding : %d - 2 Bytes",tvb_get_ntohs(tvb,offset+6)); + proto_tree_add_item(pnrp_message_tree, hf_pnrp_padding, tvb, offset + 6, 2, ENC_NA); offset += data_length+2; break; @@ -524,7 +526,7 @@ static int dissect_pnrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi } else { padding_bytes = 2; - proto_tree_add_text(pnrp_message_tree, tvb, offset + 6, padding_bytes, "Padding: %d bytes", padding_bytes); + proto_tree_add_item(pnrp_message_tree, hf_pnrp_padding, tvb, offset + 6, padding_bytes, ENC_NA); offset += data_length+2; } break; @@ -554,7 +556,7 @@ static int dissect_pnrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi /* Reserved 2 */ proto_tree_add_text(pnrp_message_tree, tvb, offset + 6, 1, "Reserved 2: %d",tvb_get_guint8(tvb,offset+6)); /* Padding 1 */ - proto_tree_add_text(pnrp_message_tree, tvb, offset + 7, 1, "Padding: %d",tvb_get_guint8(tvb,offset+7)); + proto_tree_add_item(pnrp_message_tree, hf_pnrp_padding, tvb, offset + 7, 1, ENC_NA); } offset += data_length+1; @@ -654,7 +656,7 @@ static int dissect_pnrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi } /* Check if we actually had some padding bytes */ if (0 len) - proto_tree_add_text(sub_tree, tvb, offset+len, pad-len, - "Padding"); + proto_tree_add_item(sub_tree, hf_sna_padding, tvb, offset+len, pad-len, ENC_NA); offset += pad; len = tvb_get_guint8(tvb, offset); @@ -2353,10 +2353,7 @@ dissect_control_05hpr(tvbuff_t *tvb, proto_tree *tree, int hpr, dissect_control(tvb, offset, len, tree, hpr, parse); pad = (len+3) & 0xfffc; if (pad > len) { - /* XXX - fix this, ensure tvb is large enough for pad */ - tvb_ensure_bytes_exist(tvb, offset+len, pad-len); - proto_tree_add_text(tree, tvb, offset+len, - pad-len, "Padding"); + proto_tree_add_item(tree, hf_sna_padding, tvb, offset+len, pad-len, ENC_NA); } offset += pad; } else { @@ -3469,6 +3466,10 @@ proto_register_sna(void) { &hf_sna_control_0e_value, { "Value", "sna.control.0e.value", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, + + { &hf_sna_padding, + { "Padding", "sna.padding", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, }; static gint *ett[] = { &ett_sna,