aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/asn1/e2ap/packet-e2ap-template.c37
-rw-r--r--epan/dissectors/asn1/pcap/packet-pcap-template.c28
-rw-r--r--epan/dissectors/asn1/q932/packet-q932-template.c2
-rw-r--r--epan/dissectors/asn1/ranap/packet-ranap-template.c31
-rw-r--r--epan/dissectors/packet-amqp.c4
-rw-r--r--epan/dissectors/packet-ansi_tcap.c2
-rw-r--r--epan/dissectors/packet-cisco-fp-mim.c35
-rw-r--r--epan/dissectors/packet-doip.c2
-rw-r--r--epan/dissectors/packet-dtls.c2
-rw-r--r--epan/dissectors/packet-dvbci.c24
-rw-r--r--epan/dissectors/packet-e2ap.c45
-rw-r--r--epan/dissectors/packet-etag.c4
-rw-r--r--epan/dissectors/packet-fcoib.c2
-rw-r--r--epan/dissectors/packet-gfp.c9
-rw-r--r--epan/dissectors/packet-grpc.c2
-rw-r--r--epan/dissectors/packet-http.c12
-rw-r--r--epan/dissectors/packet-ieee802154.c46
-rw-r--r--epan/dissectors/packet-ieee8021ah.c6
-rw-r--r--epan/dissectors/packet-infiniband_sdp.c2
-rw-r--r--epan/dissectors/packet-jxta.c13
-rw-r--r--epan/dissectors/packet-lorawan.c4
-rw-r--r--epan/dissectors/packet-lwm.c16
-rw-r--r--epan/dissectors/packet-netflow.c6
-rw-r--r--epan/dissectors/packet-nvme-rdma.c1
-rw-r--r--epan/dissectors/packet-opa-mad.c2
-rw-r--r--epan/dissectors/packet-pcap.c42
-rw-r--r--epan/dissectors/packet-q932.c2
-rw-r--r--epan/dissectors/packet-ranap.c39
-rw-r--r--epan/dissectors/packet-s5066dts.c6
-rw-r--r--epan/dissectors/packet-sip.c14
-rw-r--r--epan/dissectors/packet-solaredge.c4
-rw-r--r--epan/dissectors/packet-someip.c22
-rw-r--r--epan/dissectors/packet-sscop.c4
-rw-r--r--epan/dissectors/packet-ssyncp.c11
-rw-r--r--epan/dissectors/packet-tdmoe.c2
-rw-r--r--epan/dissectors/packet-thread.c2
-rw-r--r--epan/dissectors/packet-tibia.c2
-rw-r--r--epan/dissectors/packet-tpkt.c18
-rw-r--r--epan/dissectors/packet-uasip.c7
-rw-r--r--epan/dissectors/packet-woww.c3
-rw-r--r--epan/prefs.c7
41 files changed, 182 insertions, 340 deletions
diff --git a/epan/dissectors/asn1/e2ap/packet-e2ap-template.c b/epan/dissectors/asn1/e2ap/packet-e2ap-template.c
index 9ef8944cfe..5286e76ba3 100644
--- a/epan/dissectors/asn1/e2ap/packet-e2ap-template.c
+++ b/epan/dissectors/asn1/e2ap/packet-e2ap-template.c
@@ -74,9 +74,6 @@ struct e2ap_private_data {
guint32 ran_ue_e2ap_id;
};
-/* Global variables */
-static guint gbl_e2apSctpPort = SCTP_PORT_E2AP;
-
/* Dissector tables */
static dissector_table_t e2ap_ies_dissector_table;
//static dissector_table_t e2ap_ies_p1_dissector_table;
@@ -193,31 +190,16 @@ dissect_e2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
void
proto_reg_handoff_e2ap(void)
{
- static gboolean Initialized=FALSE;
- static guint SctpPort;
-
- if (!Initialized) {
- dissector_add_for_decode_as("sctp.port", e2ap_handle);
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_E2AP, e2ap_handle);
#if 0
- /* TODO: should one or more of these be registered? */
- dissector_add_uint("sctp.ppi", E2_CP_PROTOCOL_ID, e2ap_handle);
- dissector_add_uint("sctp.ppi", E2_UP_PROTOCOL_ID, e2ap_handle);
- dissector_add_uint("sctp.ppi", E2_DU_PROTOCOL_ID, e2ap_handle);
+ /* TODO: should one or more of these be registered? */
+ dissector_add_uint("sctp.ppi", E2_CP_PROTOCOL_ID, e2ap_handle);
+ dissector_add_uint("sctp.ppi", E2_UP_PROTOCOL_ID, e2ap_handle);
+ dissector_add_uint("sctp.ppi", E2_DU_PROTOCOL_ID, e2ap_handle);
#endif
- Initialized=TRUE;
#include "packet-e2ap-dis-tab.c"
- } else {
- if (SctpPort != 0) {
- dissector_delete_uint("sctp.port", SctpPort, e2ap_handle);
- }
- }
-
- SctpPort=gbl_e2apSctpPort;
- if (SctpPort != 0) {
- dissector_add_uint("sctp.port", SctpPort, e2ap_handle);
- }
}
/*--- proto_register_e2ap -------------------------------------------*/
@@ -237,7 +219,7 @@ void proto_register_e2ap(void) {
};
- module_t *e2ap_module;
+ /* module_t *e2ap_module; */
/* Register protocol */
proto_e2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
@@ -260,13 +242,8 @@ void proto_register_e2ap(void) {
e2ap_n2_ie_type_dissector_table = register_dissector_table("e2ap.n2_ie_type", "E2AP N2 IE Type", proto_e2ap, FT_STRING, FALSE);
/* Register configuration options for ports */
- e2ap_module = prefs_register_protocol(proto_e2ap, proto_reg_handoff_e2ap);
+ /* e2ap_module = prefs_register_protocol(proto_e2ap, NULL); */
- prefs_register_uint_preference(e2ap_module, "sctp.port",
- "e2ap SCTP Port",
- "Set the SCTP port for e2ap messages",
- 10,
- &gbl_e2apSctpPort);
}
/*
diff --git a/epan/dissectors/asn1/pcap/packet-pcap-template.c b/epan/dissectors/asn1/pcap/packet-pcap-template.c
index 0e365859f2..120e63fbf7 100644
--- a/epan/dissectors/asn1/pcap/packet-pcap-template.c
+++ b/epan/dissectors/asn1/pcap/packet-pcap-template.c
@@ -40,10 +40,6 @@
void proto_register_pcap(void);
void proto_reg_handoff_pcap(void);
-static range_t *global_ssn_range;
-
-static dissector_table_t sccp_ssn_table;
-
#include "packet-pcap-val.h"
static dissector_handle_t pcap_handle = NULL;
@@ -133,19 +129,8 @@ dissect_pcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
void
proto_reg_handoff_pcap(void)
{
- static gboolean prefs_initialized = FALSE;
- static range_t *ssn_range;
-
- if (! prefs_initialized) {
- sccp_ssn_table = find_dissector_table("sccp.ssn");
- prefs_initialized = TRUE;
#include "packet-pcap-dis-tab.c"
- } else {
- dissector_delete_uint_range("sccp.ssn", ssn_range, pcap_handle);
- wmem_free(wmem_epan_scope(), ssn_range);
- }
- ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
- dissector_add_uint_range("sccp.ssn", ssn_range, pcap_handle);
+ dissector_add_for_decode_as_with_preference("sccp.ssn", pcap_handle);
}
/*--- proto_register_pcap -------------------------------------------*/
@@ -164,7 +149,7 @@ void proto_register_pcap(void) {
#include "packet-pcap-ettarr.c"
};
- module_t *pcap_module;
+ /* module_t *pcap_module; */
/* Register protocol */
proto_pcap = proto_register_protocol(PNAME, PSNAME, PFNAME);
@@ -172,7 +157,7 @@ void proto_register_pcap(void) {
proto_register_field_array(proto_pcap, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- pcap_module = prefs_register_protocol(proto_pcap, proto_reg_handoff_pcap);
+ /* pcap_module = prefs_register_protocol(proto_pcap, NULL); */
/* Register dissector */
pcap_handle = register_dissector("pcap", dissect_pcap, proto_pcap);
@@ -188,13 +173,6 @@ void proto_register_pcap(void) {
pcap_proc_out_dissector_table = register_dissector_table("pcap.proc.out", "PCAP-ELEMENTARY-PROCEDURE Outcome", proto_pcap, FT_UINT32, BASE_DEC);
- /* Preferences */
- /* Set default SSNs */
- range_convert_str(wmem_epan_scope(), &global_ssn_range, "", MAX_SSN);
-
- prefs_register_range_preference(pcap_module, "ssn", "SCCP SSNs",
- "SCCP (and SUA) SSNs to decode as PCAP",
- &global_ssn_range, MAX_SSN);
}
diff --git a/epan/dissectors/asn1/q932/packet-q932-template.c b/epan/dissectors/asn1/q932/packet-q932-template.c
index 8b258ba626..fda92c1610 100644
--- a/epan/dissectors/asn1/q932/packet-q932-template.c
+++ b/epan/dissectors/asn1/q932/packet-q932-template.c
@@ -369,6 +369,8 @@ void proto_reg_handoff_q932(void) {
/* Notification indicator */
dissector_add_uint("q931.ie", (0x00 << 8) | Q932_IE_NOTIFICATION_INDICATOR, q932_ie_handle);
q932_ros_handle = find_dissector_add_dependency("q932.ros", proto_q932);
+
+ q931_prefs_initialized = TRUE;
}
if(g_facility_encoding == FACILITY_QSIG){
diff --git a/epan/dissectors/asn1/ranap/packet-ranap-template.c b/epan/dissectors/asn1/ranap/packet-ranap-template.c
index 73c73ea299..3b6975b470 100644
--- a/epan/dissectors/asn1/ranap/packet-ranap-template.c
+++ b/epan/dissectors/asn1/ranap/packet-ranap-template.c
@@ -165,9 +165,6 @@ static dissector_handle_t ranap_handle;
int pdu_type = 0; /* 0 means wildcard */
-/* Initialise the Preferences */
-static gint global_ranap_sccp_ssn = SCCP_SSN_RANAP;
-
/* Dissector tables */
static dissector_table_t ranap_ies_dissector_table;
static dissector_table_t ranap_ies_p1_dissector_table;
@@ -440,10 +437,7 @@ void proto_register_ranap(void) {
nas_pdu_dissector_table = register_dissector_table("ranap.nas_pdu", "RANAP NAS PDU", proto_ranap, FT_UINT8, BASE_DEC);
- ranap_module = prefs_register_protocol(proto_ranap, proto_reg_handoff_ranap);
- prefs_register_uint_preference(ranap_module, "sccp_ssn", "SCCP SSN for RANAP",
- "The SCCP SubSystem Number for RANAP (default 142)", 10,
- &global_ranap_sccp_ssn);
+ ranap_module = prefs_register_protocol(proto_ranap, NULL);
prefs_register_bool_preference(ranap_module, "dissect_rrc_container",
"Attempt to dissect RRC-Container",
"Attempt to dissect RRC message embedded in RRC-Container IE",
@@ -455,24 +449,15 @@ void proto_register_ranap(void) {
void
proto_reg_handoff_ranap(void)
{
- static gboolean initialized = FALSE;
- static gint local_ranap_sccp_ssn;
-
- if (!initialized) {
- rrc_s_to_trnc_handle = find_dissector_add_dependency("rrc.s_to_trnc_cont", proto_ranap);
- rrc_t_to_srnc_handle = find_dissector_add_dependency("rrc.t_to_srnc_cont", proto_ranap);
- rrc_ho_to_utran_cmd = find_dissector_add_dependency("rrc.irat.ho_to_utran_cmd", proto_ranap);
- bssgp_handle = find_dissector("bssgp");
- heur_dissector_add("sccp", dissect_sccp_ranap_heur, "RANAP over SCCP", "ranap_sccp", proto_ranap, HEURISTIC_ENABLE);
- heur_dissector_add("sua", dissect_sccp_ranap_heur, "RANAP over SUA", "ranap_sua", proto_ranap, HEURISTIC_ENABLE);
- initialized = TRUE;
+ rrc_s_to_trnc_handle = find_dissector_add_dependency("rrc.s_to_trnc_cont", proto_ranap);
+ rrc_t_to_srnc_handle = find_dissector_add_dependency("rrc.t_to_srnc_cont", proto_ranap);
+ rrc_ho_to_utran_cmd = find_dissector_add_dependency("rrc.irat.ho_to_utran_cmd", proto_ranap);
+ bssgp_handle = find_dissector("bssgp");
+ heur_dissector_add("sccp", dissect_sccp_ranap_heur, "RANAP over SCCP", "ranap_sccp", proto_ranap, HEURISTIC_ENABLE);
+ heur_dissector_add("sua", dissect_sccp_ranap_heur, "RANAP over SUA", "ranap_sua", proto_ranap, HEURISTIC_ENABLE);
+ dissector_add_uint_with_preference("sccp.ssn", SCCP_SSN_RANAP, ranap_handle);
#include "packet-ranap-dis-tab.c"
- } else {
- dissector_delete_uint("sccp.ssn", local_ranap_sccp_ssn, ranap_handle);
- }
- dissector_add_uint("sccp.ssn", global_ranap_sccp_ssn, ranap_handle);
- local_ranap_sccp_ssn = global_ranap_sccp_ssn;
}
/*
diff --git a/epan/dissectors/packet-amqp.c b/epan/dissectors/packet-amqp.c
index afcb581539..f31909e0a6 100644
--- a/epan/dissectors/packet-amqp.c
+++ b/epan/dissectors/packet-amqp.c
@@ -13466,6 +13466,8 @@ proto_reg_handoff_amqp(void)
dissector_add_uint("amqp.version", AMQP_V0_10, create_dissector_handle( dissect_amqpv0_10, proto_amqpv0_10 ));
dissector_add_uint("amqp.version", AMQP_V1_0, create_dissector_handle( dissect_amqpv1_0, proto_amqpv1_0 ));
+ media_type_subdissector_table = find_dissector_table ("media_type");
+
initialize = TRUE;
}
@@ -13476,8 +13478,6 @@ proto_reg_handoff_amqp(void)
ssl_dissector_add(amqps_port, amqp_tcp_handle);
old_amqps_port = amqps_port;
}
-
- media_type_subdissector_table = find_dissector_table ("media_type");
}
/*
diff --git a/epan/dissectors/packet-ansi_tcap.c b/epan/dissectors/packet-ansi_tcap.c
index 15191dd0e6..8bf87cfc11 100644
--- a/epan/dissectors/packet-ansi_tcap.c
+++ b/epan/dissectors/packet-ansi_tcap.c
@@ -1773,7 +1773,7 @@ proto_register_ansi_tcap(void)
expert_ansi_tcap = expert_register_protocol(proto_ansi_tcap);
expert_register_field_array(expert_ansi_tcap, ei, array_length(ei));
- ansi_tcap_module = prefs_register_protocol(proto_ansi_tcap, proto_reg_handoff_ansi_tcap);
+ ansi_tcap_module = prefs_register_protocol(proto_ansi_tcap, NULL);
prefs_register_enum_preference(ansi_tcap_module, "transaction.matchtype",
"Type of matching invoke/response",
diff --git a/epan/dissectors/packet-cisco-fp-mim.c b/epan/dissectors/packet-cisco-fp-mim.c
index 8e4328d755..be2bf2821c 100644
--- a/epan/dissectors/packet-cisco-fp-mim.c
+++ b/epan/dissectors/packet-cisco-fp-mim.c
@@ -463,7 +463,7 @@ proto_register_mim(void)
proto_fp = proto_register_protocol("Cisco FabricPath", "CFP", "cfp");
- mim_module = prefs_register_protocol (proto_fp, proto_reg_handoff_fabricpath);
+ mim_module = prefs_register_protocol (proto_fp, NULL);
prefs_register_obsolete_preference (mim_module, "enable");
@@ -482,25 +482,20 @@ proto_register_mim(void)
void
proto_reg_handoff_fabricpath(void)
{
- static gboolean prefs_initialized = FALSE;
-
- if (!prefs_initialized) {
- /*
- * Using Heuristic dissector (As opposed to
- * registering the ethertype) in order to
- * get outer source and destination MAC
- * before the standard ethernet dissector
- */
- heur_dissector_add ("eth", dissect_fp_heur, "Cisco FabricPath over Ethernet", "fp_eth", proto_fp, HEURISTIC_ENABLE);
-
- /*
- * The FCS in FabricPath frames covers the entire FabricPath frame,
- * not the encapsulated Ethernet frame, so we don't want to treat
- * the encapsulated frame as if it had an FCS.
- */
- eth_withoutfcs_dissector = find_dissector_add_dependency( "eth_withoutfcs", proto_fp );
- prefs_initialized = TRUE;
- }
+ /*
+ * Using Heuristic dissector (As opposed to
+ * registering the ethertype) in order to
+ * get outer source and destination MAC
+ * before the standard ethernet dissector
+ */
+ heur_dissector_add ("eth", dissect_fp_heur, "Cisco FabricPath over Ethernet", "fp_eth", proto_fp, HEURISTIC_ENABLE);
+
+ /*
+ * The FCS in FabricPath frames covers the entire FabricPath frame,
+ * not the encapsulated Ethernet frame, so we don't want to treat
+ * the encapsulated frame as if it had an FCS.
+ */
+ eth_withoutfcs_dissector = find_dissector_add_dependency( "eth_withoutfcs", proto_fp );
}
/*
diff --git a/epan/dissectors/packet-doip.c b/epan/dissectors/packet-doip.c
index a52415fb87..c3b75ce61d 100644
--- a/epan/dissectors/packet-doip.c
+++ b/epan/dissectors/packet-doip.c
@@ -1267,7 +1267,7 @@ proto_register_doip(void)
proto_register_subtree_array(ett, array_length(ett));
doip_handle = register_dissector("doip", dissect_doip, proto_doip);
- doip_module = prefs_register_protocol(proto_doip, &proto_reg_handoff_doip);
+ doip_module = prefs_register_protocol(proto_doip, NULL);
/* UATs */
doip_diag_addr_uat = uat_new("Diagnostic Addresses",
diff --git a/epan/dissectors/packet-dtls.c b/epan/dissectors/packet-dtls.c
index 8d0db43592..0aa84b0ba6 100644
--- a/epan/dissectors/packet-dtls.c
+++ b/epan/dissectors/packet-dtls.c
@@ -2303,13 +2303,13 @@ proto_reg_handoff_dtls(void)
dtls_parse_uat();
dtls_parse_old_keys();
#endif
- exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
if (initialized == FALSE) {
heur_dissector_add("udp", dissect_dtls_heur, "DTLS over UDP", "dtls_udp", proto_dtls, HEURISTIC_ENABLE);
heur_dissector_add("stun", dissect_dtls_heur, "DTLS over STUN", "dtls_stun", proto_dtls, HEURISTIC_DISABLE);
heur_dissector_add("classicstun", dissect_dtls_heur, "DTLS over CLASSICSTUN", "dtls_classicstun", proto_dtls, HEURISTIC_DISABLE);
dissector_add_uint("sctp.ppi", DIAMETER_DTLS_PROTOCOL_ID, dtls_handle);
+ exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
}
initialized = TRUE;
diff --git a/epan/dissectors/packet-dvbci.c b/epan/dissectors/packet-dvbci.c
index fbc791fda4..5fa6622c2d 100644
--- a/epan/dissectors/packet-dvbci.c
+++ b/epan/dissectors/packet-dvbci.c
@@ -6430,8 +6430,7 @@ proto_register_dvbci(void)
expert_dvbci = expert_register_protocol(proto_dvbci);
expert_register_field_array(expert_dvbci, ei, array_length(ei));
- dvbci_module = prefs_register_protocol(
- proto_dvbci, proto_reg_handoff_dvbci);
+ dvbci_module = prefs_register_protocol(proto_dvbci, proto_reg_handoff_dvbci);
prefs_register_string_preference(dvbci_module,
"sek", "SAC Encryption Key", "SAC Encryption Key (16 hex bytes)",
&dvbci_sek);
@@ -6472,14 +6471,19 @@ proto_register_dvbci(void)
void
proto_reg_handoff_dvbci(void)
{
- dissector_add_uint("wtap_encap", WTAP_ENCAP_DVBCI, dvbci_handle);
-
- data_handle = find_dissector("data");
- mpeg_pmt_handle = find_dissector_add_dependency("mpeg_pmt", proto_dvbci);
- dvb_nit_handle = find_dissector_add_dependency("dvb_nit", proto_dvbci);
- mime_handle = find_dissector_add_dependency("mime_dlt", proto_dvbci);
- tcp_dissector_table = find_dissector_table("tcp.port");
- udp_dissector_table = find_dissector_table("udp.port");
+ static gboolean initialized = FALSE;
+
+ if (!initialized) {
+ dissector_add_uint("wtap_encap", WTAP_ENCAP_DVBCI, dvbci_handle);
+
+ data_handle = find_dissector("data");
+ mpeg_pmt_handle = find_dissector_add_dependency("mpeg_pmt", proto_dvbci);
+ dvb_nit_handle = find_dissector_add_dependency("dvb_nit", proto_dvbci);
+ mime_handle = find_dissector_add_dependency("mime_dlt", proto_dvbci);
+ tcp_dissector_table = find_dissector_table("tcp.port");
+ udp_dissector_table = find_dissector_table("udp.port");
+ initialized = TRUE;
+ }
g_free(dvbci_sek_bin);
g_free(dvbci_siv_bin);
diff --git a/epan/dissectors/packet-e2ap.c b/epan/dissectors/packet-e2ap.c
index 8a260b7e38..023e5e9aae 100644
--- a/epan/dissectors/packet-e2ap.c
+++ b/epan/dissectors/packet-e2ap.c
@@ -478,9 +478,6 @@ struct e2ap_private_data {
guint32 ran_ue_e2ap_id;
};
-/* Global variables */
-static guint gbl_e2apSctpPort = SCTP_PORT_E2AP;
-
/* Dissector tables */
static dissector_table_t e2ap_ies_dissector_table;
//static dissector_table_t e2ap_ies_p1_dissector_table;
@@ -3772,7 +3769,7 @@ static int dissect_RANcallProcess_ID_string_PDU(tvbuff_t *tvb _U_, packet_info *
/*--- End of included file: packet-e2ap-fn.c ---*/
-#line 121 "./asn1/e2ap/packet-e2ap-template.c"
+#line 118 "./asn1/e2ap/packet-e2ap-template.c"
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
@@ -3848,19 +3845,14 @@ dissect_e2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
void
proto_reg_handoff_e2ap(void)
{
- static gboolean Initialized=FALSE;
- static guint SctpPort;
-
- if (!Initialized) {
- dissector_add_for_decode_as("sctp.port", e2ap_handle);
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_E2AP, e2ap_handle);
#if 0
- /* TODO: should one or more of these be registered? */
- dissector_add_uint("sctp.ppi", E2_CP_PROTOCOL_ID, e2ap_handle);
- dissector_add_uint("sctp.ppi", E2_UP_PROTOCOL_ID, e2ap_handle);
- dissector_add_uint("sctp.ppi", E2_DU_PROTOCOL_ID, e2ap_handle);
+ /* TODO: should one or more of these be registered? */
+ dissector_add_uint("sctp.ppi", E2_CP_PROTOCOL_ID, e2ap_handle);
+ dissector_add_uint("sctp.ppi", E2_UP_PROTOCOL_ID, e2ap_handle);
+ dissector_add_uint("sctp.ppi", E2_DU_PROTOCOL_ID, e2ap_handle);
#endif
- Initialized=TRUE;
/*--- Included file: packet-e2ap-dis-tab.c ---*/
#line 1 "./asn1/e2ap/packet-e2ap-dis-tab.c"
@@ -3919,18 +3911,8 @@ proto_reg_handoff_e2ap(void)
/*--- End of included file: packet-e2ap-dis-tab.c ---*/
-#line 210 "./asn1/e2ap/packet-e2ap-template.c"
+#line 202 "./asn1/e2ap/packet-e2ap-template.c"
- } else {
- if (SctpPort != 0) {
- dissector_delete_uint("sctp.port", SctpPort, e2ap_handle);
- }
- }
-
- SctpPort=gbl_e2apSctpPort;
- if (SctpPort != 0) {
- dissector_add_uint("sctp.port", SctpPort, e2ap_handle);
- }
}
/*--- proto_register_e2ap -------------------------------------------*/
@@ -4776,7 +4758,7 @@ void proto_register_e2ap(void) {
NULL, HFILL }},
/*--- End of included file: packet-e2ap-hfarr.c ---*/
-#line 230 "./asn1/e2ap/packet-e2ap-template.c"
+#line 212 "./asn1/e2ap/packet-e2ap-template.c"
};
@@ -4901,11 +4883,11 @@ void proto_register_e2ap(void) {
&ett_e2ap_PerQCIReportListItemFormat,
/*--- End of included file: packet-e2ap-ettarr.c ---*/
-#line 237 "./asn1/e2ap/packet-e2ap-template.c"
+#line 219 "./asn1/e2ap/packet-e2ap-template.c"
};
- module_t *e2ap_module;
+ /* module_t *e2ap_module; */
/* Register protocol */
proto_e2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
@@ -4928,13 +4910,8 @@ void proto_register_e2ap(void) {
e2ap_n2_ie_type_dissector_table = register_dissector_table("e2ap.n2_ie_type", "E2AP N2 IE Type", proto_e2ap, FT_STRING, FALSE);
/* Register configuration options for ports */
- e2ap_module = prefs_register_protocol(proto_e2ap, proto_reg_handoff_e2ap);
+ /* e2ap_module = prefs_register_protocol(proto_e2ap, NULL); */
- prefs_register_uint_preference(e2ap_module, "sctp.port",
- "e2ap SCTP Port",
- "Set the SCTP port for e2ap messages",
- 10,
- &gbl_e2apSctpPort);
}
/*
diff --git a/epan/dissectors/packet-etag.c b/epan/dissectors/packet-etag.c
index f32195ffab..662a8d7dea 100644
--- a/epan/dissectors/packet-etag.c
+++ b/epan/dissectors/packet-etag.c
@@ -208,8 +208,8 @@ proto_register_etag(void)
proto_register_field_array(proto_etag, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- etag_module = prefs_register_protocol(proto_etag, proto_reg_handoff_etag);
- prefs_register_bool_preference(etag_module, "summary_in_tree",
+ etag_module = prefs_register_protocol(proto_etag, NULL);
+ prefs_register_bool_preference(etag_module, "summary_in_tree",
"Show E-Tag summary in protocol tree",
"Whether the E-Tag summary line should be shown in the protocol tree",
&etag_summary_in_tree);
diff --git a/epan/dissectors/packet-fcoib.c b/epan/dissectors/packet-fcoib.c
index 46195c75e0..ae3770de25 100644
--- a/epan/dissectors/packet-fcoib.c
+++ b/epan/dissectors/packet-fcoib.c
@@ -313,7 +313,7 @@ proto_register_fcoib(void)
expert_fcoib = expert_register_protocol(proto_fcoib);
expert_register_field_array(expert_fcoib, ei, array_length(ei));
- fcoib_module = prefs_register_protocol(proto_fcoib, proto_reg_handoff_fcoib);
+ fcoib_module = prefs_register_protocol(proto_fcoib, NULL);
prefs_register_static_text_preference(fcoib_module, "use_decode_as",
"Heuristic matching preferences removed. Use Infiniband protocol preferences or Decode As.",
diff --git a/epan/dissectors/packet-gfp.c b/epan/dissectors/packet-gfp.c
index 90192b2705..00f7c69cff 100644
--- a/epan/dissectors/packet-gfp.c
+++ b/epan/dissectors/packet-gfp.c
@@ -576,15 +576,6 @@ proto_register_gfp(void)
register_decode_as(&gfp_da);
}
-/* If this function is registered as a prefs callback (see
- * prefs_register_protocol above) this function is also called by Wireshark's
- * preferences manager whenever "Apply" or "OK" are pressed. In that case, it
- * should accommodate being called more than once by use of the static
- * 'initialized' variable included below.
- *
- * This form of the reg_handoff function is used if you perform registration
- * functions which are dependent upon prefs.
- */
void
proto_reg_handoff_gfp(void)
{
diff --git a/epan/dissectors/packet-grpc.c b/epan/dissectors/packet-grpc.c
index 3015b74a32..67dd4da1cf 100644
--- a/epan/dissectors/packet-grpc.c
+++ b/epan/dissectors/packet-grpc.c
@@ -507,7 +507,7 @@ proto_register_grpc(void)
proto_register_field_array(proto_grpc, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- grpc_module = prefs_register_protocol(proto_grpc, proto_reg_handoff_grpc);
+ grpc_module = prefs_register_protocol(proto_grpc, NULL);
prefs_register_bool_preference(grpc_module, "detect_json_automatically",
"Always check whether the message is JSON regardless of content-type.",
diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c
index a9e76adcc0..21452cb8c8 100644
--- a/epan/dissectors/packet-http.c
+++ b/epan/dissectors/packet-http.c
@@ -282,7 +282,6 @@ static gboolean http_decompress_body = TRUE;
#define SCTP_DEFAULT_RANGE "80"
#define TLS_DEFAULT_RANGE "443"
-static range_t *global_http_sctp_range = NULL;
static range_t *global_http_tls_range = NULL;
static range_t *http_tcp_range = NULL;
@@ -3923,10 +3922,7 @@ range_add_http_tls_callback(guint32 port, gpointer ptr _U_) {
static void reinit_http(void) {
http_tcp_range = prefs_get_range_value("http", "tcp.port");
- dissector_delete_uint_range("sctp.port", http_sctp_range, http_sctp_handle);
- wmem_free(wmem_epan_scope(), http_sctp_range);
- http_sctp_range = range_copy(wmem_epan_scope(), global_http_sctp_range);
- dissector_add_uint_range("sctp.port", http_sctp_range, http_sctp_handle);
+ http_sctp_range = prefs_get_range_value("http", "sctp.port");
range_foreach(http_tls_range, range_delete_http_tls_callback, NULL);
wmem_free(wmem_epan_scope(), http_tls_range);
@@ -4315,11 +4311,6 @@ proto_register_http(void)
#endif
prefs_register_obsolete_preference(http_module, "tcp_alternate_port");
- range_convert_str(wmem_epan_scope(), &global_http_sctp_range, SCTP_DEFAULT_RANGE, 65535);
- prefs_register_range_preference(http_module, "sctp.port", "SCTP Ports",
- "SCTP Ports range",
- &global_http_sctp_range, 65535);
-
range_convert_str(wmem_epan_scope(), &global_http_tls_range, TLS_DEFAULT_RANGE, 65535);
prefs_register_range_preference(http_module, "tls.port", "SSL/TLS Ports",
"SSL/TLS Ports range",
@@ -4543,6 +4534,7 @@ proto_reg_handoff_message_http(void)
proto_http2 = proto_get_id_by_filter_name("http2");
dissector_add_uint_range_with_preference("tcp.port", TCP_DEFAULT_RANGE, http_tcp_handle);
+ dissector_add_uint_range_with_preference("sctp.port", SCTP_DEFAULT_RANGE, http_sctp_handle);
reinit_http();
}
diff --git a/epan/dissectors/packet-ieee802154.c b/epan/dissectors/packet-ieee802154.c
index 8536d62bb5..7af53fc04f 100644
--- a/epan/dissectors/packet-ieee802154.c
+++ b/epan/dissectors/packet-ieee802154.c
@@ -7050,6 +7050,29 @@ void proto_reg_handoff_ieee802154(void)
dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE802_15_4_TAP, ieee802154_tap_handle);
dissector_add_uint("sll.ltype", LINUX_SLL_P_IEEE802154, ieee802154_handle);
+ /* Register internal IE handlers */
+ dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_TIME_CORR, create_dissector_handle(dissect_hie_time_correction, -1));
+ dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_CSL, create_dissector_handle(dissect_hie_csl, -1));
+ dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_RENDEZVOUS, create_dissector_handle(dissect_hie_rendezvous_time, -1));
+ dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_GLOBAL_TIME, create_dissector_handle(dissect_hie_global_time, -1));
+ dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_VENDOR_SPECIFIC, create_dissector_handle(dissect_hie_vendor_specific, -1));
+
+ dissector_add_uint(IEEE802154_PAYLOAD_IE_DTABLE, IEEE802154_PAYLOAD_IE_MLME, create_dissector_handle(dissect_pie_mlme, -1));
+ dissector_add_uint(IEEE802154_PAYLOAD_IE_DTABLE, IEEE802154_PAYLOAD_IE_VENDOR, create_dissector_handle(dissect_pie_vendor, -1));
+ dissector_add_uint(IEEE802154_PAYLOAD_IE_DTABLE, IEEE802154_PAYLOAD_IE_MPX, create_dissector_handle(dissect_mpx_ie, -1));
+ dissector_add_uint(IEEE802154_PAYLOAD_IE_DTABLE, IEEE802154_PAYLOAD_IE_IETF, create_dissector_handle(dissect_ietf_ie, -1));
+
+ dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_CHANNEL_HOPPING, create_dissector_handle(dissect_802154_channel_hopping, -1));
+ dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_TSCH_SYNCH, create_dissector_handle(dissect_802154_tsch_time_sync, -1));
+ dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_TSCH_SLOTFR_LINK, create_dissector_handle(dissect_802154_tsch_slotframe_link, -1));
+ dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_TSCH_TIMESLOT, create_dissector_handle(dissect_802154_tsch_timeslot, -1));
+ dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_ENHANCED_BEACON_FILTER, create_dissector_handle(dissect_802154_eb_filter, -1));
+
+ /* For the MPX-IE */
+ ethertype_table = find_dissector_table("ethertype");
+ eapol_handle = find_dissector("eapol");
+ lowpan_handle = find_dissector("6lowpan");
+ wisun_sec_handle = find_dissector("wisun.sec");
prefs_initialized = TRUE;
} else {
dissector_delete_uint("ethertype", old_ieee802154_ethertype, ieee802154_handle);
@@ -7060,29 +7083,6 @@ void proto_reg_handoff_ieee802154(void)
/* Register dissector handles. */
dissector_add_uint("ethertype", ieee802154_ethertype, ieee802154_handle);
- /* Register internal IE handlers */
- dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_TIME_CORR, create_dissector_handle(dissect_hie_time_correction, -1));
- dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_CSL, create_dissector_handle(dissect_hie_csl, -1));
- dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_RENDEZVOUS, create_dissector_handle(dissect_hie_rendezvous_time, -1));
- dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_GLOBAL_TIME, create_dissector_handle(dissect_hie_global_time, -1));
- dissector_add_uint(IEEE802154_HEADER_IE_DTABLE, IEEE802154_HEADER_IE_VENDOR_SPECIFIC, create_dissector_handle(dissect_hie_vendor_specific, -1));
-
- dissector_add_uint(IEEE802154_PAYLOAD_IE_DTABLE, IEEE802154_PAYLOAD_IE_MLME, create_dissector_handle(dissect_pie_mlme, -1));
- dissector_add_uint(IEEE802154_PAYLOAD_IE_DTABLE, IEEE802154_PAYLOAD_IE_VENDOR, create_dissector_handle(dissect_pie_vendor, -1));
- dissector_add_uint(IEEE802154_PAYLOAD_IE_DTABLE, IEEE802154_PAYLOAD_IE_MPX, create_dissector_handle(dissect_mpx_ie, -1));
- dissector_add_uint(IEEE802154_PAYLOAD_IE_DTABLE, IEEE802154_PAYLOAD_IE_IETF, create_dissector_handle(dissect_ietf_ie, -1));
-
- dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_CHANNEL_HOPPING, create_dissector_handle(dissect_802154_channel_hopping, -1));
- dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_TSCH_SYNCH, create_dissector_handle(dissect_802154_tsch_time_sync, -1));
- dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_TSCH_SLOTFR_LINK, create_dissector_handle(dissect_802154_tsch_slotframe_link, -1));
- dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_TSCH_TIMESLOT, create_dissector_handle(dissect_802154_tsch_timeslot, -1));
- dissector_add_uint(IEEE802154_MLME_IE_DTABLE, IEEE802154_MLME_SUBIE_ENHANCED_BEACON_FILTER, create_dissector_handle(dissect_802154_eb_filter, -1));
-
- /* For the MPX-IE */
- ethertype_table = find_dissector_table("ethertype");
- eapol_handle = find_dissector("eapol");
- lowpan_handle = find_dissector("6lowpan");
- wisun_sec_handle = find_dissector("wisun.sec");
} /* proto_reg_handoff_ieee802154 */
/*
diff --git a/epan/dissectors/packet-ieee8021ah.c b/epan/dissectors/packet-ieee8021ah.c
index da60007e76..251089d381 100644
--- a/epan/dissectors/packet-ieee8021ah.c
+++ b/epan/dissectors/packet-ieee8021ah.c
@@ -435,6 +435,9 @@ proto_reg_handoff_ieee8021ah(void)
capture_dissector_add_uint("ethertype", ETHERTYPE_IEEE_802_1AD, ieee8021ah_cap_handle);
capture_dissector_add_uint("ethertype", ETHERTYPE_IEEE_802_1AH, ieee8021ah_cap_handle);
+ ipx_cap_handle = find_capture_dissector("ipx");
+ llc_cap_handle = find_capture_dissector("llc");
+
prefs_initialized = TRUE;
}
else {
@@ -443,9 +446,6 @@ proto_reg_handoff_ieee8021ah(void)
old_ieee8021ah_ethertype = ieee8021ah_ethertype;
dissector_add_uint("ethertype", ieee8021ah_ethertype, ieee8021ah_handle);
-
- ipx_cap_handle = find_capture_dissector("ipx");
- llc_cap_handle = find_capture_dissector("llc");
}
/*
diff --git a/epan/dissectors/packet-infiniband_sdp.c b/epan/dissectors/packet-infiniband_sdp.c
index 283d16e1c0..025d8b6c27 100644
--- a/epan/dissectors/packet-infiniband_sdp.c
+++ b/epan/dissectors/packet-infiniband_sdp.c
@@ -436,7 +436,7 @@ proto_register_ib_sdp(void)
proto_register_subtree_array(ett, array_length(ett));
/* Register preferences */
- ib_sdp_module = prefs_register_protocol(proto_ib_sdp, proto_reg_handoff_ib_sdp);
+ ib_sdp_module = prefs_register_protocol(proto_ib_sdp, NULL);
prefs_register_static_text_preference(ib_sdp_module, "use_decode_as",
"Heuristic matching preferences removed. Use Infiniband protocol preferences or Decode As.",
diff --git a/epan/dissectors/packet-jxta.c b/epan/dissectors/packet-jxta.c
index 975fc1c84d..56af6ebc85 100644
--- a/epan/dissectors/packet-jxta.c
+++ b/epan/dissectors/packet-jxta.c
@@ -2391,6 +2391,10 @@ void proto_reg_handoff_jxta(void)
media_handle = find_dissector_add_dependency("media", proto_jxta);
+ heur_dissector_add("udp", dissect_jxta_UDP_heur, "JXTA over UDP", "jxta_udp", proto_jxta, HEURISTIC_ENABLE);
+ heur_dissector_add("tcp", dissect_jxta_TCP_heur, "JXTA over TCP", "jxta_tcp", proto_jxta, HEURISTIC_ENABLE);
+ heur_dissector_add("sctp", dissect_jxta_SCTP_heur, "JXTA over SCTP", "jxta_sctp", proto_jxta, HEURISTIC_ENABLE);
+
init_done = TRUE;
}
@@ -2407,15 +2411,6 @@ void proto_reg_handoff_jxta(void)
msg_media_register_done = FALSE;
}
}
-
- /* ws_message( "Registering UDP Heuristic dissector" ); */
- heur_dissector_add("udp", dissect_jxta_UDP_heur, "JXTA over UDP", "jxta_udp", proto_jxta, HEURISTIC_ENABLE);
-
- /* ws_message( "Registering TCP Heuristic dissector" ); */
- heur_dissector_add("tcp", dissect_jxta_TCP_heur, "JXTA over TCP", "jxta_tcp", proto_jxta, HEURISTIC_ENABLE);
-
- /* ws_message( "Registering SCTP Heuristic dissector" ); */
- heur_dissector_add("sctp", dissect_jxta_SCTP_heur, "JXTA over SCTP", "jxta_sctp", proto_jxta, HEURISTIC_ENABLE);
}
/*
diff --git a/epan/dissectors/packet-lorawan.c b/epan/dissectors/packet-lorawan.c
index 8891798270..043b318e95 100644
--- a/epan/dissectors/packet-lorawan.c
+++ b/epan/dissectors/packet-lorawan.c
@@ -1365,7 +1365,7 @@ proto_register_lorawan(void)
);
module_t *lorawan_module;
- lorawan_module = prefs_register_protocol(proto_lorawan, proto_reg_handoff_lorawan);
+ lorawan_module = prefs_register_protocol(proto_lorawan, NULL);
prefs_register_uat_preference(lorawan_module, "encryption_keys_lorawan", "LoRaWAN Encryption Keys",
"A table to define encryption keys for LoRaWAN devices",
device_encryption_keys_uat);
@@ -1374,7 +1374,7 @@ proto_register_lorawan(void)
void
proto_reg_handoff_lorawan(void)
{
- static dissector_handle_t lorawan_handle;
+ dissector_handle_t lorawan_handle;
lorawan_handle = create_dissector_handle(dissect_lorawan, proto_lorawan);
dissector_add_uint("loratap.syncword", 0x34, lorawan_handle);
dissector_add_for_decode_as("udp.port", lorawan_handle);
diff --git a/epan/dissectors/packet-lwm.c b/epan/dissectors/packet-lwm.c
index 0630c90d29..d7892342f5 100644
--- a/epan/dissectors/packet-lwm.c
+++ b/epan/dissectors/packet-lwm.c
@@ -905,7 +905,8 @@ void proto_register_lwm(void)
* proto_reg_handoff_lwm
* DESCRIPTION
* Registers the lwm dissector with Wireshark.
- * Will be called during Wireshark startup.
+ * Will be called during Wireshark startup, and whenever
+ * preferences are changed.
* PARAMETERS
* none
* RETURNS
@@ -914,9 +915,17 @@ void proto_register_lwm(void)
*/
void proto_reg_handoff_lwm(void)
{
+ static gboolean initialized = FALSE;
GByteArray *bytes;
gboolean res;
+ if (!initialized) {
+ /* Register our dissector with IEEE 802.15.4 */
+ dissector_add_for_decode_as(IEEE802154_PROTOABBREV_WPAN_PANID, lwm_handle);
+ heur_dissector_add(IEEE802154_PROTOABBREV_WPAN, dissect_lwm_heur, "Lightweight Mesh over IEEE 802.15.4", "lwm_wlan", proto_lwm, HEURISTIC_ENABLE);
+
+ initialized = TRUE;
+ }
/* Convert key to raw bytes */
bytes = g_byte_array_new();
res = hex_str_to_bytes(lwmes_key_str, bytes, FALSE);
@@ -926,11 +935,6 @@ void proto_reg_handoff_lwm(void)
}
g_byte_array_free(bytes, TRUE);
-
- /* Register our dissector with IEEE 802.15.4 */
- dissector_add_for_decode_as(IEEE802154_PROTOABBREV_WPAN_PANID, lwm_handle);
- heur_dissector_add(IEEE802154_PROTOABBREV_WPAN, dissect_lwm_heur, "Lightweight Mesh over IEEE 802.15.4", "lwm_wlan", proto_lwm, HEURISTIC_ENABLE);
-
} /* proto_reg_handoff_lwm */
/*
diff --git a/epan/dissectors/packet-netflow.c b/epan/dissectors/packet-netflow.c
index c18d1343fe..02aa5970eb 100644
--- a/epan/dissectors/packet-netflow.c
+++ b/epan/dissectors/packet-netflow.c
@@ -21021,10 +21021,10 @@ proto_reg_handoff_netflow(void)
static range_t *netflow_ports;
static range_t *ipfix_ports;
- /* Find eth_handle used for IE315*/
- eth_handle = find_dissector ("eth_withoutfcs");
-
if (!netflow_prefs_initialized) {
+ /* Find eth_handle used for IE315*/
+ eth_handle = find_dissector ("eth_withoutfcs");
+
netflow_handle = create_dissector_handle(dissect_netflow, proto_netflow);
netflow_tcp_handle = create_dissector_handle(dissect_tcp_netflow, proto_netflow);
netflow_prefs_initialized = TRUE;
diff --git a/epan/dissectors/packet-nvme-rdma.c b/epan/dissectors/packet-nvme-rdma.c
index 427e25c0c2..13940ece7e 100644
--- a/epan/dissectors/packet-nvme-rdma.c
+++ b/epan/dissectors/packet-nvme-rdma.c
@@ -808,7 +808,6 @@ proto_register_nvme_rdma(void)
proto_register_subtree_array(ett, array_length(ett));
/* Register preferences */
- //nvme_rdma_module = prefs_register_protocol(proto_nvme_rdma, proto_reg_handoff_nvme_rdma);
nvme_rdma_module = prefs_register_protocol(proto_nvme_rdma, NULL);
range_convert_str(wmem_epan_scope(), &gPORT_RANGE, NVME_RDMA_TCP_PORT_RANGE, MAX_TCP_PORT);
diff --git a/epan/dissectors/packet-opa-mad.c b/epan/dissectors/packet-opa-mad.c
index eef6daa114..c902104050 100644
--- a/epan/dissectors/packet-opa-mad.c
+++ b/epan/dissectors/packet-opa-mad.c
@@ -13663,7 +13663,7 @@ void proto_register_opa_mad(void)
range_convert_str(wmem_epan_scope(), &global_mad_reserved_class, OPA_RESERVED_RANGE_STR, 0xFF);
range_convert_str(wmem_epan_scope(), &global_mad_opa_class, OPA_MGMTCLASS_RANGE_STR, 0xFF);
- opa_mad_module = prefs_register_protocol(proto_opa_mad, proto_reg_handoff_opa_mad);
+ opa_mad_module = prefs_register_protocol(proto_opa_mad, NULL);
prefs_register_bool_preference(opa_mad_module, "parse_mad_error",
"Enable Parsing of Mad Payload on Mad Status Error",
"Attempt to parse mad payload even when MAD.Status is non-zero",
diff --git a/epan/dissectors/packet-pcap.c b/epan/dissectors/packet-pcap.c
index 470638e9f7..1fa92c6c64 100644
--- a/epan/dissectors/packet-pcap.c
+++ b/epan/dissectors/packet-pcap.c
@@ -48,10 +48,6 @@
void proto_register_pcap(void);
void proto_reg_handoff_pcap(void);
-static range_t *global_ssn_range;
-
-static dissector_table_t sccp_ssn_table;
-
/*--- Included file: packet-pcap-val.h ---*/
#line 1 "./asn1/pcap/packet-pcap-val.h"
@@ -240,7 +236,7 @@ typedef enum _ProtocolIE_ID_enum {
} ProtocolIE_ID_enum;
/*--- End of included file: packet-pcap-val.h ---*/
-#line 48 "./asn1/pcap/packet-pcap-template.c"
+#line 44 "./asn1/pcap/packet-pcap-template.c"
static dissector_handle_t pcap_handle = NULL;
@@ -1393,7 +1389,7 @@ static int hf_pcap_AvailableSubChannelNumbers_subCh1 = -1;
static int hf_pcap_AvailableSubChannelNumbers_subCh0 = -1;
/*--- End of included file: packet-pcap-hf.c ---*/
-#line 55 "./asn1/pcap/packet-pcap-template.c"
+#line 51 "./asn1/pcap/packet-pcap-template.c"
/* Initialize the subtree pointers */
static int ett_pcap = -1;
@@ -1796,7 +1792,7 @@ static gint ett_pcap_UnsuccessfulOutcome = -1;
static gint ett_pcap_Outcome = -1;
/*--- End of included file: packet-pcap-ett.c ---*/
-#line 60 "./asn1/pcap/packet-pcap-template.c"
+#line 56 "./asn1/pcap/packet-pcap-template.c"
/* Global variables */
static guint32 ProcedureCode;
@@ -13540,7 +13536,7 @@ static int dissect_PCAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto
/*--- End of included file: packet-pcap-fn.c ---*/
-#line 84 "./asn1/pcap/packet-pcap-template.c"
+#line 80 "./asn1/pcap/packet-pcap-template.c"
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
@@ -13593,12 +13589,6 @@ dissect_pcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
void
proto_reg_handoff_pcap(void)
{
- static gboolean prefs_initialized = FALSE;
- static range_t *ssn_range;
-
- if (! prefs_initialized) {
- sccp_ssn_table = find_dissector_table("sccp.ssn");
- prefs_initialized = TRUE;
/*--- Included file: packet-pcap-dis-tab.c ---*/
#line 1 "./asn1/pcap/packet-pcap-dis-tab.c"
@@ -13740,13 +13730,8 @@ proto_reg_handoff_pcap(void)
/*--- End of included file: packet-pcap-dis-tab.c ---*/
-#line 143 "./asn1/pcap/packet-pcap-template.c"
- } else {
- dissector_delete_uint_range("sccp.ssn", ssn_range, pcap_handle);
- wmem_free(wmem_epan_scope(), ssn_range);
- }
- ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
- dissector_add_uint_range("sccp.ssn", ssn_range, pcap_handle);
+#line 133 "./asn1/pcap/packet-pcap-template.c"
+ dissector_add_for_decode_as_with_preference("sccp.ssn", pcap_handle);
}
/*--- proto_register_pcap -------------------------------------------*/
@@ -18321,7 +18306,7 @@ void proto_register_pcap(void) {
NULL, HFILL }},
/*--- End of included file: packet-pcap-hfarr.c ---*/
-#line 159 "./asn1/pcap/packet-pcap-template.c"
+#line 144 "./asn1/pcap/packet-pcap-template.c"
};
/* List of subtrees */
@@ -18725,10 +18710,10 @@ void proto_register_pcap(void) {
&ett_pcap_Outcome,
/*--- End of included file: packet-pcap-ettarr.c ---*/
-#line 165 "./asn1/pcap/packet-pcap-template.c"
+#line 150 "./asn1/pcap/packet-pcap-template.c"
};
- module_t *pcap_module;
+ /* module_t *pcap_module; */
/* Register protocol */
proto_pcap = proto_register_protocol(PNAME, PSNAME, PFNAME);
@@ -18736,7 +18721,7 @@ void proto_register_pcap(void) {
proto_register_field_array(proto_pcap, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- pcap_module = prefs_register_protocol(proto_pcap, proto_reg_handoff_pcap);
+ /* pcap_module = prefs_register_protocol(proto_pcap, NULL); */
/* Register dissector */
pcap_handle = register_dissector("pcap", dissect_pcap, proto_pcap);
@@ -18752,13 +18737,6 @@ void proto_register_pcap(void) {
pcap_proc_out_dissector_table = register_dissector_table("pcap.proc.out", "PCAP-ELEMENTARY-PROCEDURE Outcome", proto_pcap, FT_UINT32, BASE_DEC);
- /* Preferences */
- /* Set default SSNs */
- range_convert_str(wmem_epan_scope(), &global_ssn_range, "", MAX_SSN);
-
- prefs_register_range_preference(pcap_module, "ssn", "SCCP SSNs",
- "SCCP (and SUA) SSNs to decode as PCAP",
- &global_ssn_range, MAX_SSN);
}
diff --git a/epan/dissectors/packet-q932.c b/epan/dissectors/packet-q932.c
index 8c88f54997..8e5f458113 100644
--- a/epan/dissectors/packet-q932.c
+++ b/epan/dissectors/packet-q932.c
@@ -1117,6 +1117,8 @@ void proto_reg_handoff_q932(void) {
/* Notification indicator */
dissector_add_uint("q931.ie", (0x00 << 8) | Q932_IE_NOTIFICATION_INDICATOR, q932_ie_handle);
q932_ros_handle = find_dissector_add_dependency("q932.ros", proto_q932);
+
+ q931_prefs_initialized = TRUE;
}
if(g_facility_encoding == FACILITY_QSIG){
diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c
index aaff6e8705..21952ffbb2 100644
--- a/epan/dissectors/packet-ranap.c
+++ b/epan/dissectors/packet-ranap.c
@@ -1717,9 +1717,6 @@ static dissector_handle_t ranap_handle;
int pdu_type = 0; /* 0 means wildcard */
-/* Initialise the Preferences */
-static gint global_ranap_sccp_ssn = SCCP_SSN_RANAP;
-
/* Dissector tables */
static dissector_table_t ranap_ies_dissector_table;
static dissector_table_t ranap_ies_p1_dissector_table;
@@ -15056,7 +15053,7 @@ static int dissect_RANAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot
/*--- End of included file: packet-ranap-fn.c ---*/
-#line 196 "./asn1/ranap/packet-ranap-template.c"
+#line 193 "./asn1/ranap/packet-ranap-template.c"
static int
dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
@@ -18440,7 +18437,7 @@ void proto_register_ranap(void) {
NULL, HFILL }},
/*--- End of included file: packet-ranap-hfarr.c ---*/
-#line 411 "./asn1/ranap/packet-ranap-template.c"
+#line 408 "./asn1/ranap/packet-ranap-template.c"
};
/* List of subtrees */
@@ -18804,7 +18801,7 @@ void proto_register_ranap(void) {
&ett_ranap_Outcome,
/*--- End of included file: packet-ranap-ettarr.c ---*/
-#line 419 "./asn1/ranap/packet-ranap-template.c"
+#line 416 "./asn1/ranap/packet-ranap-template.c"
};
@@ -18829,10 +18826,7 @@ void proto_register_ranap(void) {
nas_pdu_dissector_table = register_dissector_table("ranap.nas_pdu", "RANAP NAS PDU", proto_ranap, FT_UINT8, BASE_DEC);
- ranap_module = prefs_register_protocol(proto_ranap, proto_reg_handoff_ranap);
- prefs_register_uint_preference(ranap_module, "sccp_ssn", "SCCP SSN for RANAP",
- "The SCCP SubSystem Number for RANAP (default 142)", 10,
- &global_ranap_sccp_ssn);
+ ranap_module = prefs_register_protocol(proto_ranap, NULL);
prefs_register_bool_preference(ranap_module, "dissect_rrc_container",
"Attempt to dissect RRC-Container",
"Attempt to dissect RRC message embedded in RRC-Container IE",
@@ -18844,17 +18838,13 @@ void proto_register_ranap(void) {
void
proto_reg_handoff_ranap(void)
{
- static gboolean initialized = FALSE;
- static gint local_ranap_sccp_ssn;
-
- if (!initialized) {
- rrc_s_to_trnc_handle = find_dissector_add_dependency("rrc.s_to_trnc_cont", proto_ranap);
- rrc_t_to_srnc_handle = find_dissector_add_dependency("rrc.t_to_srnc_cont", proto_ranap);
- rrc_ho_to_utran_cmd = find_dissector_add_dependency("rrc.irat.ho_to_utran_cmd", proto_ranap);
- bssgp_handle = find_dissector("bssgp");
- heur_dissector_add("sccp", dissect_sccp_ranap_heur, "RANAP over SCCP", "ranap_sccp", proto_ranap, HEURISTIC_ENABLE);
- heur_dissector_add("sua", dissect_sccp_ranap_heur, "RANAP over SUA", "ranap_sua", proto_ranap, HEURISTIC_ENABLE);
- initialized = TRUE;
+ rrc_s_to_trnc_handle = find_dissector_add_dependency("rrc.s_to_trnc_cont", proto_ranap);
+ rrc_t_to_srnc_handle = find_dissector_add_dependency("rrc.t_to_srnc_cont", proto_ranap);
+ rrc_ho_to_utran_cmd = find_dissector_add_dependency("rrc.irat.ho_to_utran_cmd", proto_ranap);
+ bssgp_handle = find_dissector("bssgp");
+ heur_dissector_add("sccp", dissect_sccp_ranap_heur, "RANAP over SCCP", "ranap_sccp", proto_ranap, HEURISTIC_ENABLE);
+ heur_dissector_add("sua", dissect_sccp_ranap_heur, "RANAP over SUA", "ranap_sua", proto_ranap, HEURISTIC_ENABLE);
+ dissector_add_uint_with_preference("sccp.ssn", SCCP_SSN_RANAP, ranap_handle);
/*--- Included file: packet-ranap-dis-tab.c ---*/
#line 1 "./asn1/ranap/packet-ranap-dis-tab.c"
@@ -19233,13 +19223,8 @@ proto_reg_handoff_ranap(void)
/*--- End of included file: packet-ranap-dis-tab.c ---*/
-#line 470 "./asn1/ranap/packet-ranap-template.c"
- } else {
- dissector_delete_uint("sccp.ssn", local_ranap_sccp_ssn, ranap_handle);
- }
+#line 460 "./asn1/ranap/packet-ranap-template.c"
- dissector_add_uint("sccp.ssn", global_ranap_sccp_ssn, ranap_handle);
- local_ranap_sccp_ssn = global_ranap_sccp_ssn;
}
/*
diff --git a/epan/dissectors/packet-s5066dts.c b/epan/dissectors/packet-s5066dts.c
index a2f8037ba8..81c3170f3c 100644
--- a/epan/dissectors/packet-s5066dts.c
+++ b/epan/dissectors/packet-s5066dts.c
@@ -70,7 +70,7 @@ static expert_field ei_s5066dts_eow_hftrp_invalid = EI_INIT;
/* TCP port that will be listened by the application that peer
* dts layers will be connected through
*/
-static guint config_s5066dts_port = 0;
+static range_t *config_s5066dts_ports = NULL;
static gint hf_s5066dts_sync_word = -1;
static gint hf_s5066dts_dpdu_type = -1;
@@ -927,7 +927,7 @@ static int dissect_s5066dts_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
}
/* Drop packets with port matches other than the destination port. */
- if ( pinfo->destport != config_s5066dts_port) {
+ if (!value_is_in_range(config_s5066dts_ports, pinfo->destport)) {
/* Configured to dissect TCP destination port matches only, dropping.. */
return 0;
}
@@ -942,7 +942,7 @@ static void
apply_s5066dts_prefs(void)
{
/* STANAG 5066 uses the port preference for some heuristics */
- config_s5066dts_port = prefs_get_uint_value("s5066dts", "tcp.port");;
+ config_s5066dts_ports = prefs_get_range_value("s5066dts", "tcp.port");;
}
void proto_register_s5066dts (void)
diff --git a/epan/dissectors/packet-sip.c b/epan/dissectors/packet-sip.c
index bf1cda8e0f..baa5df63c2 100644
--- a/epan/dissectors/packet-sip.c
+++ b/epan/dissectors/packet-sip.c
@@ -7785,6 +7785,14 @@ proto_reg_handoff_sip(void)
heur_dissector_add("tcp", dissect_sip_tcp_heur, "SIP over TCP", "sip_tcp", proto_sip, HEURISTIC_ENABLE);
heur_dissector_add("sctp", dissect_sip_heur, "SIP over SCTP", "sip_sctp", proto_sip, HEURISTIC_ENABLE);
heur_dissector_add("stun", dissect_sip_heur, "SIP over TURN", "sip_stun", proto_sip, HEURISTIC_ENABLE);
+
+ dissector_add_uint("acdr.tls_application_port", 5061, sip_handle);
+ dissector_add_uint("acdr.tls_application", TLS_APP_SIP, sip_handle);
+ dissector_add_string("protobuf_field", "adc.sip.ResponsePDU.body", sip_handle);
+ dissector_add_string("protobuf_field", "adc.sip.RequestPDU.body", sip_handle);
+
+ exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
+
sip_prefs_initialized = TRUE;
} else {
ssl_dissector_delete(saved_sip_tls_port, sip_tcp_handle);
@@ -7793,12 +7801,6 @@ proto_reg_handoff_sip(void)
ssl_dissector_add(sip_tls_port, sip_tcp_handle);
saved_sip_tls_port = sip_tls_port;
- dissector_add_uint("acdr.tls_application_port", 5061, sip_handle);
- dissector_add_uint("acdr.tls_application", TLS_APP_SIP, sip_handle);
- dissector_add_string("protobuf_field", "adc.sip.ResponsePDU.body", sip_handle);
- dissector_add_string("protobuf_field", "adc.sip.RequestPDU.body", sip_handle);
-
- exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
}
/*
diff --git a/epan/dissectors/packet-solaredge.c b/epan/dissectors/packet-solaredge.c
index 852677dc38..e1ada67140 100644
--- a/epan/dissectors/packet-solaredge.c
+++ b/epan/dissectors/packet-solaredge.c
@@ -1358,7 +1358,7 @@ dissect_solaredge(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree _U_, void
void
proto_reg_handoff_solaredge(void)
{
- static dissector_handle_t solaredge_handle;
+ dissector_handle_t solaredge_handle;
solaredge_handle = create_dissector_handle(dissect_solaredge, proto_solaredge);
dissector_add_for_decode_as("tcp.port", solaredge_handle);
}
@@ -1660,7 +1660,7 @@ proto_register_solaredge(void)
"solaredge"
);
- module_t * module_solaredge = prefs_register_protocol(proto_solaredge, proto_reg_handoff_solaredge);
+ module_t * module_solaredge = prefs_register_protocol(proto_solaredge, NULL);
prefs_register_bool_preference(module_solaredge, "unknown", "Show unknown fields", "Show unidentified fields (\"padding\") in packet dissections", &global_show_unknown_fields);
prefs_register_string_preference(module_solaredge, "system_encryption_key", "System encryption key", "Inverter system encryption key", &global_system_encryption_key);
diff --git a/epan/dissectors/packet-someip.c b/epan/dissectors/packet-someip.c
index 2e131e86f9..aa8e7fc20c 100644
--- a/epan/dissectors/packet-someip.c
+++ b/epan/dissectors/packet-someip.c
@@ -234,9 +234,6 @@ static const fragment_items someip_tp_frag_items = {
static reassembly_table someip_tp_reassembly_table;
-static range_t *someip_ports_udp = NULL;
-static range_t *someip_ports_tcp = NULL;
-
static gboolean someip_tp_reassemble = TRUE;
static gboolean someip_deserializer_activated = TRUE;
static gboolean someip_deserializer_wtlv_default = FALSE;
@@ -4074,16 +4071,6 @@ proto_register_someip(void) {
/* Register preferences */
someip_module = prefs_register_protocol(proto_someip, &proto_reg_handoff_someip);
- range_convert_str(wmem_epan_scope(), &someip_ports_udp, "", 65535);
- prefs_register_range_preference(someip_module, "ports.udp", "UDP Ports",
- "SOME/IP Port Ranges UDP.",
- &someip_ports_udp, 65535);
-
- range_convert_str(wmem_epan_scope(), &someip_ports_tcp, "", 65535);
- prefs_register_range_preference(someip_module, "ports.tcp", "TCP Ports",
- "SOME/IP Port Ranges TCP.",
- &someip_ports_tcp, 65535);
-
/* UATs */
someip_service_uat = uat_new("SOME/IP Services",
sizeof(generic_one_id_string_t), /* record size */
@@ -4396,16 +4383,13 @@ proto_reg_handoff_someip(void) {
stats_tree_register("someip_messages", "someip_messages", "SOME/IP Messages", 0, someip_messages_stats_tree_packet, someip_messages_stats_tree_init, NULL);
+ dissector_add_uint_range_with_preference("udp.port", "", someip_handle_udp);
+ dissector_add_uint_range_with_preference("tcp.port", "", someip_handle_tcp);
+
initialized = TRUE;
} else {
- /* delete all my ports even the dynamically registered ones */
- dissector_delete_all("udp.port", someip_handle_udp);
- dissector_delete_all("tcp.port", someip_handle_tcp);
-
clean_all_hashtables_with_empty_uat();
}
- dissector_add_uint_range("udp.port", someip_ports_udp, someip_handle_udp);
- dissector_add_uint_range("tcp.port", someip_ports_tcp, someip_handle_tcp);
update_dynamic_hf_entries_someip_parameter_list();
update_dynamic_hf_entries_someip_parameter_arrays();
diff --git a/epan/dissectors/packet-sscop.c b/epan/dissectors/packet-sscop.c
index 6401bf170a..61d461a053 100644
--- a/epan/dissectors/packet-sscop.c
+++ b/epan/dissectors/packet-sscop.c
@@ -375,11 +375,11 @@ proto_reg_handoff_sscop(void)
if (!prefs_initialized) {
initialize_handles_once();
dissector_add_uint_range_with_preference("udp.port", "", sscop_handle);
+ dissector_add_uint("atm.aal5.type", TRAF_SSCOP, sscop_handle);
+
prefs_initialized = TRUE;
}
- dissector_add_uint("atm.aal5.type", TRAF_SSCOP, sscop_handle);
-
switch(sscop_payload_dissector) {
case DATA_DISSECTOR: default_handle = data_handle; break;
case Q2931_DISSECTOR: default_handle = q2931_handle; break;
diff --git a/epan/dissectors/packet-ssyncp.c b/epan/dissectors/packet-ssyncp.c
index dbd0100520..310193a961 100644
--- a/epan/dissectors/packet-ssyncp.c
+++ b/epan/dissectors/packet-ssyncp.c
@@ -426,12 +426,13 @@ proto_reg_handoff_ssyncp(void)
if (!initialized) {
ssyncp_handle = create_dissector_handle(dissect_ssyncp, proto_ssyncp);
dissector_add_uint("udp.port", SSYNCP_UDP_PORT, ssyncp_handle);
- initialized = TRUE;
- }
- dissector_protobuf = find_dissector("protobuf");
- if (dissector_protobuf == NULL) {
- report_failure("unable to find protobuf dissector");
+ dissector_protobuf = find_dissector("protobuf");
+ if (dissector_protobuf == NULL) {
+ report_failure("unable to find protobuf dissector");
+ }
+
+ initialized = TRUE;
}
have_ssyncp_key = FALSE;
diff --git a/epan/dissectors/packet-tdmoe.c b/epan/dissectors/packet-tdmoe.c
index b6baa6eb13..82b99886fe 100644
--- a/epan/dissectors/packet-tdmoe.c
+++ b/epan/dissectors/packet-tdmoe.c
@@ -151,7 +151,7 @@ proto_register_tdmoe(void)
proto_tdmoe = proto_register_protocol("Digium TDMoE Protocol", "TDMoE", "tdmoe");
proto_register_field_array(proto_tdmoe, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- tdmoe_module = prefs_register_protocol(proto_tdmoe, proto_reg_handoff_tdmoe);
+ tdmoe_module = prefs_register_protocol(proto_tdmoe, NULL);
prefs_register_uint_preference(tdmoe_module, "d_channel",
"TDMoE D-Channel",
"The TDMoE channel that contains the D-Channel.",
diff --git a/epan/dissectors/packet-thread.c b/epan/dissectors/packet-thread.c
index 491230faab..808ab838ac 100644
--- a/epan/dissectors/packet-thread.c
+++ b/epan/dissectors/packet-thread.c
@@ -3365,7 +3365,7 @@ proto_register_thread(void)
proto_thread = proto_register_protocol("Thread", "Thread", "thread");
- thread_module = prefs_register_protocol(proto_thread, proto_reg_handoff_thread);
+ thread_module = prefs_register_protocol(proto_thread, NULL);
prefs_register_obsolete_preference(thread_module, "thr_coap_decode");
prefs_register_string_preference(thread_module, "thr_seq_ctr",
"Thread sequence counter",
diff --git a/epan/dissectors/packet-tibia.c b/epan/dissectors/packet-tibia.c
index e44813740a..f021ffc7d2 100644
--- a/epan/dissectors/packet-tibia.c
+++ b/epan/dissectors/packet-tibia.c
@@ -2607,7 +2607,7 @@ proto_register_tibia(void)
expert_module_t *expert_tibia = expert_register_protocol(proto_tibia);
expert_register_field_array (expert_tibia, ei, array_length (ei));
- module_t *tibia_module = prefs_register_protocol(proto_tibia, proto_reg_handoff_tibia);
+ module_t *tibia_module = prefs_register_protocol(proto_tibia, NULL);
prefs_register_bool_preference(tibia_module, "try_otserv_key", "Try OTServ's RSA key",
"Try the default RSA key in use by nearly all Open Tibia servers", &try_otserv_key);
diff --git a/epan/dissectors/packet-tpkt.c b/epan/dissectors/packet-tpkt.c
index 8dc0cb09a1..41635cb5ac 100644
--- a/epan/dissectors/packet-tpkt.c
+++ b/epan/dissectors/packet-tpkt.c
@@ -55,7 +55,6 @@ static dissector_handle_t osi_tp_handle;
static dissector_handle_t tpkt_handle;
#define DEFAULT_TPKT_PORT_RANGE "102"
-static range_t *tpkt_tcp_port_range;
/*
* Check whether this could be a TPKT-encapsulated PDU.
@@ -675,20 +674,13 @@ proto_register_tpkt(void)
proto_register_subtree_array(ett, array_length(ett));
tpkt_handle = register_dissector("tpkt", dissect_tpkt, proto_tpkt);
- tpkt_module = prefs_register_protocol(proto_tpkt, proto_reg_handoff_tpkt);
+ tpkt_module = prefs_register_protocol(proto_tpkt, NULL);
prefs_register_bool_preference(tpkt_module, "desegment",
"Reassemble TPKT messages spanning multiple TCP segments",
"Whether the TPKT dissector should reassemble messages spanning multiple TCP segments. "
"To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
&tpkt_desegment);
- range_convert_str(wmem_epan_scope(), &tpkt_tcp_port_range, DEFAULT_TPKT_PORT_RANGE, MAX_TCP_PORT);
-
- prefs_register_range_preference(tpkt_module, "tcp.ports", "TPKT TCP ports",
- "TCP ports to be decoded as TPKT (default: "
- DEFAULT_TPKT_PORT_RANGE ")",
- &tpkt_tcp_port_range, MAX_TCP_PORT);
-
/* heuristic dissectors for premable CredSSP before RDP and Fast-Path RDP packets */
tpkt_heur_subdissector_list = register_heur_dissector_list("tpkt", proto_tpkt);
@@ -698,17 +690,9 @@ proto_register_tpkt(void)
void
proto_reg_handoff_tpkt(void)
{
- static range_t *port_range = NULL;
-
osi_tp_handle = find_dissector("ositp");
dissector_add_uint_range_with_preference("tcp.port", TCP_PORT_TPKT_RANGE, tpkt_handle);
- dissector_delete_uint_range("tcp.port", port_range, tpkt_handle);
- wmem_free(wmem_epan_scope(), port_range);
-
- port_range = range_copy(wmem_epan_scope(), tpkt_tcp_port_range);
- dissector_add_uint_range("tcp.port", port_range, tpkt_handle);
-
/* ssl_dissector_add registers TLS as the dissector for TCP for the
* given port. We can't use it, since on port 3389 TPKT (for RDP) can be
* over TLS or directly over TCP, depending on the RDP security settings.
diff --git a/epan/dissectors/packet-uasip.c b/epan/dissectors/packet-uasip.c
index d8f21ae886..611c953ae0 100644
--- a/epan/dissectors/packet-uasip.c
+++ b/epan/dissectors/packet-uasip.c
@@ -536,15 +536,16 @@ void proto_reg_handoff_uasip(void)
{
ua_sys_to_term_handle = find_dissector_add_dependency("ua_sys_to_term", proto_uasip);
ua_term_to_sys_handle = find_dissector_add_dependency("ua_term_to_sys", proto_uasip);
+
+ /* Enable decoding "Internet media type" as UASIP */
+ dissector_add_for_decode_as("media_type", uasip_handle);
+
prefs_initialized = TRUE;
}
use_proxy_ipaddr = FALSE;
memset(proxy_ipaddr, 0, sizeof(proxy_ipaddr));
- /* Enable decoding "Internet media type" as UASIP */
- dissector_add_for_decode_as("media_type", uasip_handle);
-
if (strcmp(pref_proxy_ipaddr_s, "") != 0) {
if (str_to_ip(pref_proxy_ipaddr_s, proxy_ipaddr)) {
use_proxy_ipaddr = TRUE;
diff --git a/epan/dissectors/packet-woww.c b/epan/dissectors/packet-woww.c
index 786ab0b2d4..55e6e5bbf4 100644
--- a/epan/dissectors/packet-woww.c
+++ b/epan/dissectors/packet-woww.c
@@ -5265,8 +5265,7 @@ proto_register_woww(void)
proto_register_field_array(proto_woww, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- prefs_register_protocol(proto_woww,
- NULL);
+ prefs_register_protocol(proto_woww, NULL);
}
diff --git a/epan/prefs.c b/epan/prefs.c
index 9f502877a3..905902e43e 100644
--- a/epan/prefs.c
+++ b/epan/prefs.c
@@ -5254,6 +5254,8 @@ deprecated_port_pref(gchar *pref_name, const gchar *value)
{"rua.port", "rua", "sctp.port", 10},
/* SCTP PPI */
{"lapd.sctp_payload_protocol_identifier", "lapd", "sctp.ppi", 10},
+ /* SCCP SSN */
+ {"ranap.sccp_ssn", "ranap", "sccp.ssn", 10},
};
struct port_pref_name port_range_prefs[] = {
@@ -5267,7 +5269,9 @@ deprecated_port_pref(gchar *pref_name, const gchar *value)
{"pdu_transport.ports.tcp", "pdu_transport", "tcp.port", 10},
{"rtsp.tcp.port_range", "rtsp", "tcp.port", 10},
{"sip.tcp.ports", "sip", "tcp.port", 10},
+ {"someip.ports.tcp", "someip", "tcp.port", 10},
{"tds.tcp_ports", "tds", "tcp.port", 10},
+ {"tpkt.tcp.ports", "tpkt", "tcp.port", 10},
{"uma.tcp.ports", "uma", "tcp.port", 10},
/* UDP */
{"aruba_erm.udp.ports", "arubs_erm", "udp.port", 10},
@@ -5283,6 +5287,7 @@ deprecated_port_pref(gchar *pref_name, const gchar *value)
{"pdu_transport.ports.udp", "pdu_transport", "udp.port", 10},
{"radius.ports", "radius", "udp.port", 10},
{"sflow.ports", "sflow", "udp.port", 10},
+ {"someip.ports.udp", "someip", "udp.port", 10},
{"sscop.udp.ports", "sscop", "udp.port", 10},
{"tftp.udp_ports", "tftp", "udp.port", 10},
{"tipc.udp.ports", "tipc", "udp.port", 10},
@@ -5308,6 +5313,8 @@ deprecated_port_pref(gchar *pref_name, const gchar *value)
/* SCTP */
{"diameter.sctp.ports", "diameter", "sctp.port", 10},
{"sgsap.sctp_ports", "sgsap", "sctp.port", 10},
+ /* SCCP SSN */
+ {"pcap.ssn", "pcap", "sccp.ssn", 10},
};
/* These are subdissectors of TPKT/OSITP that used to have a