diff options
author | Jaap Keuter <jaap.keuter@xs4all.nl> | 2008-04-30 09:15:50 +0000 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2008-04-30 09:15:50 +0000 |
commit | 6e9d862cd8bc72f991eade73dad9fb6bc42fe85e (patch) | |
tree | 9f585db37eff7efaa77e37b7f78051ac8565c9f4 /plugins | |
parent | 7a0981e51365570b68b058b2db57f2579dae534e (diff) |
From cfreeer:
There is no EAP decoder to decode EAP messages packed in Wimax PKM messages.
I called the EAP decoder found in the Wireshark.
svn path=/trunk/; revision=25203
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/wimax/wimax_utils.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/wimax/wimax_utils.c b/plugins/wimax/wimax_utils.c index e65a07a215..5626034e4e 100644 --- a/plugins/wimax/wimax_utils.c +++ b/plugins/wimax/wimax_utils.c @@ -77,6 +77,8 @@ static gint ett_vendor_id_encoding_decoder = -1; static gint ett_ul_service_flow_decoder = -1; static gint ett_dl_service_flow_decoder = -1; +static dissector_handle_t eap_handle = NULL; + /* The following two variables save the Scheduling Service type for the Grant Management subheader dissector and track whether or not one has been seen. @@ -1689,6 +1691,8 @@ void proto_register_wimax_utility_decoders(void) proto_register_field_array(proto_wimax_utility_decoders, hf_snp, array_length(hf_snp)); proto_register_field_array(proto_wimax_utility_decoders, hf_pkm, array_length(hf_pkm)); proto_register_field_array(proto_wimax_utility_decoders, hf_common_tlv, array_length(hf_common_tlv)); + + eap_handle = find_dissector("eap"); } } @@ -2945,7 +2949,7 @@ void wimax_pkm_tlv_encoded_attributes_decoder(tvbuff_t *tvb, packet_info *pinfo, break; case PKM_ATTR_PKM_EAP_PAYLOAD: tlv_tree = add_tlv_subtree(&tlv_info, ett_pkm_tlv_encoded_attributes_decoder, tree, hf_pkm_attr_eap_payload, tvb, offset, tlv_len, FALSE); - proto_tree_add_item(tlv_tree, hf_pkm_attr_eap_payload, tvb, offset, tlv_len, FALSE); + call_dissector(eap_handle, tvb_new_subset(tvb, offset, tlv_len, tlv_len), pinfo, tlv_tree); break; case PKM_ATTR_PKM_NONCE: tlv_tree = add_tlv_subtree(&tlv_info, ett_pkm_tlv_encoded_attributes_decoder, tree, hf_pkm_attr_nonce, tvb, offset, tlv_len, FALSE); |