diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2017-06-24 14:25:41 +0100 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2017-06-26 22:40:50 +0000 |
commit | 7466880e8a09aa7a9bb797b70fa44bca397881d9 (patch) | |
tree | 1634c5d6e433a4803ecd5543a4cb6420e7c886d7 /epan/dissectors/packet-gtp.c | |
parent | 3071f9dd7409bd5b0432dd8f1bebbeeee1b6c755 (diff) |
Parse enterprise-numbers at run time
"enterprise-numbers" is converted to tab-separated values and renamed
"enterprises". Unused fields are stripped.
PENs are stored in a hash table loaded at run-time.
User "enterprises" file is loaded from the personal config dir.
Misc make-sminmpec.pl improvements and fixes.
Note: names of type "Entity (formerly ...)" have the formerly part commented out for a cleaner output.
Change-Id: I60c533afbe3e399077fbf432088064471ad3e1e2
Reviewed-on: https://code.wireshark.org/review/22246
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'epan/dissectors/packet-gtp.c')
-rw-r--r-- | epan/dissectors/packet-gtp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c index 37058c1cf4..a639931752 100644 --- a/epan/dissectors/packet-gtp.c +++ b/epan/dissectors/packet-gtp.c @@ -57,6 +57,7 @@ #include <epan/prefs.h> #include <epan/expert.h> #include <epan/sminmpec.h> +#include <epan/addr_resolv.h> #include <epan/asn1.h> #include <epan/tap.h> #include <epan/srt_table.h> @@ -8339,7 +8340,7 @@ decode_gtp_priv_ext(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree if (length >= 2) { ext_id = tvb_get_ntohs(tvb, offset); proto_tree_add_uint(ext_tree_priv_ext, hf_gtp_ext_id, tvb, offset, 2, ext_id); - proto_item_append_text(te, "%s (%u)", val_to_str_ext_const(ext_id, &sminmpec_values_ext, "Unknown"), ext_id); + proto_item_append_text(te, "%s (%u)", enterprises_lookup(ext_id, "Unknown"), ext_id); offset = offset + 2; if (length > 2) { @@ -9062,7 +9063,7 @@ proto_register_gtp(void) }, {&hf_gtp_ext_id, { "Extension identifier", "gtp.ext_id", - FT_UINT16, BASE_DEC|BASE_EXT_STRING, &sminmpec_values_ext, 0, + FT_UINT16, BASE_ENTERPRISES, STRINGS_ENTERPRISES, 0, "Private Enterprise number", HFILL} }, {&hf_gtp_ext_val, |