MIP6: Remove proto_tree_add_text

Based on packet-ip.c

Change-Id: Ibc561b58d5f4b3e3469e1c578e83b3abe3c206f8
Reviewed-on: https://code.wireshark.org/review/8008
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
Alexis La Goutte 2015-04-01 14:11:28 +02:00 committed by Michael Mann
parent 806ba8c63a
commit 8c0f09e5b7
1 changed files with 14 additions and 5 deletions

View File

@ -1110,6 +1110,7 @@ static int hf_mip6_lmaa_reserved = -1;
static int hf_mip6_lmaa_ipv4 = -1;
static int hf_mip6_lmaa_ipv6 = -1;
static int hf_mip6_mobility = -1;
static int hf_mip6_mobility_opt = -1;
static int hf_mip6_opt_len = -1;
@ -1237,6 +1238,7 @@ static gint ett_mip6_sub_opt_acc_net_id = -1;
static expert_field ei_mip6_ie_not_dissected = EI_INIT;
static expert_field ei_mip6_ani_type_not_dissected = EI_INIT;
static expert_field ei_mip6_opt_len_invalid = EI_INIT;
typedef struct mip6_opt {
int optcode; /**< code for option */
@ -3837,7 +3839,7 @@ dissect_mipv6_options(tvbuff_t *tvb, int offset, guint length,
/* Bogus - packet must at least include
* option code byte and length byte!
*/
proto_tree_add_text(opt_tree, tvb, offset, 1,
proto_tree_add_expert_format(opt_tree, pinfo, &ei_mip6_opt_len_invalid, tvb, offset, 1,
"%s (length byte past end of options)", name);
return;
}
@ -3845,27 +3847,28 @@ dissect_mipv6_options(tvbuff_t *tvb, int offset, guint length,
--length; /* account for length byte */
if (len > length) {
/* Bogus - option goes past the end of the header. */
proto_tree_add_text(opt_tree, tvb, offset, length,
proto_tree_add_expert_format(opt_tree, pinfo, &ei_mip6_opt_len_invalid, tvb, offset, length,
"%s (option length = %u byte%s says option goes past end of options)",
name, len, plurality(len, "", "s"));
return;
} else if (len_type == OPT_LEN_FIXED_LENGTH && len != optlen) {
/* Bogus - option length isn't what it's supposed to be for this
option. */
proto_tree_add_text(opt_tree, tvb, offset, len + 2,
proto_tree_add_expert_format(opt_tree, pinfo, &ei_mip6_opt_len_invalid, tvb, offset, len + 2,
"%s (with option length = %u byte%s; should be %u)", name,
len, plurality(len, "", "s"), optlen);
return;
} else if (len_type == OPT_LEN_VARIABLE_LENGTH && len < optlen) {
/* Bogus - option length is less than what it's supposed to be for
this option. */
proto_tree_add_text(opt_tree, tvb, offset, len + 2,
proto_tree_add_expert_format(opt_tree, pinfo, &ei_mip6_opt_len_invalid, tvb, offset, len + 2,
"%s (with option length = %u byte%s; should be >= %u)", name,
len, plurality(len, "", "s"), optlen);
return;
} else {
ti = proto_tree_add_text(opt_tree, tvb, offset, len + 2, "%s",
ti = proto_tree_add_string(opt_tree, hf_mip6_mobility, tvb, offset, len + 2,
val_to_str_ext_const(opt, &mip6_mobility_options_ext, "<unknown>"));
if (optp && *optp->subtree_index) {
opt_data_tree = proto_item_add_subtree(ti, *optp->subtree_index);
} else {
@ -4808,6 +4811,11 @@ proto_register_mip6(void)
FT_IPv6, BASE_NONE, NULL, 0x0,
NULL, HFILL }
},
{ &hf_mip6_mobility,
{ "Mobility", "mip6.mobility",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }
},
{ &hf_mip6_mobility_opt,
{ "Mobility Option", "mip6.mobility_opt",
FT_UINT8, BASE_DEC | BASE_EXT_STRING, &mip6_mobility_options_ext, 0,
@ -5172,6 +5180,7 @@ proto_register_mip6(void)
static ei_register_info ei[] = {
{ &ei_mip6_ie_not_dissected, { "mip6.ie_not_dissected", PI_UNDECODED, PI_NOTE, "IE data not dissected yet", EXPFILL }},
{ &ei_mip6_ani_type_not_dissected, { "mip6.acc_net_id.ani.unknown", PI_UNDECODED, PI_NOTE, "ANI Type not dissect yet", EXPFILL }},
{ &ei_mip6_opt_len_invalid, { "mip6.opt.len.invalid", PI_PROTOCOL, PI_WARN, "Invalid length for option", EXPFILL }},
};
expert_module_t* expert_mip6;