diff options
author | Michael Mann <mmann78@netscape.net> | 2016-10-05 16:33:54 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-10-13 02:51:18 +0000 |
commit | 2eb7b05b8c9c6408268f0d1e81f0a18a02610f1c (patch) | |
tree | bd0a909e3d506ea2e61c446aa8a809b6f728af3b /epan/dissectors/packet-radius.c | |
parent | 4d8581d7e15fe4a80a53496b83a853271fc674b6 (diff) |
Convert most UDP dissectors to use "auto" preferences.
Similar to the "tcp.port" changes in I99604f95d426ad345f4b494598d94178b886eb67,
convert dissectors that use "udp.port".
More cleanup done on dissectors that use both TCP and UDP dissector
tables, so that less preference callbacks exist.
Change-Id: If07be9b9e850c244336a7069599cd554ce312dd3
Reviewed-on: https://code.wireshark.org/review/18120
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-radius.c')
-rw-r--r-- | epan/dissectors/packet-radius.c | 41 |
1 files changed, 5 insertions, 36 deletions
diff --git a/epan/dissectors/packet-radius.c b/epan/dissectors/packet-radius.c index b49f0967d1..0352a9b12b 100644 --- a/epan/dissectors/packet-radius.c +++ b/epan/dissectors/packet-radius.c @@ -221,8 +221,6 @@ static dissector_handle_t eap_handle; static const gchar *shared_secret = ""; static gboolean validate_authenticator = FALSE; static gboolean show_length = FALSE; -static guint alt_port_pref = 0; -static range_t *global_ports_range; static guint8 authenticator[AUTHENTICATOR_LENGTH]; @@ -2635,7 +2633,7 @@ proto_register_radius(void) proto_radius = proto_register_protocol("RADIUS Protocol", "RADIUS", "radius"); register_dissector("radius", dissect_radius, proto_radius); register_init_routine(&radius_init_protocol); - radius_module = prefs_register_protocol(proto_radius, proto_reg_handoff_radius); + radius_module = prefs_register_protocol(proto_radius, NULL); prefs_register_string_preference(radius_module, "shared_secret", "Shared Secret", "Shared secret used to decode User Passwords and validate Response Authenticators", &shared_secret); @@ -2645,12 +2643,6 @@ proto_register_radius(void) prefs_register_bool_preference(radius_module, "show_length", "Show AVP Lengths", "Whether to add or not to the tree the AVP's payload length", &show_length); - prefs_register_uint_preference(radius_module, "alternate_port", "Alternate Port", - "An alternate UDP port to decode as RADIUS", 10, &alt_port_pref); - - range_convert_str(&global_ports_range, DEFAULT_RADIUS_PORT_RANGE, MAX_UDP_PORT); - prefs_register_range_preference(radius_module, "ports", "RADIUS ports", - "A list of UDP ports to decode as RADIUS", &global_ports_range, MAX_UDP_PORT); prefs_register_obsolete_preference(radius_module, "request_ttl"); radius_tap = register_tap("radius"); @@ -2669,34 +2661,11 @@ proto_register_radius(void) void proto_reg_handoff_radius(void) { - static gboolean initialized = FALSE; - static dissector_handle_t radius_handle; - static range_t *ports_range; - - if (!initialized) { - radius_handle = find_dissector("radius"); - eap_handle = find_dissector_add_dependency("eap", proto_radius); - - initialized = TRUE; - } else { - dissector_delete_uint_range("udp.port", ports_range, radius_handle); - g_free(ports_range); - } - - if (alt_port_pref != 0) { - /* Append it to the range of ports but only if necessary */ - if (!value_is_in_range(global_ports_range, alt_port_pref)) { - global_ports_range = (range_t *)g_realloc(global_ports_range, - /* see epan/range.c:range_copy function */ - sizeof (range_t) - sizeof (range_admin_t) + (global_ports_range->nranges + 1) * sizeof (range_admin_t)); - global_ports_range->ranges[global_ports_range->nranges].low = alt_port_pref; - global_ports_range->ranges[global_ports_range->nranges].high = alt_port_pref; - global_ports_range->nranges++; - } - } + dissector_handle_t radius_handle; - ports_range = range_copy(global_ports_range); - dissector_add_uint_range("udp.port", ports_range, radius_handle); + radius_handle = find_dissector("radius"); + eap_handle = find_dissector_add_dependency("eap", proto_radius); + dissector_add_uint_range_with_preference("udp.port", DEFAULT_RADIUS_PORT_RANGE, radius_handle); } /* |