aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-radius.c
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2015-12-16 11:24:34 +0100
committerAnders Broman <a.broman58@gmail.com>2015-12-17 05:40:17 +0000
commit9c02ac87ccb57866ff74813ef813988a0a24ad1d (patch)
treed2cd2795b9a4a7ee2930a64f59ef578a6d1aed34 /epan/dissectors/packet-radius.c
parent022968d17b48a278160dcf613ce15a05ab7d9cfd (diff)
RADIUS: Add AVP Type and AVP Length display field
Add for each RADIUS attribut add type and length Change-Id: I82c8588a80922a51174864482edfd42b5bef7661 Reviewed-on: https://code.wireshark.org/review/12676 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-radius.c')
-rw-r--r--epan/dissectors/packet-radius.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/epan/dissectors/packet-radius.c b/epan/dissectors/packet-radius.c
index 0a63c8f6ba..c318fb004d 100644
--- a/epan/dissectors/packet-radius.c
+++ b/epan/dissectors/packet-radius.c
@@ -157,6 +157,8 @@ static int hf_radius_ascend_data_filter_reserved = -1;
static int hf_radius_vsa_fragment = -1;
static int hf_radius_eap_fragment = -1;
static int hf_radius_avp = -1;
+static int hf_radius_avp_length = -1;
+static int hf_radius_avp_type = -1;
static int hf_radius_3gpp_ms_tmime_zone = -1;
static int hf_radius_egress_vlanid_tag = -1;
@@ -1337,6 +1339,9 @@ void dissect_attribute_value_pairs(proto_tree *tree, packet_info *pinfo, tvbuff_
vendor_tree = proto_item_add_subtree(avp_item,vendor->ett);
+ proto_tree_add_item(vendor_tree, hf_radius_avp_type, tvb, offset-6, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(vendor_tree, hf_radius_avp_length, tvb, offset-5, 1, ENC_BIG_ENDIAN);
+
while (offset < max_offset) {
guint32 avp_vsa_type;
guint32 avp_vsa_len;
@@ -1467,6 +1472,9 @@ void dissect_attribute_value_pairs(proto_tree *tree, packet_info *pinfo, tvbuff_
avp_tree = proto_item_add_subtree(avp_item,dictionary_entry->ett);
+ proto_tree_add_item(avp_tree, hf_radius_avp_type, tvb, offset-2, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(avp_tree, hf_radius_avp_length, tvb, offset-1, 1, ENC_BIG_ENDIAN);
+
if (show_length) {
avp_len_item = proto_tree_add_uint(avp_tree,
dictionary_entry->hf_len,
@@ -2404,6 +2412,12 @@ static void register_radius_fields(const char* unused _U_) {
{ &hf_radius_avp,
{ "AVP", "radius.avp", FT_BYTES, BASE_NONE, NULL, 0x0,
NULL, HFILL }},
+ { &hf_radius_avp_length,
+ { "AVP Length", "radius.avp.length", FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_radius_avp_type,
+ { "AVP Type", "radius.avp.type", FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
{ &hf_radius_egress_vlanid_tag,
{ "Tag", "radius.egress_vlanid_tag", FT_UINT32, BASE_HEX, VALS(egress_vlan_tag_vals), 0xFF000000,
NULL, HFILL }},