diff options
author | Michael Mann <mmann78@netscape.net> | 2016-11-17 21:45:28 -0500 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-11-22 16:47:47 +0000 |
commit | fb9a356e46c5adbc74e9d117463c0fb2b4778afe (patch) | |
tree | 810603de442ebb9454352263247654e30120db36 /epan | |
parent | ba67963fd4ef287124cd9bf8f35a22d8a5663a11 (diff) |
Add prefs_get_uint_value and prefs_get_range_value
This allows dissectors to not need to know about the internal preference structure.
Change-Id: I1ae67248cd0b0132aefc225ea0a9befaf9afdde2
Reviewed-on: https://code.wireshark.org/review/18864
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')
-rw-r--r-- | epan/dissectors/packet-beep.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-capwap.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-gopher.c | 5 | ||||
-rw-r--r-- | epan/dissectors/packet-hdfs.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-http.c | 5 | ||||
-rw-r--r-- | epan/dissectors/packet-iec104.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-kafka.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-mbtcp.c | 15 | ||||
-rw-r--r-- | epan/dissectors/packet-openflow.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-quake2.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-quakeworld.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-rsync.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-s5066dts.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-tds.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-tftp.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-uaudp.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-vnc.c | 6 | ||||
-rw-r--r-- | epan/prefs.c | 16 | ||||
-rw-r--r-- | epan/prefs.h | 11 |
19 files changed, 55 insertions, 65 deletions
diff --git a/epan/dissectors/packet-beep.c b/epan/dissectors/packet-beep.c index 11a2daa53a..51cff81c1f 100644 --- a/epan/dissectors/packet-beep.c +++ b/epan/dissectors/packet-beep.c @@ -32,7 +32,6 @@ #include <stdlib.h> #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/conversation.h> #include <epan/expert.h> #include <epan/proto_data.h> @@ -894,8 +893,7 @@ static void apply_beep_prefs(void) { /* Beep uses the port preference to determine client/server */ - pref_t *beep_port = prefs_find_preference(prefs_find_module("beep"), "tcp.port"); - global_beep_tcp_port = *beep_port->varp.uint; + global_beep_tcp_port = prefs_get_uint_value("beep", "tcp.port"); } /* Register all the bits needed with the filtering engine */ diff --git a/epan/dissectors/packet-capwap.c b/epan/dissectors/packet-capwap.c index c2e3cadedc..48fdf5ab62 100644 --- a/epan/dissectors/packet-capwap.c +++ b/epan/dissectors/packet-capwap.c @@ -25,7 +25,6 @@ #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/reassemble.h> #include <epan/expert.h> @@ -3398,8 +3397,7 @@ dissect_capwap_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d static void apply_capwap_prefs(void) { - pref_t *control_port = prefs_find_preference(prefs_find_module("capwap.data"), "udp.port"); - global_capwap_data_udp_port = *control_port->varp.uint; + global_capwap_data_udp_port = prefs_get_uint_value("capwap.data", "udp.port"); } void diff --git a/epan/dissectors/packet-gopher.c b/epan/dissectors/packet-gopher.c index 73df6703f0..79003540f1 100644 --- a/epan/dissectors/packet-gopher.c +++ b/epan/dissectors/packet-gopher.c @@ -32,7 +32,6 @@ #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> void proto_register_gopher(void); void proto_reg_handoff_gopher(void); @@ -203,9 +202,9 @@ dissect_gopher(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ /* Preference callbacks */ static void gopher_prefs_apply(void) { - pref_t *gopher_ports = prefs_find_preference(prefs_find_module("gopher"), "tcp.port"); - gopher_tcp_range = range_copy(*gopher_ports->varp.range); + g_free(gopher_tcp_range); + gopher_tcp_range = prefs_get_range_value("gopher", "tcp.port"); } /* Register the protocol with Wireshark */ diff --git a/epan/dissectors/packet-hdfs.c b/epan/dissectors/packet-hdfs.c index e8fb0e06d2..9b5ee6d667 100644 --- a/epan/dissectors/packet-hdfs.c +++ b/epan/dissectors/packet-hdfs.c @@ -29,7 +29,6 @@ #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include "packet-tcp.h" void proto_register_hdfs(void); @@ -688,8 +687,7 @@ static void apply_hdfs_prefs(void) { /* HDFS uses the port preference to determine request/response */ - pref_t *hdfs_port = prefs_find_preference(prefs_find_module("hdfs"), "tcp.port"); - tcp_port = *hdfs_port->varp.uint; + tcp_port = prefs_get_uint_value("hdfs", "tcp.port");; } /* registers the protcol with the given names */ diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c index 2387565ad0..839f562908 100644 --- a/epan/dissectors/packet-http.c +++ b/epan/dissectors/packet-http.c @@ -34,7 +34,6 @@ #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/expert.h> #include <epan/follow.h> #include <epan/addr_resolv.h> @@ -3267,8 +3266,8 @@ range_add_http_ssl_callback(guint32 port) { } static void reinit_http(void) { - pref_t *http_tcp_ports = prefs_find_preference(prefs_find_module("http"), "tcp.port"); - http_tcp_range = range_copy(*http_tcp_ports->varp.range); + g_free(http_tcp_range); + http_tcp_range = prefs_get_range_value("http", "tcp.port"); dissector_delete_uint_range("sctp.port", http_sctp_range, http_sctp_handle); g_free(http_sctp_range); diff --git a/epan/dissectors/packet-iec104.c b/epan/dissectors/packet-iec104.c index 47a6164d63..2a5b6871c5 100644 --- a/epan/dissectors/packet-iec104.c +++ b/epan/dissectors/packet-iec104.c @@ -34,7 +34,6 @@ #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/expert.h> #include "packet-tcp.h" @@ -1494,8 +1493,7 @@ static void apply_iec104_prefs(void) { /* IEC104 uses the port preference to determine direction */ - pref_t *iec104_port_pref = prefs_find_preference(prefs_find_module("104apci"), "tcp.port"); - iec104_port = *iec104_port_pref->varp.uint; + iec104_port = prefs_get_uint_value("104apci", "tcp.port"); } /* The protocol has two subprotocols: Register APCI */ diff --git a/epan/dissectors/packet-kafka.c b/epan/dissectors/packet-kafka.c index e4abd3f6ca..589ba1477b 100644 --- a/epan/dissectors/packet-kafka.c +++ b/epan/dissectors/packet-kafka.c @@ -29,7 +29,6 @@ #include <epan/packet.h> #include <epan/expert.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/proto_data.h> #ifdef HAVE_SNAPPY #include <snappy-c.h> @@ -1474,9 +1473,8 @@ dissect_kafka_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, static void apply_kafka_prefs(void) { - pref_t *kafka_ports = prefs_find_preference(prefs_find_module("kafka"), "tcp.port"); - - current_kafka_tcp_range = range_copy(*kafka_ports->varp.range); + g_free(current_kafka_tcp_range); + current_kafka_tcp_range = prefs_get_range_value("kafka", "tcp.port"); } void diff --git a/epan/dissectors/packet-mbtcp.c b/epan/dissectors/packet-mbtcp.c index bd1acec65d..178ae4f418 100644 --- a/epan/dissectors/packet-mbtcp.c +++ b/epan/dissectors/packet-mbtcp.c @@ -67,7 +67,6 @@ #include "packet-tcp.h" #include "packet-mbtcp.h" #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/expert.h> #include <epan/crc16-tvb.h> /* For CRC verification */ #include <epan/proto_data.h> @@ -1586,22 +1585,16 @@ static void apply_mbtcp_prefs(void) { /* Modbus/RTU uses the port preference to determine request/response */ - pref_t *tcp_port = prefs_find_preference(prefs_find_module("mbtcp"), "tcp.port"); - pref_t *udp_port = prefs_find_preference(prefs_find_module("mbudp"), "udp.port"); - - global_mbus_tcp_port = *tcp_port->varp.uint; - global_mbus_udp_port = *udp_port->varp.uint; + global_mbus_tcp_port = prefs_get_uint_value("mbtcp", "tcp.port"); + global_mbus_udp_port = prefs_get_uint_value("mbudp", "udp.port"); } static void apply_mbrtu_prefs(void) { /* Modbus/RTU uses the port preference to determine request/response */ - pref_t *rtu_tcp_port = prefs_find_preference(prefs_find_module("mbrtu"), "tcp.port"); - pref_t *rtu_udp_port = prefs_find_preference(prefs_find_module("mbrtu"), "udp.port"); - - global_mbus_tcp_rtu_port = *rtu_tcp_port->varp.uint; - global_mbus_udp_rtu_port = *rtu_udp_port->varp.uint; + global_mbus_tcp_rtu_port = prefs_get_uint_value("mbrtu", "tcp.port"); + global_mbus_udp_rtu_port = prefs_get_uint_value("mbrtu", "udp.port"); } /* Register the protocol with Wireshark */ diff --git a/epan/dissectors/packet-openflow.c b/epan/dissectors/packet-openflow.c index 27410ebda4..9c5b78ccf5 100644 --- a/epan/dissectors/packet-openflow.c +++ b/epan/dissectors/packet-openflow.c @@ -29,7 +29,6 @@ #include <epan/packet.h> #include <epan/expert.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include "packet-tcp.h" @@ -139,8 +138,7 @@ static void apply_openflow_prefs(void) { /* Openflow uses the port preference for heuristics */ - pref_t *openflow_port = prefs_find_preference(prefs_find_module("openflow"), "tcp.port"); - g_openflow_port = *openflow_port->varp.uint; + g_openflow_port = prefs_get_uint_value("openflow", "tcp.port"); } /* diff --git a/epan/dissectors/packet-quake2.c b/epan/dissectors/packet-quake2.c index 030c61a8b9..4d9c214898 100644 --- a/epan/dissectors/packet-quake2.c +++ b/epan/dissectors/packet-quake2.c @@ -32,7 +32,6 @@ #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> void proto_register_quake2(void); void proto_reg_handoff_quake2(void); @@ -687,8 +686,7 @@ static void apply_quake2_prefs(void) { /* Port preference used to determine client/server */ - pref_t *quake2_port = prefs_find_preference(prefs_find_module("quake2"), "udp.port"); - gbl_quake2ServerPort = *quake2_port->varp.uint; + gbl_quake2ServerPort = prefs_get_uint_value("quake2", "udp.port"); } void diff --git a/epan/dissectors/packet-quakeworld.c b/epan/dissectors/packet-quakeworld.c index 989b3a042c..d3e1e84037 100644 --- a/epan/dissectors/packet-quakeworld.c +++ b/epan/dissectors/packet-quakeworld.c @@ -30,7 +30,6 @@ #include <stdlib.h> #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/expert.h> #include <wsutil/strtoi.h> @@ -705,8 +704,7 @@ static void apply_quakeworld_prefs(void) { /* Port preference used to determine client/server */ - pref_t *quakeworld_port = prefs_find_preference(prefs_find_module("quakeworld"), "udp.port"); - gbl_quakeworldServerPort = *quakeworld_port->varp.uint; + gbl_quakeworldServerPort = prefs_get_uint_value("quakeworld", "udp.port"); } void diff --git a/epan/dissectors/packet-rsync.c b/epan/dissectors/packet-rsync.c index 9ca13d66c6..c2c8d6acb9 100644 --- a/epan/dissectors/packet-rsync.c +++ b/epan/dissectors/packet-rsync.c @@ -30,7 +30,6 @@ #include <epan/packet.h> #include <epan/conversation.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/proto_data.h> void proto_register_rsync(void); @@ -312,8 +311,7 @@ static void apply_rsync_prefs(void) { /* Rsync uses the port preference to determine client/server */ - pref_t *rsync_port = prefs_find_preference(prefs_find_module("rsync"), "tcp.port"); - glb_rsync_tcp_port = *rsync_port->varp.uint; + glb_rsync_tcp_port = prefs_get_uint_value("rsync", "tcp.port"); } /* Register protocol with Wireshark. */ diff --git a/epan/dissectors/packet-s5066dts.c b/epan/dissectors/packet-s5066dts.c index 91cac818cb..5db22d95d5 100644 --- a/epan/dissectors/packet-s5066dts.c +++ b/epan/dissectors/packet-s5066dts.c @@ -29,7 +29,6 @@ #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/expert.h> #include "packet-tcp.h" /* For tcp_dissect_pdus() */ #include <epan/crc16-tvb.h> @@ -955,8 +954,7 @@ static void apply_s5066dts_prefs(void) { /* STANAG 5066 uses the port preference for some heuristics */ - pref_t *s5066dts_port = prefs_find_preference(prefs_find_module("s5066dts"), "tcp.port"); - config_s5066dts_port = *s5066dts_port->varp.uint; + config_s5066dts_port = prefs_get_uint_value("s5066dts", "tcp.port");; } void proto_register_s5066dts (void) diff --git a/epan/dissectors/packet-tds.c b/epan/dissectors/packet-tds.c index c3554c9c9c..90c5980122 100644 --- a/epan/dissectors/packet-tds.c +++ b/epan/dissectors/packet-tds.c @@ -151,7 +151,6 @@ #include <epan/show_exception.h> #include <epan/reassemble.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/expert.h> #include "packet-tcp.h" @@ -4225,9 +4224,8 @@ version_convert( gchar *result, guint32 hexver ) static void apply_tds_prefs(void) { - pref_t *tds_ports = prefs_find_preference(prefs_find_module("tds"), "tcp.port"); - - tds_tcp_ports = range_copy(*tds_ports->varp.range); + g_free(tds_tcp_ports); + tds_tcp_ports = prefs_get_range_value("tds", "tcp.port"); } /* Register the protocol with Wireshark */ diff --git a/epan/dissectors/packet-tftp.c b/epan/dissectors/packet-tftp.c index 13ca3588a1..b60c716222 100644 --- a/epan/dissectors/packet-tftp.c +++ b/epan/dissectors/packet-tftp.c @@ -45,7 +45,6 @@ #include <epan/conversation.h> #include <epan/expert.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/tap.h> #include "packet-tftp.h" @@ -92,7 +91,7 @@ static dissector_handle_t tftp_handle; void proto_reg_handoff_tftp (void); /* User definable values */ -static range_t *global_tftp_port_range; +static range_t *global_tftp_port_range = NULL; /* minimum length is an ACK message of 4 bytes */ #define MIN_HDR_LEN 4 @@ -605,9 +604,8 @@ dissect_tftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_ static void apply_tftp_prefs(void) { - pref_t *tftp_ports = prefs_find_preference(prefs_find_module("tftp"), "udp.port"); - - global_tftp_port_range = range_copy(*tftp_ports->varp.range); + g_free(global_tftp_port_range); + global_tftp_port_range = prefs_get_range_value("tftp", "udp.port"); } void diff --git a/epan/dissectors/packet-uaudp.c b/epan/dissectors/packet-uaudp.c index e193036840..a1efca078f 100644 --- a/epan/dissectors/packet-uaudp.c +++ b/epan/dissectors/packet-uaudp.c @@ -25,7 +25,6 @@ #include "epan/packet.h" #include "epan/prefs.h" -#include "epan/prefs-int.h" #include "wsutil/report_err.h" #include "wsutil/inet_addr.h" @@ -359,9 +358,8 @@ static int dissect_uaudp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo static void apply_uaudp_prefs(void) { - pref_t *ua_ports = prefs_find_preference(prefs_find_module("uaudp"), "udp.port"); - - ua_udp_range = range_copy(*ua_ports->varp.range); + g_free(ua_udp_range); + ua_udp_range = prefs_get_range_value("uaudp", "udp.port"); if (*pref_sys_ip_s) { use_sys_ip = ws_inet_pton4(pref_sys_ip_s, &sys_ip); diff --git a/epan/dissectors/packet-vnc.c b/epan/dissectors/packet-vnc.c index f8991b168d..8bfd03e115 100644 --- a/epan/dissectors/packet-vnc.c +++ b/epan/dissectors/packet-vnc.c @@ -82,7 +82,6 @@ #include <epan/packet.h> #include <epan/conversation.h> #include <epan/prefs.h> -#include <epan/prefs-int.h> #include <epan/expert.h> #include <epan/proto_data.h> #include "packet-x11.h" /* This contains the extern for the X11 value_string_ext @@ -3461,9 +3460,8 @@ vnc_get_depth(packet_info *pinfo) /* Preference callbacks */ static void apply_vnc_prefs(void) { - pref_t *vnc_ports = prefs_find_preference(prefs_find_module("vnc"), "tcp.port"); - - vnc_tcp_range = range_copy(*vnc_ports->varp.range); + g_free(vnc_tcp_range); + vnc_tcp_range = prefs_get_range_value("vnc", "tcp.port"); } /* Register the protocol with Wireshark */ diff --git a/epan/prefs.c b/epan/prefs.c index 224c6dc35a..43eec4d726 100644 --- a/epan/prefs.c +++ b/epan/prefs.c @@ -3786,6 +3786,22 @@ prefs_set_pref(char *prefarg) return ret; } +guint prefs_get_uint_value(const char *module_name, const char* pref_name) +{ + pref_t *pref = prefs_find_preference(prefs_find_module(module_name), pref_name); + g_assert(pref != NULL); + + return *pref->varp.uint; +} + +range_t* prefs_get_range_value(const char *module_name, const char* pref_name) +{ + pref_t *pref = prefs_find_preference(prefs_find_module(module_name), pref_name); + g_assert(pref != NULL); + + return range_copy(*pref->varp.range); +} + /* * Returns TRUE if the given device is hidden */ diff --git a/epan/prefs.h b/epan/prefs.h index 220de860ea..912037431a 100644 --- a/epan/prefs.h +++ b/epan/prefs.h @@ -623,6 +623,17 @@ WS_DLL_PUBLIC prefs_set_pref_e prefs_set_pref(char *prefarg); gboolean prefs_get_preference_obsolete(pref_t *pref); prefs_set_pref_e prefs_set_preference_obsolete(pref_t *pref); +/* + * Get current preference uint value. This allows the preference structure + * to remain hidden from those that doesn't really need it + */ +WS_DLL_PUBLIC guint prefs_get_uint_value(const char *module_name, const char* pref_name); + +/* + * Get the current range_copy()ed range preference value (so it needs to be freed). This allows the + * preference structure to remain hidden from those that doesn't really need it. + */ +WS_DLL_PUBLIC range_t* prefs_get_range_value(const char *module_name, const char* pref_name); /* * Returns TRUE if the given device is hidden |