diff options
author | Michael Mann <mmann78@netscape.net> | 2016-06-30 20:41:45 -0400 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2016-07-01 14:26:20 +0000 |
commit | a062c802364fd83d43f934560149f2ddd1fee6a3 (patch) | |
tree | e5c9240b24a5b86c12b4a9481a2bd93e18b828f5 /epan | |
parent | d4add25cb77773d9564dfc8f340ab5ce491a7d20 (diff) |
ASN.1 dissectors - don't try to find yourself.
If an ASN.1 dissector is calling register_dissector for itself in its proto_register_xxx
function and then calling find_dissector for itself in its proto_reg_handoff_xxx
function then just create a static handle for that dissector and use the return
value of register_dissector, so the find isn't necessary.
Change-Id: I911bdadc2fb4259601c141b955e741a2369cc447
Reviewed-on: https://code.wireshark.org/review/16233
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan')
68 files changed, 280 insertions, 348 deletions
diff --git a/epan/dissectors/asn1/acse/packet-acse-template.c b/epan/dissectors/asn1/acse/packet-acse-template.c index b438d24eac..f783b87061 100644 --- a/epan/dissectors/asn1/acse/packet-acse-template.c +++ b/epan/dissectors/asn1/acse/packet-acse-template.c @@ -75,6 +75,8 @@ static expert_field ei_acse_dissector_not_available = EI_INIT; static expert_field ei_acse_malformed = EI_INIT; static expert_field ei_acse_invalid_oid = EI_INIT; +static dissector_handle_t acse_handle = NULL; + /* indirect_reference, used to pick up the signalling so we know what kind of data is transferred in SES_DATA_TRANSFER_PDUs */ static guint32 indir_ref=0; @@ -281,7 +283,7 @@ void proto_register_acse(void) { /* Register protocol */ proto_acse = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("acse", dissect_acse, proto_acse); + acse_handle = register_dissector("acse", dissect_acse, proto_acse); /* Register connectionless protocol */ proto_clacse = proto_register_protocol(CLPNAME, CLPSNAME, CLPFNAME); @@ -298,8 +300,6 @@ void proto_register_acse(void) { /*--- proto_reg_handoff_acse -------------------------------------------*/ void proto_reg_handoff_acse(void) { /*#include "packet-acse-dis-tab.c"*/ - dissector_handle_t acse_handle = find_dissector("acse"); - oid_add_from_string("id-aCSE","2.2.3.1.1"); register_ber_oid_dissector_handle(ACSE_APDU_OID, acse_handle, proto_acse, "id-as-acse"); diff --git a/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c index 9249203dd9..8694cce54c 100644 --- a/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c +++ b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c @@ -4563,7 +4563,6 @@ proto_reg_handoff_ansi_map(void) if(!ansi_map_prefs_initialized) { ansi_map_prefs_initialized = TRUE; - ansi_map_handle = find_dissector("ansi_map"); } else { @@ -5469,7 +5468,7 @@ void proto_register_ansi_map(void) { expert_ansi_map = expert_register_protocol(proto_ansi_map); expert_register_field_array(expert_ansi_map, ei, array_length(ei)); - register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map); + ansi_map_handle = register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map); is637_tele_id_dissector_table = register_dissector_table("ansi_map.tele_id", "IS-637 Teleservice ID", proto_ansi_map, diff --git a/epan/dissectors/asn1/camel/packet-camel-template.c b/epan/dissectors/asn1/camel/packet-camel-template.c index 9c4e4cd3e0..6f11179cfc 100644 --- a/epan/dissectors/asn1/camel/packet-camel-template.c +++ b/epan/dissectors/asn1/camel/packet-camel-template.c @@ -1311,10 +1311,6 @@ void proto_reg_handoff_camel(void) { if (!camel_prefs_initialized) { camel_prefs_initialized = TRUE; - camel_handle = find_dissector("camel"); - camel_v1_handle = find_dissector("camel-v1"); - camel_v2_handle = find_dissector("camel-v2"); - register_ber_oid_dissector_handle("0.4.0.0.1.0.50.0",camel_v1_handle, proto_camel, "CAP-v1-gsmSSF-to-gsmSCF-AC" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.50.1",camel_v2_handle, proto_camel, "CAP-v2-gsmSSF-to-gsmSCF-AC" ); @@ -1551,9 +1547,9 @@ void proto_register_camel(void) { /* Register protocol */ proto_camel = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("camel", dissect_camel, proto_camel); - register_dissector("camel-v1", dissect_camel_v1, proto_camel); - register_dissector("camel-v2", dissect_camel_v2, proto_camel); + camel_handle = register_dissector("camel", dissect_camel, proto_camel); + camel_v1_handle = register_dissector("camel-v1", dissect_camel_v1, proto_camel); + camel_v2_handle = register_dissector("camel-v2", dissect_camel_v2, proto_camel); proto_register_field_array(proto_camel, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); diff --git a/epan/dissectors/asn1/cmip/packet-cmip-template.c b/epan/dissectors/asn1/cmip/packet-cmip-template.c index dbe11fa9ac..f93cc7ba34 100644 --- a/epan/dissectors/asn1/cmip/packet-cmip-template.c +++ b/epan/dissectors/asn1/cmip/packet-cmip-template.c @@ -64,6 +64,8 @@ static expert_field ei_wrong_spdu_type = EI_INIT; static guint32 opcode; +static dissector_handle_t cmip_handle = NULL; + /* Dissector table */ static dissector_table_t attribute_id_dissector_table; @@ -187,7 +189,7 @@ void proto_register_cmip(void) { /* Register protocol */ proto_cmip = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("cmip", dissect_cmip, proto_cmip); + cmip_handle = register_dissector("cmip", dissect_cmip, proto_cmip); /* Register fields and subtrees */ proto_register_field_array(proto_cmip, hf, array_length(hf)); @@ -205,8 +207,6 @@ void proto_register_cmip(void) { /*--- proto_reg_handoff_cmip -------------------------------------------*/ void proto_reg_handoff_cmip(void) { - dissector_handle_t cmip_handle = find_dissector("cmip"); - register_ber_oid_dissector_handle("2.9.0.0.2", cmip_handle, proto_cmip, "cmip"); register_ber_oid_dissector_handle("2.9.1.1.4", cmip_handle, proto_cmip, "joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)"); diff --git a/epan/dissectors/asn1/disp/packet-disp-template.c b/epan/dissectors/asn1/disp/packet-disp-template.c index 1250d38e89..877db29565 100644 --- a/epan/dissectors/asn1/disp/packet-disp-template.c +++ b/epan/dissectors/asn1/disp/packet-disp-template.c @@ -73,6 +73,8 @@ static expert_field ei_disp_unsupported_errcode = EI_INIT; static expert_field ei_disp_unsupported_pdu = EI_INIT; static expert_field ei_disp_zero_pdu = EI_INIT; +static dissector_handle_t disp_handle = NULL; + #include "packet-disp-fn.c" /* @@ -219,7 +221,7 @@ void proto_register_disp(void) { /* Register protocol */ proto_disp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("disp", dissect_disp, proto_disp); + disp_handle = register_dissector("disp", dissect_disp, proto_disp); /* Register fields and subtrees */ proto_register_field_array(proto_disp, hf, array_length(hf)); @@ -241,8 +243,6 @@ void proto_register_disp(void) { /*--- proto_reg_handoff_disp --- */ void proto_reg_handoff_disp(void) { - dissector_handle_t disp_handle; - #include "packet-disp-dis-tab.c" /* APPLICATION CONTEXT */ @@ -253,9 +253,6 @@ void proto_reg_handoff_disp(void) { oid_add_from_string("id-ac-reliable-shadow-supplier-initiated","2.5.3.7"); /* ABSTRACT SYNTAXES */ - - disp_handle = find_dissector("disp"); - register_ros_oid_dissector_handle("2.5.9.3", disp_handle, 0, "id-as-directory-shadow", FALSE); register_rtse_oid_dissector_handle("2.5.9.5", disp_handle, 0, "id-as-directory-reliable-shadow", FALSE); register_rtse_oid_dissector_handle("2.5.9.6", disp_handle, 0, "id-as-directory-reliable-binding", FALSE); diff --git a/epan/dissectors/asn1/dsp/packet-dsp-template.c b/epan/dissectors/asn1/dsp/packet-dsp-template.c index c39870676d..5ab2e745ed 100644 --- a/epan/dissectors/asn1/dsp/packet-dsp-template.c +++ b/epan/dissectors/asn1/dsp/packet-dsp-template.c @@ -69,6 +69,8 @@ static expert_field ei_dsp_zero_pdu = EI_INIT; #include "packet-dsp-fn.c" +static dissector_handle_t dsp_handle; + /* * Dissect X518 PDUs inside a ROS PDUs */ @@ -291,7 +293,7 @@ void proto_register_dsp(void) { /* Register protocol */ proto_dsp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("dsp", dissect_dsp, proto_dsp); + dsp_handle = register_dissector("dsp", dissect_dsp, proto_dsp); /* Register fields and subtrees */ proto_register_field_array(proto_dsp, hf, array_length(hf)); @@ -314,8 +316,6 @@ void proto_register_dsp(void) { /*--- proto_reg_handoff_dsp --- */ void proto_reg_handoff_dsp(void) { - dissector_handle_t dsp_handle; - #include "packet-dsp-dis-tab.c" /* APPLICATION CONTEXT */ @@ -328,7 +328,6 @@ void proto_reg_handoff_dsp(void) { tpkt_handle = find_dissector("tpkt"); /* Register DSP with ROS (with no use of RTSE) */ - dsp_handle = find_dissector("dsp"); register_ros_oid_dissector_handle("2.5.9.2", dsp_handle, 0, "id-as-directory-system", FALSE); } diff --git a/epan/dissectors/asn1/goose/packet-goose-template.c b/epan/dissectors/asn1/goose/packet-goose-template.c index b396a6f617..8671f44c08 100644 --- a/epan/dissectors/asn1/goose/packet-goose-template.c +++ b/epan/dissectors/asn1/goose/packet-goose-template.c @@ -57,6 +57,8 @@ static int ett_goose = -1; #include "packet-goose-fn.c" +static dissector_handle_t goose_handle = NULL; + /* * Dissect GOOSE PDUs inside a PPDU. */ @@ -141,7 +143,7 @@ void proto_register_goose(void) { /* Register protocol */ proto_goose = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("goose", dissect_goose, proto_goose); + goose_handle = register_dissector("goose", dissect_goose, proto_goose); /* Register fields and subtrees */ proto_register_field_array(proto_goose, hf, array_length(hf)); @@ -153,8 +155,5 @@ void proto_register_goose(void) { /*--- proto_reg_handoff_goose --- */ void proto_reg_handoff_goose(void) { - dissector_handle_t goose_handle; - goose_handle = find_dissector("goose"); - dissector_add_uint("ethertype", ETHERTYPE_IEC61850_GOOSE, goose_handle); } diff --git a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c index e36db21b2e..ff2a9a708e 100644 --- a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c +++ b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c @@ -2636,7 +2636,6 @@ void proto_reg_handoff_gsm_map(void) { gsm_sms_handle = find_dissector_add_dependency("gsm_sms", proto_gsm_map); bssap_handle = find_dissector_add_dependency("gsm_a_bssmap", proto_gsm_map); - map_handle = find_dissector("gsm_map"); oid_add_from_string("itu(0) administration(2) japan(440)","0.2.440" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map,"networkLocUpContext-v3"); register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"networkLocUpContext-v2" ); @@ -3127,7 +3126,7 @@ void proto_register_gsm_map(void) { /* Register protocol */ proto_gsm_map_ms = proto_gsm_map_dialogue = proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map); + map_handle = register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map); register_dissector("gsm_map_sccp", dissect_gsm_map_sccp, proto_gsm_map); /* Register fields and subtrees */ diff --git a/epan/dissectors/asn1/h225/packet-h225-template.c b/epan/dissectors/asn1/h225/packet-h225-template.c index 35924cbc59..dd12c6f2b7 100644 --- a/epan/dissectors/asn1/h225/packet-h225-template.c +++ b/epan/dissectors/asn1/h225/packet-h225-template.c @@ -94,6 +94,8 @@ static h225ras_call_t * find_h225ras_call(h225ras_call_info_key *h225ras_call_ke static h225ras_call_t * new_h225ras_call(h225ras_call_info_key *h225ras_call_key, packet_info *pinfo, e_guid_t *guid, int category); static h225ras_call_t * append_h225ras_call(h225ras_call_t *prev_call, packet_info *pinfo, e_guid_t *guid, int category); + +static dissector_handle_t h225ras_handle; static dissector_handle_t data_handle; /* Subdissector tables */ static dissector_table_t nsp_object_dissector_table; @@ -900,7 +902,7 @@ void proto_register_h225(void) { register_dissector(PFNAME, dissect_h225_H323UserInformation, proto_h225); register_dissector("h323ui",dissect_h225_H323UserInformation, proto_h225); - register_dissector("h225.ras", dissect_h225_h225_RasMessage, proto_h225); + h225ras_handle = register_dissector("h225.ras", dissect_h225_h225_RasMessage, proto_h225); nsp_object_dissector_table = register_dissector_table("h225.nsp.object", "H.225 NonStandardParameter (object)", proto_h225, FT_STRING, BASE_NONE, DISSECTOR_TABLE_ALLOW_DUPLICATE); nsp_h221_dissector_table = register_dissector_table("h225.nsp.h221", "H.225 NonStandardParameter (h221)", proto_h225, FT_UINT32, BASE_HEX, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -930,11 +932,10 @@ void proto_reg_handoff_h225(void) { static gboolean h225_prefs_initialized = FALSE; - static dissector_handle_t h225ras_handle, q931_tpkt_handle; + static dissector_handle_t q931_tpkt_handle; static guint saved_h225_tls_port; if (!h225_prefs_initialized) { - h225ras_handle=find_dissector("h225.ras"); dissector_add_uint("udp.port", UDP_PORT_RAS1, h225ras_handle); dissector_add_uint("udp.port", UDP_PORT_RAS2, h225ras_handle); diff --git a/epan/dissectors/asn1/h245/packet-h245-template.c b/epan/dissectors/asn1/h245/packet-h245-template.c index 426625fbea..ab42a0c988 100644 --- a/epan/dissectors/asn1/h245/packet-h245-template.c +++ b/epan/dissectors/asn1/h245/packet-h245-template.c @@ -62,6 +62,7 @@ static dissector_table_t nsp_object_dissector_table; static dissector_table_t nsp_h221_dissector_table; static dissector_table_t gef_name_dissector_table; static dissector_table_t gef_content_dissector_table; +static dissector_handle_t h245_handle; static dissector_handle_t nsp_handle; static dissector_handle_t data_handle; static dissector_handle_t MultimediaSystemControlMessage_handle; @@ -538,8 +539,8 @@ void proto_register_h245(void) { "Show h245 info in reversed order", "Whether the dissector should print items of h245 Info column in reversed order", &info_col_fmt_prepend); - register_dissector("h245dg", dissect_h245_h245, proto_h245); - register_dissector("h245", dissect_h245, proto_h245); + MultimediaSystemControlMessage_handle = register_dissector("h245dg", dissect_h245_h245, proto_h245); + h245_handle = register_dissector("h245", dissect_h245, proto_h245); nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", proto_h245, FT_STRING, BASE_NONE, DISSECTOR_TABLE_ALLOW_DUPLICATE); nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", proto_h245, FT_UINT32, BASE_HEX, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -603,17 +604,13 @@ void proto_register_h245(void) { /*--- proto_reg_handoff_h245 ---------------------------------------*/ void proto_reg_handoff_h245(void) { - dissector_handle_t h245_handle; - rtcp_handle = find_dissector("rtcp"); data_handle = find_dissector("data"); h263_handle = find_dissector("h263data"); amr_handle = find_dissector("amr_if2_nb"); - h245_handle = find_dissector("h245"); dissector_add_for_decode_as("tcp.port", h245_handle); - MultimediaSystemControlMessage_handle = find_dissector("h245dg"); dissector_add_for_decode_as("udp.port", MultimediaSystemControlMessage_handle); } diff --git a/epan/dissectors/asn1/h248/packet-h248-template.c b/epan/dissectors/asn1/h248/packet-h248-template.c index 67c32b22ae..6b9adc7589 100644 --- a/epan/dissectors/asn1/h248/packet-h248-template.c +++ b/epan/dissectors/asn1/h248/packet-h248-template.c @@ -2364,8 +2364,8 @@ void proto_register_h248(void) { /* Register protocol */ proto_h248 = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("h248", dissect_h248, proto_h248); - register_dissector("h248.tpkt", dissect_h248_tpkt, proto_h248); + h248_handle = register_dissector("h248", dissect_h248, proto_h248); + h248_tpkt_handle = register_dissector("h248.tpkt", dissect_h248_tpkt, proto_h248); /* Register fields and subtrees */ proto_register_field_array(proto_h248, hf, array_length(hf)); @@ -2411,8 +2411,6 @@ void proto_reg_handoff_h248(void) { static guint32 tcp_port; if (!initialized) { - h248_handle = find_dissector("h248"); - h248_tpkt_handle = find_dissector("h248.tpkt"); dissector_add_uint("mtp3.service_indicator", MTP_SI_GCP, h248_handle); h248_term_handle = find_dissector_add_dependency("h248term", proto_h248); initialized = TRUE; diff --git a/epan/dissectors/asn1/h283/packet-h283-template.c b/epan/dissectors/asn1/h283/packet-h283-template.c index 34d9d0e6fe..14f2818ab2 100644 --- a/epan/dissectors/asn1/h283/packet-h283-template.c +++ b/epan/dissectors/asn1/h283/packet-h283-template.c @@ -48,6 +48,8 @@ static int ett_h283 = -1; static dissector_handle_t rdc_pdu_handle; static dissector_handle_t rdc_device_list_handle; static dissector_handle_t data_handle; +static dissector_handle_t h283_udp_handle; + static gboolean info_is_set; @@ -90,16 +92,13 @@ void proto_register_h283(void) { proto_register_field_array(proto_h283, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector(PFNAME, dissect_h283_udp, proto_h283); + h283_udp_handle = register_dissector(PFNAME, dissect_h283_udp, proto_h283); } /*--- proto_reg_handoff_h283 -------------------------------------------*/ void proto_reg_handoff_h283(void) { - dissector_handle_t h283_udp_handle; - - h283_udp_handle = find_dissector(PFNAME); dissector_add_for_decode_as("udp.port", h283_udp_handle); rdc_pdu_handle = find_dissector_add_dependency("rdc", proto_h283); diff --git a/epan/dissectors/asn1/h501/packet-h501-template.c b/epan/dissectors/asn1/h501/packet-h501-template.c index f4ee5e2c50..a995701c96 100644 --- a/epan/dissectors/asn1/h501/packet-h501-template.c +++ b/epan/dissectors/asn1/h501/packet-h501-template.c @@ -109,7 +109,7 @@ void proto_register_h501(void) { proto_register_field_array(proto_h501, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector(PFNAME, dissect_h501_pdu, proto_h501); + h501_pdu_handle = register_dissector(PFNAME, dissect_h501_pdu, proto_h501); h501_module = prefs_register_protocol(proto_h501, proto_reg_handoff_h501); prefs_register_uint_preference(h501_module, "udp.port", @@ -137,7 +137,6 @@ void proto_reg_handoff_h501(void) static guint saved_h501_tcp_port; if (!h501_prefs_initialized) { - h501_pdu_handle = find_dissector(PFNAME); h501_udp_handle = create_dissector_handle(dissect_h501_udp, proto_h501); h501_tcp_handle = create_dissector_handle(dissect_h501_tcp, proto_h501); h501_prefs_initialized = TRUE; diff --git a/epan/dissectors/asn1/hnbap/packet-hnbap-template.c b/epan/dissectors/asn1/hnbap/packet-hnbap-template.c index 70458d9a87..acac87f20a 100644 --- a/epan/dissectors/asn1/hnbap/packet-hnbap-template.c +++ b/epan/dissectors/asn1/hnbap/packet-hnbap-template.c @@ -69,6 +69,8 @@ static dissector_table_t hnbap_proc_imsg_dissector_table; static dissector_table_t hnbap_proc_sout_dissector_table; static dissector_table_t hnbap_proc_uout_dissector_table; +static dissector_handle_t hnbap_handle; + static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); @@ -163,7 +165,7 @@ module_t *hnbap_module; proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("hnbap", dissect_hnbap, proto_hnbap); + hnbap_handle = register_dissector("hnbap", dissect_hnbap, proto_hnbap); /* Register dissector tables */ hnbap_ies_dissector_table = register_dissector_table("hnbap.ies", "HNBAP-PROTOCOL-IES", proto_hnbap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -182,11 +184,9 @@ void proto_reg_handoff_hnbap(void) { static gboolean initialized = FALSE; - static dissector_handle_t hnbap_handle; static guint sctp_port; if (!initialized) { - hnbap_handle = find_dissector("hnbap"); dissector_add_uint("sctp.ppi", HNBAP_PAYLOAD_PROTOCOL_ID, hnbap_handle); initialized = TRUE; #include "packet-hnbap-dis-tab.c" diff --git a/epan/dissectors/asn1/idmp/packet-idmp-template.c b/epan/dissectors/asn1/idmp/packet-idmp-template.c index 3dc87e0e07..c54a9e7294 100644 --- a/epan/dissectors/asn1/idmp/packet-idmp-template.c +++ b/epan/dissectors/asn1/idmp/packet-idmp-template.c @@ -336,7 +336,7 @@ void proto_register_idmp(void) proto_register_field_array(proto_idmp, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("idmp", dissect_idmp_tcp, proto_idmp); + idmp_handle = register_dissector("idmp", dissect_idmp_tcp, proto_idmp); register_init_routine (&idmp_reassemble_init); register_cleanup_routine (&idmp_reassemble_cleanup); @@ -368,9 +368,6 @@ void proto_register_idmp(void) /*--- proto_reg_handoff_idm --- */ void proto_reg_handoff_idm(void) { - /* remember the idm handler for change in preferences */ - idmp_handle = find_dissector(PFNAME); - } diff --git a/epan/dissectors/asn1/ilp/packet-ilp-template.c b/epan/dissectors/asn1/ilp/packet-ilp-template.c index ea57451b2b..0f6cff3ca6 100644 --- a/epan/dissectors/asn1/ilp/packet-ilp-template.c +++ b/epan/dissectors/asn1/ilp/packet-ilp-template.c @@ -44,6 +44,8 @@ void proto_register_ilp(void); static dissector_handle_t rrlp_handle; static dissector_handle_t lpp_handle; +static dissector_handle_t ilp_handle; + /* IANA Registered Ports * oma-ilp 7276/tcp OMA Internal Location @@ -115,7 +117,7 @@ void proto_register_ilp(void) { /* Register protocol */ proto_ilp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("ilp", dissect_ilp_tcp, proto_ilp); + ilp_handle = register_dissector("ilp", dissect_ilp_tcp, proto_ilp); /* Register fields and subtrees */ proto_register_field_array(proto_ilp, hf, array_length(hf)); @@ -144,11 +146,9 @@ void proto_reg_handoff_ilp(void) { static gboolean initialized = FALSE; - static dissector_handle_t ilp_handle; static guint local_ilp_port; if (!initialized) { - ilp_handle = find_dissector_add_dependency("ilp", proto_ilp); dissector_add_string("media_type","application/oma-supl-ilp", ilp_handle); rrlp_handle = find_dissector_add_dependency("rrlp", proto_ilp); lpp_handle = find_dissector_add_dependency("lpp", proto_ilp); diff --git a/epan/dissectors/asn1/inap/packet-inap-template.c b/epan/dissectors/asn1/inap/packet-inap-template.c index e0c8bf3cf5..626013fae2 100644 --- a/epan/dissectors/asn1/inap/packet-inap-template.c +++ b/epan/dissectors/asn1/inap/packet-inap-template.c @@ -177,7 +177,6 @@ void proto_reg_handoff_inap(void) { if (!inap_prefs_initialized) { inap_prefs_initialized = TRUE; - inap_handle = find_dissector("inap"); oid_add_from_string("Core-INAP-CS1-Codes","0.4.0.1.1.0.3.0"); oid_add_from_string("iso(1) identified-organization(3) icd-ecma(12) member-company(2) 1107 oen(3) inap(3) extensions(2)","1.3.12.2.1107.3.3.2"); oid_add_from_string("alcatel(1006)","1.3.12.2.1006.64"); @@ -235,7 +234,7 @@ void proto_register_inap(void) { /* Register protocol */ proto_inap = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("inap", dissect_inap, proto_inap); + inap_handle = register_dissector("inap", dissect_inap, proto_inap); /* Register fields and subtrees */ proto_register_field_array(proto_inap, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); diff --git a/epan/dissectors/asn1/lcsap/packet-lcsap-template.c b/epan/dissectors/asn1/lcsap/packet-lcsap-template.c index 5a860e2a5f..fe1635c3f7 100644 --- a/epan/dissectors/asn1/lcsap/packet-lcsap-template.c +++ b/epan/dissectors/asn1/lcsap/packet-lcsap-template.c @@ -82,6 +82,8 @@ static guint32 ProtocolExtensionID; static guint32 PayloadType = -1; static guint gbl_lcsapSctpPort=SCTP_PORT_LCSAP; +static dissector_handle_t lcsap_handle; + /* Dissector tables */ static dissector_table_t lcsap_ies_dissector_table; @@ -237,11 +239,9 @@ void proto_reg_handoff_lcsap(void) { static gboolean Initialized=FALSE; - static dissector_handle_t lcsap_handle; static guint SctpPort; if (!Initialized) { - lcsap_handle = find_dissector("lcsap"); lpp_handle = find_dissector_add_dependency("lpp", proto_lcsap); lppa_handle = find_dissector_add_dependency("lppa", proto_lcsap); dissector_add_for_decode_as("sctp.port", lcsap_handle); /* for "decode-as" */ @@ -311,7 +311,7 @@ void proto_register_lcsap(void) { /* Register fields and subtrees */ proto_register_field_array(proto_lcsap, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("lcsap", dissect_lcsap, proto_lcsap); + lcsap_handle = register_dissector("lcsap", dissect_lcsap, proto_lcsap); /* Register dissector tables */ lcsap_ies_dissector_table = register_dissector_table("lcsap.ies", "LCS-AP-PROTOCOL-IES", proto_lcsap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); diff --git a/epan/dissectors/asn1/ldap/packet-ldap-template.c b/epan/dissectors/asn1/ldap/packet-ldap-template.c index 5d797d9e68..ead97811bc 100644 --- a/epan/dissectors/asn1/ldap/packet-ldap-template.c +++ b/epan/dissectors/asn1/ldap/packet-ldap-template.c @@ -2222,7 +2222,7 @@ void proto_register_ldap(void) { expert_ldap = expert_register_protocol(proto_ldap); expert_register_field_array(expert_ldap, ei, array_length(ei)); - register_dissector("ldap", dissect_ldap_tcp, proto_ldap); + ldap_handle = register_dissector("ldap", dissect_ldap_tcp, proto_ldap); ldap_module = prefs_register_protocol(proto_ldap, prefs_register_ldap); prefs_register_bool_preference(ldap_module, "desegment_ldap_messages", @@ -2280,7 +2280,6 @@ void proto_reg_handoff_ldap(void) { dissector_handle_t cldap_handle; - ldap_handle = find_dissector("ldap"); dissector_add_uint("tcp.port", TCP_PORT_GLOBALCAT_LDAP, ldap_handle); diff --git a/epan/dissectors/asn1/mpeg-pes/packet-mpeg-pes-template.c b/epan/dissectors/asn1/mpeg-pes/packet-mpeg-pes-template.c index 984226a60a..3fc69bfc74 100644 --- a/epan/dissectors/asn1/mpeg-pes/packet-mpeg-pes-template.c +++ b/epan/dissectors/asn1/mpeg-pes/packet-mpeg-pes-template.c @@ -78,6 +78,7 @@ static int hf_mpeg_video_picture = -1; static int hf_mpeg_video_quantization_matrix = -1; static int hf_mpeg_video_data = -1; +static dissector_handle_t mpeg_handle; enum { PES_PREFIX = 1 }; enum { @@ -654,7 +655,7 @@ proto_register_mpeg_pes(void) proto_mpeg = proto_register_protocol( "Moving Picture Experts Group", "MPEG", "mpeg"); - register_dissector("mpeg", dissect_mpeg, proto_mpeg); + mpeg_handle = register_dissector("mpeg", dissect_mpeg, proto_mpeg); heur_subdissector_list = register_heur_dissector_list("mpeg", proto_mpeg); proto_mpeg_pes = proto_register_protocol( @@ -667,8 +668,6 @@ proto_register_mpeg_pes(void) void proto_reg_handoff_mpeg_pes(void) { - dissector_handle_t mpeg_handle = find_dissector("mpeg"); - dissector_add_uint("wtap_encap", WTAP_ENCAP_MPEG, mpeg_handle); heur_dissector_add("mpeg", dissect_mpeg_pes, "MPEG PES", "mpeg_pes", proto_mpeg_pes, HEURISTIC_ENABLE); } diff --git a/epan/dissectors/asn1/nbap/packet-nbap-template.c b/epan/dissectors/asn1/nbap/packet-nbap-template.c index 0e977447e5..41ade24a36 100644 --- a/epan/dissectors/asn1/nbap/packet-nbap-template.c +++ b/epan/dissectors/asn1/nbap/packet-nbap-template.c @@ -95,6 +95,8 @@ static expert_field ei_nbap_hsdsch_entity_not_specified = EI_INIT; extern int proto_fp; +static dissector_handle_t nbap_handle; + /* * Structure to build information needed to dissect the FP flow beeing set up. */ @@ -527,7 +529,7 @@ void proto_register_nbap(void) expert_register_field_array(expert_nbap, ei, array_length(ei)); /* Register dissector */ - register_dissector("nbap", dissect_nbap, proto_nbap); + nbap_handle = register_dissector("nbap", dissect_nbap, proto_nbap); nbap_module = prefs_register_protocol(proto_nbap, NULL); @@ -554,9 +556,6 @@ void proto_register_nbap(void) void proto_reg_handoff_nbap(void) { - dissector_handle_t nbap_handle; - - nbap_handle = find_dissector("nbap"); fp_handle = find_dissector("fp"); dissector_add_uint("sctp.ppi", NBAP_PAYLOAD_PROTOCOL_ID, nbap_handle); #ifdef EXTRA_PPI diff --git a/epan/dissectors/asn1/p1/packet-p1-template.c b/epan/dissectors/asn1/p1/packet-p1-template.c index 6c807d0ea0..f53b0d6024 100644 --- a/epan/dissectors/asn1/p1/packet-p1-template.c +++ b/epan/dissectors/asn1/p1/packet-p1-template.c @@ -84,6 +84,8 @@ static dissector_table_t p1_extension_dissector_table; static dissector_table_t p1_extension_attribute_dissector_table; static dissector_table_t p1_tokendata_dissector_table; +static dissector_handle_t p1_handle; + #include "packet-p1-table.c" /* operation and error codes */ #define P1_ADDRESS_CTX "p1-address-ctx" @@ -363,7 +365,7 @@ void proto_register_p1(void) { /* Register protocol */ proto_p1 = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("p1", dissect_p1, proto_p1); + p1_handle = register_dissector("p1", dissect_p1, proto_p1); proto_p3 = proto_register_protocol("X.411 Message Access Service", "P3", "p3"); @@ -393,8 +395,6 @@ void proto_register_p1(void) { /*--- proto_reg_handoff_p1 --- */ void proto_reg_handoff_p1(void) { - dissector_handle_t p1_handle; - #include "packet-p1-dis-tab.c" /* APPLICATION CONTEXT */ @@ -402,8 +402,6 @@ void proto_reg_handoff_p1(void) { oid_add_from_string("id-ac-mts-transfer","2.6.0.1.6"); /* ABSTRACT SYNTAXES */ - - p1_handle = find_dissector("p1"); register_rtse_oid_dissector_handle("2.6.0.2.12", p1_handle, 0, "id-as-mta-rtse", TRUE); register_rtse_oid_dissector_handle("2.6.0.2.7", p1_handle, 0, "id-as-mtse", FALSE); diff --git a/epan/dissectors/asn1/pcap/packet-pcap-template.c b/epan/dissectors/asn1/pcap/packet-pcap-template.c index 68cb625e78..68b7792402 100644 --- a/epan/dissectors/asn1/pcap/packet-pcap-template.c +++ b/epan/dissectors/asn1/pcap/packet-pcap-template.c @@ -149,7 +149,6 @@ proto_reg_handoff_pcap(void) static range_t *ssn_range; if (! prefs_initialized) { - pcap_handle = find_dissector("pcap"); sccp_ssn_table = find_dissector_table("sccp.ssn"); prefs_initialized = TRUE; #include "packet-pcap-dis-tab.c" @@ -188,7 +187,7 @@ void proto_register_pcap(void) { pcap_module = prefs_register_protocol(proto_pcap, proto_reg_handoff_pcap); /* Register dissector */ - register_dissector("pcap", dissect_pcap, proto_pcap); + pcap_handle = register_dissector("pcap", dissect_pcap, proto_pcap); /* Register dissector tables */ pcap_ies_dissector_table = register_dissector_table("pcap.ies", "PCAP-PROTOCOL-IES", proto_pcap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); diff --git a/epan/dissectors/asn1/ranap/packet-ranap-template.c b/epan/dissectors/asn1/ranap/packet-ranap-template.c index 2b7cab3a82..cbdfb3fcb9 100644 --- a/epan/dissectors/asn1/ranap/packet-ranap-template.c +++ b/epan/dissectors/asn1/ranap/packet-ranap-template.c @@ -87,6 +87,9 @@ static guint32 ProcedureCode; static guint32 ProtocolIE_ID; static guint32 ProtocolExtensionID; static gboolean glbl_dissect_container = FALSE; + +static dissector_handle_t ranap_handle; + /* Some IE:s identities uses the same value for different IE:s * depending on PDU type: * InitiatingMessage @@ -343,7 +346,7 @@ void proto_register_ranap(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("ranap", dissect_ranap, proto_ranap); + ranap_handle = register_dissector("ranap", dissect_ranap, proto_ranap); /* Register dissector tables */ ranap_ies_dissector_table = register_dissector_table("ranap.ies", "RANAP-PROTOCOL-IES", proto_ranap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -373,11 +376,9 @@ void proto_reg_handoff_ranap(void) { static gboolean initialized = FALSE; - static dissector_handle_t ranap_handle; static gint local_ranap_sccp_ssn; if (!initialized) { - ranap_handle = find_dissector("ranap"); 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("rrc.irat.ho_to_utran_cmd"); diff --git a/epan/dissectors/asn1/rnsap/packet-rnsap-template.c b/epan/dissectors/asn1/rnsap/packet-rnsap-template.c index 23418703f7..be451530a5 100644 --- a/epan/dissectors/asn1/rnsap/packet-rnsap-template.c +++ b/epan/dissectors/asn1/rnsap/packet-rnsap-template.c @@ -77,6 +77,8 @@ static dissector_table_t rnsap_proc_imsg_dissector_table; static dissector_table_t rnsap_proc_sout_dissector_table; static dissector_table_t rnsap_proc_uout_dissector_table; +static dissector_handle_t rnsap_handle; + static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_PrivateIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); @@ -158,7 +160,7 @@ void proto_register_rnsap(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("rnsap", dissect_rnsap, proto_rnsap); + rnsap_handle = register_dissector("rnsap", dissect_rnsap, proto_rnsap); /* Register dissector tables */ rnsap_ies_dissector_table = register_dissector_table("rnsap.ies", "RNSAP-PROTOCOL-IES", proto_rnsap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -174,9 +176,6 @@ void proto_register_rnsap(void) { void proto_reg_handoff_rnsap(void) { - dissector_handle_t rnsap_handle; - - rnsap_handle = find_dissector("rnsap"); rrc_dl_dcch_handle = find_dissector_add_dependency("rrc.dl.dcch", proto_rnsap); dissector_add_uint("sccp.ssn", SCCP_SSN_RNSAP, rnsap_handle); diff --git a/epan/dissectors/asn1/ros/packet-ros-template.c b/epan/dissectors/asn1/ros/packet-ros-template.c index 8fc97cada7..3051a0f7c5 100644 --- a/epan/dissectors/asn1/ros/packet-ros-template.c +++ b/epan/dissectors/asn1/ros/packet-ros-template.c @@ -506,7 +506,7 @@ void proto_register_ros(void) { /* Register protocol */ proto_ros = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("ros", dissect_ros, proto_ros); + ros_handle = register_dissector("ros", dissect_ros, proto_ros); /* Register fields and subtrees */ proto_register_field_array(proto_ros, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -517,8 +517,6 @@ void proto_register_ros(void) { oid_table=g_hash_table_new(g_str_hash, g_str_equal); protocol_table=g_hash_table_new(g_str_hash, g_str_equal); - ros_handle = find_dissector("ros"); - register_cleanup_routine(ros_cleanup); } diff --git a/epan/dissectors/asn1/rua/packet-rua-template.c b/epan/dissectors/asn1/rua/packet-rua-template.c index afe94baded..a5a6c16f1b 100644 --- a/epan/dissectors/asn1/rua/packet-rua-template.c +++ b/epan/dissectors/asn1/rua/packet-rua-template.c @@ -72,6 +72,8 @@ static dissector_table_t rua_proc_imsg_dissector_table; static dissector_table_t rua_proc_sout_dissector_table; static dissector_table_t rua_proc_uout_dissector_table; +static dissector_handle_t rua_handle; + static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); @@ -148,7 +150,7 @@ module_t *rua_module; proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("rua", dissect_rua, proto_rua); + rua_handle = register_dissector("rua", dissect_rua, proto_rua); /* Register dissector tables */ rua_ies_dissector_table = register_dissector_table("rua.ies", "RUA-PROTOCOL-IES", proto_rua, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -168,11 +170,9 @@ void proto_reg_handoff_rua(void) { static gboolean initialized = FALSE; - static dissector_handle_t rua_handle; static guint sctp_port; if (!initialized) { - rua_handle = find_dissector("rua"); ranap_handle = find_dissector_add_dependency("ranap", proto_rua); dissector_add_uint("sctp.ppi", RUA_PAYLOAD_PROTOCOL_ID, rua_handle); initialized = TRUE; diff --git a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c index b2cc5ad191..edcdf8fea7 100644 --- a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c +++ b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c @@ -103,6 +103,8 @@ static gboolean g_s1ap_dissect_container = TRUE; static const char *obj_id = NULL; static dissector_handle_t gcsna_handle = NULL; +static dissector_handle_t s1ap_handle; + /* Dissector tables */ static dissector_table_t s1ap_ies_dissector_table; @@ -207,10 +209,8 @@ void proto_reg_handoff_s1ap(void) { static gboolean Initialized=FALSE; - static dissector_handle_t s1ap_handle; static guint SctpPort; - s1ap_handle = find_dissector("s1ap"); gcsna_handle = find_dissector_add_dependency("gcsna", proto_s1ap); if (!Initialized) { @@ -274,7 +274,7 @@ void proto_register_s1ap(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("s1ap", dissect_s1ap, proto_s1ap); + s1ap_handle = register_dissector("s1ap", dissect_s1ap, proto_s1ap); /* Register dissector tables */ s1ap_ies_dissector_table = register_dissector_table("s1ap.ies", "S1AP-PROTOCOL-IES", proto_s1ap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); diff --git a/epan/dissectors/asn1/sabp/packet-sabp-template.c b/epan/dissectors/asn1/sabp/packet-sabp-template.c index 8092845ca5..1c0e759cd8 100644 --- a/epan/dissectors/asn1/sabp/packet-sabp-template.c +++ b/epan/dissectors/asn1/sabp/packet-sabp-template.c @@ -83,6 +83,9 @@ static dissector_table_t sabp_proc_imsg_dissector_table; static dissector_table_t sabp_proc_sout_dissector_table; static dissector_table_t sabp_proc_uout_dissector_table; +static dissector_handle_t sabp_handle; +static dissector_handle_t sabp_tcp_handle; + static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); @@ -267,8 +270,8 @@ void proto_register_sabp(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("sabp", dissect_sabp, proto_sabp); - register_dissector("sabp.tcp", dissect_sabp_tcp, proto_sabp); + sabp_handle = register_dissector("sabp", dissect_sabp, proto_sabp); + sabp_tcp_handle = register_dissector("sabp.tcp", dissect_sabp_tcp, proto_sabp); /* Register dissector tables */ sabp_ies_dissector_table = register_dissector_table("sabp.ies", "SABP-PROTOCOL-IES", proto_sabp, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -283,11 +286,6 @@ void proto_register_sabp(void) { void proto_reg_handoff_sabp(void) { - dissector_handle_t sabp_handle; - dissector_handle_t sabp_tcp_handle; - - sabp_handle = find_dissector("sabp"); - sabp_tcp_handle = find_dissector("sabp.tcp"); dissector_add_uint("udp.port", 3452, sabp_handle); dissector_add_uint("tcp.port", 3452, sabp_tcp_handle); dissector_add_uint("sctp.ppi", SABP_PAYLOAD_PROTOCOL_ID, sabp_handle); diff --git a/epan/dissectors/asn1/snmp/packet-snmp-template.c b/epan/dissectors/asn1/snmp/packet-snmp-template.c index dcd7c50bf0..27008e9a52 100644 --- a/epan/dissectors/asn1/snmp/packet-snmp-template.c +++ b/epan/dissectors/asn1/snmp/packet-snmp-template.c @@ -2524,7 +2524,7 @@ void proto_register_snmp(void) { /* Register protocol */ proto_snmp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("snmp", dissect_snmp, proto_snmp); + snmp_handle = register_dissector("snmp", dissect_snmp, proto_snmp); /* Register fields and subtrees */ proto_register_field_array(proto_snmp, hf, array_length(hf)); @@ -2583,8 +2583,6 @@ void proto_register_snmp(void) { void proto_reg_handoff_snmp(void) { dissector_handle_t snmp_tcp_handle; - snmp_handle = find_dissector("snmp"); - dissector_add_uint("udp.port", UDP_PORT_SNMP, snmp_handle); dissector_add_uint("udp.port", UDP_PORT_SNMP_TRAP, snmp_handle); dissector_add_uint("udp.port", UDP_PORT_SNMP_PATROL, snmp_handle); diff --git a/epan/dissectors/asn1/spnego/packet-spnego-template.c b/epan/dissectors/asn1/spnego/packet-spnego-template.c index 86bac4880a..f2bc72eda8 100644 --- a/epan/dissectors/asn1/spnego/packet-spnego-template.c +++ b/epan/dissectors/asn1/spnego/packet-spnego-template.c @@ -91,6 +91,10 @@ static gint ett_spnego_krb5_cfx_flags = -1; static expert_field ei_spnego_decrypted_keytype = EI_INIT; static expert_field ei_spnego_unknown_header = EI_INIT; +static dissector_handle_t spnego_handle; +static dissector_handle_t spnego_krb5_handle; +static dissector_handle_t spnego_krb5_wrap_handle; + /* * Unfortunately, we have to have forward declarations of thess, * as the code generated by asn2wrs includes a call before the @@ -1436,14 +1440,14 @@ void proto_register_spnego(void) { /* Register protocol */ proto_spnego = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("spnego", dissect_spnego, proto_spnego); + spnego_handle = register_dissector("spnego", dissect_spnego, proto_spnego); proto_spnego_krb5 = proto_register_protocol("SPNEGO-KRB5", "SPNEGO-KRB5", "spnego-krb5"); - register_dissector("spnego-krb5", dissect_spnego_krb5, proto_spnego_krb5); - register_dissector("spnego-krb5-wrap", dissect_spnego_krb5_wrap, proto_spnego_krb5); + spnego_krb5_handle = register_dissector("spnego-krb5", dissect_spnego_krb5, proto_spnego_krb5); + spnego_krb5_wrap_handle = register_dissector("spnego-krb5-wrap", dissect_spnego_krb5_wrap, proto_spnego_krb5); /* Register fields and subtrees */ proto_register_field_array(proto_spnego, hf, array_length(hf)); @@ -1456,12 +1460,10 @@ void proto_register_spnego(void) { /*--- proto_reg_handoff_spnego ---------------------------------------*/ void proto_reg_handoff_spnego(void) { - dissector_handle_t spnego_handle, spnego_wrap_handle; - dissector_handle_t spnego_krb5_handle, spnego_krb5_wrap_handle; + dissector_handle_t spnego_wrap_handle; /* Register protocol with GSS-API module */ - spnego_handle = find_dissector("spnego"); spnego_wrap_handle = create_dissector_handle(dissect_spnego_wrap, proto_spnego); gssapi_init_oid("1.3.6.1.5.5.2", proto_spnego, ett_spnego, spnego_handle, spnego_wrap_handle, @@ -1476,8 +1478,6 @@ void proto_reg_handoff_spnego(void) { * See the archive of <ietf-krb-wg@anl.gov> for the thread topic * SPNEGO implementation issues. 3-Dec-2002. */ - spnego_krb5_handle = find_dissector("spnego-krb5"); - spnego_krb5_wrap_handle = find_dissector("spnego-krb5-wrap"); gssapi_init_oid("1.2.840.48018.1.2.2", proto_spnego_krb5, ett_spnego_krb5, spnego_krb5_handle, spnego_krb5_wrap_handle, "MS KRB5 - Microsoft Kerberos 5"); diff --git a/epan/dissectors/asn1/sv/packet-sv-template.c b/epan/dissectors/asn1/sv/packet-sv-template.c index 3690ce20ba..e5a3f3b693 100644 --- a/epan/dissectors/asn1/sv/packet-sv-template.c +++ b/epan/dissectors/asn1/sv/packet-sv-template.c @@ -108,6 +108,8 @@ static expert_field ei_sv_zero_pdu = EI_INIT; static gboolean sv_decode_data_as_phsmeas = FALSE; +static dissector_handle_t sv_handle; + static const value_string sv_q_validity_vals[] = { { 0, "good" }, { 1, "invalid" }, @@ -314,7 +316,7 @@ void proto_register_sv(void) { /* Register protocol */ proto_sv = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("sv", dissect_sv, proto_sv); + sv_handle = register_dissector("sv", dissect_sv, proto_sv); /* Register fields and subtrees */ proto_register_field_array(proto_sv, hf, array_length(hf)); @@ -332,9 +334,5 @@ void proto_register_sv(void) { /*--- proto_reg_handoff_sv --- */ void proto_reg_handoff_sv(void) { - - dissector_handle_t sv_handle; - sv_handle = find_dissector("sv"); - dissector_add_uint("ethertype", ETHERTYPE_IEC61850_SV, sv_handle); } diff --git a/epan/dissectors/asn1/ulp/packet-ulp-template.c b/epan/dissectors/asn1/ulp/packet-ulp-template.c index c12cdd1aab..6a8ab185fc 100644 --- a/epan/dissectors/asn1/ulp/packet-ulp-template.c +++ b/epan/dissectors/asn1/ulp/packet-ulp-template.c @@ -78,6 +78,8 @@ static gint ett_ulp_thirdPartyId = -1; static gint ett_ulp_ganssTimeModels = -1; #include "packet-ulp-ett.c" +static dissector_handle_t ulp_tcp_handle; + static const value_string ulp_ganss_id_vals[] = { { 0, "Galileo"}, { 1, "SBAS"}, @@ -411,7 +413,7 @@ void proto_register_ulp(void) { /* Register protocol */ proto_ulp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("ulp", dissect_ulp_tcp, proto_ulp); + ulp_tcp_handle = register_dissector("ulp", dissect_ulp_tcp, proto_ulp); /* Register fields and subtrees */ proto_register_field_array(proto_ulp, hf, array_length(hf)); @@ -445,11 +447,10 @@ void proto_reg_handoff_ulp(void) { static gboolean initialized = FALSE; - static dissector_handle_t ulp_tcp_handle, ulp_udp_handle; + static dissector_handle_t ulp_udp_handle; static guint local_ulp_tcp_port, local_ulp_udp_port; if (!initialized) { - ulp_tcp_handle = find_dissector("ulp"); dissector_add_string("media_type","application/oma-supl-ulp", ulp_tcp_handle); dissector_add_string("media_type","application/vnd.omaloc-supl-init", ulp_tcp_handle); ulp_udp_handle = create_dissector_handle(dissect_ULP_PDU_PDU, proto_ulp); diff --git a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c index 7e5e149307..8748863c64 100644 --- a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c +++ b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c @@ -84,6 +84,8 @@ static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, pro static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); void proto_reg_handoff_x2ap(void); +static dissector_handle_t x2ap_handle; + #include "packet-x2ap-fn.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) @@ -161,7 +163,7 @@ void proto_register_x2ap(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("x2ap", dissect_x2ap, proto_x2ap); + x2ap_handle = register_dissector("x2ap", dissect_x2ap, proto_x2ap); /* Register dissector tables */ x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", proto_x2ap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -186,11 +188,9 @@ void proto_register_x2ap(void) { void proto_reg_handoff_x2ap(void) { - dissector_handle_t x2ap_handle; static gboolean Initialized=FALSE; static guint SctpPort; - x2ap_handle = find_dissector("x2ap"); if (!Initialized) { dissector_add_for_decode_as("sctp.port", x2ap_handle); dissector_add_uint("sctp.ppi", X2AP_PAYLOAD_PROTOCOL_ID, x2ap_handle); diff --git a/epan/dissectors/packet-acse.c b/epan/dissectors/packet-acse.c index 586989d6be..0795d27516 100644 --- a/epan/dissectors/packet-acse.c +++ b/epan/dissectors/packet-acse.c @@ -236,6 +236,8 @@ static expert_field ei_acse_dissector_not_available = EI_INIT; static expert_field ei_acse_malformed = EI_INIT; static expert_field ei_acse_invalid_oid = EI_INIT; +static dissector_handle_t acse_handle = NULL; + /* indirect_reference, used to pick up the signalling so we know what kind of data is transferred in SES_DATA_TRANSFER_PDUs */ static guint32 indir_ref=0; @@ -1697,7 +1699,7 @@ dissect_acse_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _ /*--- End of included file: packet-acse-fn.c ---*/ -#line 150 "./asn1/acse/packet-acse-template.c" +#line 152 "./asn1/acse/packet-acse-template.c" /* @@ -2246,7 +2248,7 @@ void proto_register_acse(void) { NULL, HFILL }}, /*--- End of included file: packet-acse-hfarr.c ---*/ -#line 266 "./asn1/acse/packet-acse-template.c" +#line 268 "./asn1/acse/packet-acse-template.c" }; /* List of subtrees */ @@ -2292,7 +2294,7 @@ void proto_register_acse(void) { &ett_acse_Authentication_value, /*--- End of included file: packet-acse-ettarr.c ---*/ -#line 272 "./asn1/acse/packet-acse-template.c" +#line 274 "./asn1/acse/packet-acse-template.c" }; static ei_register_info ei[] = { @@ -2305,7 +2307,7 @@ void proto_register_acse(void) { /* Register protocol */ proto_acse = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("acse", dissect_acse, proto_acse); + acse_handle = register_dissector("acse", dissect_acse, proto_acse); /* Register connectionless protocol */ proto_clacse = proto_register_protocol(CLPNAME, CLPSNAME, CLPFNAME); @@ -2322,8 +2324,6 @@ void proto_register_acse(void) { /*--- proto_reg_handoff_acse -------------------------------------------*/ void proto_reg_handoff_acse(void) { /*#include "packet-acse-dis-tab.c"*/ - dissector_handle_t acse_handle = find_dissector("acse"); - oid_add_from_string("id-aCSE","2.2.3.1.1"); register_ber_oid_dissector_handle(ACSE_APDU_OID, acse_handle, proto_acse, "id-as-acse"); diff --git a/epan/dissectors/packet-ansi_map.c b/epan/dissectors/packet-ansi_map.c index 96fab2fa69..65d62edcb7 100644 --- a/epan/dissectors/packet-ansi_map.c +++ b/epan/dissectors/packet-ansi_map.c @@ -16212,7 +16212,6 @@ proto_reg_handoff_ansi_map(void) if(!ansi_map_prefs_initialized) { ansi_map_prefs_initialized = TRUE; - ansi_map_handle = find_dissector("ansi_map"); } else { @@ -19235,7 +19234,7 @@ void proto_register_ansi_map(void) { NULL, HFILL }}, /*--- End of included file: packet-ansi_map-hfarr.c ---*/ -#line 5397 "./asn1/ansi_map/packet-ansi_map-template.c" +#line 5396 "./asn1/ansi_map/packet-ansi_map-template.c" }; /* List of subtrees */ @@ -19496,7 +19495,7 @@ void proto_register_ansi_map(void) { &ett_ansi_map_ReturnData, /*--- End of included file: packet-ansi_map-ettarr.c ---*/ -#line 5430 "./asn1/ansi_map/packet-ansi_map-template.c" +#line 5429 "./asn1/ansi_map/packet-ansi_map-template.c" }; static ei_register_info ei[] = { @@ -19539,7 +19538,7 @@ void proto_register_ansi_map(void) { expert_ansi_map = expert_register_protocol(proto_ansi_map); expert_register_field_array(expert_ansi_map, ei, array_length(ei)); - register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map); + ansi_map_handle = register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map); is637_tele_id_dissector_table = register_dissector_table("ansi_map.tele_id", "IS-637 Teleservice ID", proto_ansi_map, diff --git a/epan/dissectors/packet-camel.c b/epan/dissectors/packet-camel.c index c598b644ca..93dfa4c6da 100644 --- a/epan/dissectors/packet-camel.c +++ b/epan/dissectors/packet-camel.c @@ -8272,10 +8272,6 @@ void proto_reg_handoff_camel(void) { if (!camel_prefs_initialized) { camel_prefs_initialized = TRUE; - camel_handle = find_dissector("camel"); - camel_v1_handle = find_dissector("camel-v1"); - camel_v2_handle = find_dissector("camel-v2"); - register_ber_oid_dissector_handle("0.4.0.0.1.0.50.0",camel_v1_handle, proto_camel, "CAP-v1-gsmSSF-to-gsmSCF-AC" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.50.1",camel_v2_handle, proto_camel, "CAP-v2-gsmSSF-to-gsmSCF-AC" ); @@ -8296,7 +8292,7 @@ void proto_reg_handoff_camel(void) { /*--- End of included file: packet-camel-dis-tab.c ---*/ -#line 1331 "./asn1/camel/packet-camel-template.c" +#line 1327 "./asn1/camel/packet-camel-template.c" } else { range_foreach(ssn_range, range_delete_callback); g_free(ssn_range); @@ -10418,7 +10414,7 @@ void proto_register_camel(void) { "InvokeId_present", HFILL }}, /*--- End of included file: packet-camel-hfarr.c ---*/ -#line 1504 "./asn1/camel/packet-camel-template.c" +#line 1500 "./asn1/camel/packet-camel-template.c" }; /* List of subtrees */ @@ -10636,7 +10632,7 @@ void proto_register_camel(void) { &ett_camel_InvokeId, /*--- End of included file: packet-camel-ettarr.c ---*/ -#line 1521 "./asn1/camel/packet-camel-template.c" +#line 1517 "./asn1/camel/packet-camel-template.c" }; static ei_register_info ei[] = { @@ -10670,9 +10666,9 @@ void proto_register_camel(void) { /* Register protocol */ proto_camel = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("camel", dissect_camel, proto_camel); - register_dissector("camel-v1", dissect_camel_v1, proto_camel); - register_dissector("camel-v2", dissect_camel_v2, proto_camel); + camel_handle = register_dissector("camel", dissect_camel, proto_camel); + camel_v1_handle = register_dissector("camel-v1", dissect_camel_v1, proto_camel); + camel_v2_handle = register_dissector("camel-v2", dissect_camel_v2, proto_camel); proto_register_field_array(proto_camel, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); diff --git a/epan/dissectors/packet-cmip.c b/epan/dissectors/packet-cmip.c index d660d22bc0..1d22152e9a 100644 --- a/epan/dissectors/packet-cmip.c +++ b/epan/dissectors/packet-cmip.c @@ -479,6 +479,8 @@ static expert_field ei_wrong_spdu_type = EI_INIT; static guint32 opcode; +static dissector_handle_t cmip_handle = NULL; + /* Dissector table */ static dissector_table_t attribute_id_dissector_table; @@ -534,7 +536,7 @@ static const value_string cmip_error_code_vals[] = { /*--- End of included file: packet-cmip-table.c ---*/ -#line 71 "./asn1/cmip/packet-cmip-template.c" +#line 73 "./asn1/cmip/packet-cmip-template.c" static int opcode_type; #define OPCODE_INVOKE 1 @@ -633,7 +635,7 @@ static const char *object_identifier_id; #define noInvokeId NULL /*--- End of included file: packet-cmip-val.h ---*/ -#line 81 "./asn1/cmip/packet-cmip-template.c" +#line 83 "./asn1/cmip/packet-cmip-template.c" /*--- Included file: packet-cmip-fn.c ---*/ #line 1 "./asn1/cmip/packet-cmip-fn.c" @@ -4468,7 +4470,7 @@ static int dissect_WeekMask_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto /*--- End of included file: packet-cmip-fn.c ---*/ -#line 82 "./asn1/cmip/packet-cmip-template.c" +#line 84 "./asn1/cmip/packet-cmip-template.c" @@ -5665,7 +5667,7 @@ void proto_register_cmip(void) { NULL, HFILL }}, /*--- End of included file: packet-cmip-hfarr.c ---*/ -#line 174 "./asn1/cmip/packet-cmip-template.c" +#line 176 "./asn1/cmip/packet-cmip-template.c" }; /* List of subtrees */ @@ -5797,7 +5799,7 @@ void proto_register_cmip(void) { &ett_cmip_T_modificationList_item, /*--- End of included file: packet-cmip-ettarr.c ---*/ -#line 180 "./asn1/cmip/packet-cmip-template.c" +#line 182 "./asn1/cmip/packet-cmip-template.c" }; static ei_register_info ei[] = { @@ -5808,7 +5810,7 @@ void proto_register_cmip(void) { /* Register protocol */ proto_cmip = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("cmip", dissect_cmip, proto_cmip); + cmip_handle = register_dissector("cmip", dissect_cmip, proto_cmip); /* Register fields and subtrees */ proto_register_field_array(proto_cmip, hf, array_length(hf)); @@ -5892,7 +5894,7 @@ void proto_register_cmip(void) { /*--- End of included file: packet-cmip-dis-tab.c ---*/ -#line 199 "./asn1/cmip/packet-cmip-template.c" +#line 201 "./asn1/cmip/packet-cmip-template.c" oid_add_from_string("discriminatorId(1)","2.9.3.2.7.1"); attribute_id_dissector_table = register_dissector_table("cmip.attribute_id", "CMIP Attribute Id", proto_cmip, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_NOT_ALLOW_DUPLICATE); @@ -5902,8 +5904,6 @@ void proto_register_cmip(void) { /*--- proto_reg_handoff_cmip -------------------------------------------*/ void proto_reg_handoff_cmip(void) { - dissector_handle_t cmip_handle = find_dissector("cmip"); - register_ber_oid_dissector_handle("2.9.0.0.2", cmip_handle, proto_cmip, "cmip"); register_ber_oid_dissector_handle("2.9.1.1.4", cmip_handle, proto_cmip, "joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)"); diff --git a/epan/dissectors/packet-disp.c b/epan/dissectors/packet-disp.c index 7102b54d1e..b4ab8d631e 100644 --- a/epan/dissectors/packet-disp.c +++ b/epan/dissectors/packet-disp.c @@ -252,6 +252,8 @@ static expert_field ei_disp_unsupported_errcode = EI_INIT; static expert_field ei_disp_unsupported_pdu = EI_INIT; static expert_field ei_disp_zero_pdu = EI_INIT; +static dissector_handle_t disp_handle = NULL; + /*--- Included file: packet-disp-fn.c ---*/ #line 1 "./asn1/disp/packet-disp-fn.c" @@ -1482,7 +1484,7 @@ static int dissect_ShadowingAgreementInfo_PDU(tvbuff_t *tvb _U_, packet_info *pi /*--- End of included file: packet-disp-fn.c ---*/ -#line 77 "./asn1/disp/packet-disp-template.c" +#line 79 "./asn1/disp/packet-disp-template.c" /* * Dissect DISP PDUs inside a ROS PDUs @@ -2040,7 +2042,7 @@ void proto_register_disp(void) { "ShadowErrorData", HFILL }}, /*--- End of included file: packet-disp-hfarr.c ---*/ -#line 202 "./asn1/disp/packet-disp-template.c" +#line 204 "./asn1/disp/packet-disp-template.c" }; /* List of subtrees */ @@ -2105,7 +2107,7 @@ void proto_register_disp(void) { &ett_disp_T_signedShadowError, /*--- End of included file: packet-disp-ettarr.c ---*/ -#line 208 "./asn1/disp/packet-disp-template.c" +#line 210 "./asn1/disp/packet-disp-template.c" }; static ei_register_info ei[] = { @@ -2120,7 +2122,7 @@ void proto_register_disp(void) { /* Register protocol */ proto_disp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("disp", dissect_disp, proto_disp); + disp_handle = register_dissector("disp", dissect_disp, proto_disp); /* Register fields and subtrees */ proto_register_field_array(proto_disp, hf, array_length(hf)); @@ -2142,8 +2144,6 @@ void proto_register_disp(void) { /*--- proto_reg_handoff_disp --- */ void proto_reg_handoff_disp(void) { - dissector_handle_t disp_handle; - /*--- Included file: packet-disp-dis-tab.c ---*/ #line 1 "./asn1/disp/packet-disp-dis-tab.c" @@ -2165,9 +2165,6 @@ void proto_reg_handoff_disp(void) { oid_add_from_string("id-ac-reliable-shadow-supplier-initiated","2.5.3.7"); /* ABSTRACT SYNTAXES */ - - disp_handle = find_dissector("disp"); - register_ros_oid_dissector_handle("2.5.9.3", disp_handle, 0, "id-as-directory-shadow", FALSE); register_rtse_oid_dissector_handle("2.5.9.5", disp_handle, 0, "id-as-directory-reliable-shadow", FALSE); register_rtse_oid_dissector_handle("2.5.9.6", disp_handle, 0, "id-as-directory-reliable-binding", FALSE); diff --git a/epan/dissectors/packet-dsp.c b/epan/dissectors/packet-dsp.c index 2905ef6d3e..df00bd2116 100644 --- a/epan/dissectors/packet-dsp.c +++ b/epan/dissectors/packet-dsp.c @@ -1695,6 +1695,8 @@ static int dissect_DitBridgeKnowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo /*--- End of included file: packet-dsp-fn.c ---*/ #line 71 "./asn1/dsp/packet-dsp-template.c" +static dissector_handle_t dsp_handle; + /* * Dissect X518 PDUs inside a ROS PDUs */ @@ -2449,7 +2451,7 @@ void proto_register_dsp(void) { "EXTERNAL", HFILL }}, /*--- End of included file: packet-dsp-hfarr.c ---*/ -#line 274 "./asn1/dsp/packet-dsp-template.c" +#line 276 "./asn1/dsp/packet-dsp-template.c" }; /* List of subtrees */ @@ -2531,7 +2533,7 @@ void proto_register_dsp(void) { &ett_dsp_T_basicLevels, /*--- End of included file: packet-dsp-ettarr.c ---*/ -#line 280 "./asn1/dsp/packet-dsp-template.c" +#line 282 "./asn1/dsp/packet-dsp-template.c" }; static ei_register_info ei[] = { { &ei_dsp_unsupported_opcode, { "dsp.unsupported_opcode", PI_UNDECODED, PI_WARN, "Unsupported DSP opcode", EXPFILL }}, @@ -2546,7 +2548,7 @@ void proto_register_dsp(void) { /* Register protocol */ proto_dsp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("dsp", dissect_dsp, proto_dsp); + dsp_handle = register_dissector("dsp", dissect_dsp, proto_dsp); /* Register fields and subtrees */ proto_register_field_array(proto_dsp, hf, array_length(hf)); @@ -2569,8 +2571,6 @@ void proto_register_dsp(void) { /*--- proto_reg_handoff_dsp --- */ void proto_reg_handoff_dsp(void) { - dissector_handle_t dsp_handle; - /*--- Included file: packet-dsp-dis-tab.c ---*/ #line 1 "./asn1/dsp/packet-dsp-dis-tab.c" @@ -2594,7 +2594,6 @@ void proto_reg_handoff_dsp(void) { tpkt_handle = find_dissector("tpkt"); /* Register DSP with ROS (with no use of RTSE) */ - dsp_handle = find_dissector("dsp"); register_ros_oid_dissector_handle("2.5.9.2", dsp_handle, 0, "id-as-directory-system", FALSE); } diff --git a/epan/dissectors/packet-goose.c b/epan/dissectors/packet-goose.c index f081e144d3..c23e0468b2 100644 --- a/epan/dissectors/packet-goose.c +++ b/epan/dissectors/packet-goose.c @@ -706,6 +706,8 @@ dissect_goose_GOOSEpdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset /*--- End of included file: packet-goose-fn.c ---*/ #line 59 "./asn1/goose/packet-goose-template.c" +static dissector_handle_t goose_handle = NULL; + /* * Dissect GOOSE PDUs inside a PPDU. */ @@ -1013,7 +1015,7 @@ void proto_register_goose(void) { "UtcTime", HFILL }}, /*--- End of included file: packet-goose-hfarr.c ---*/ -#line 127 "./asn1/goose/packet-goose-template.c" +#line 129 "./asn1/goose/packet-goose-template.c" }; /* List of subtrees */ @@ -1041,7 +1043,7 @@ void proto_register_goose(void) { &ett_goose_Data, /*--- End of included file: packet-goose-ettarr.c ---*/ -#line 133 "./asn1/goose/packet-goose-template.c" +#line 135 "./asn1/goose/packet-goose-template.c" }; static ei_register_info ei[] = { @@ -1053,7 +1055,7 @@ void proto_register_goose(void) { /* Register protocol */ proto_goose = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("goose", dissect_goose, proto_goose); + goose_handle = register_dissector("goose", dissect_goose, proto_goose); /* Register fields and subtrees */ proto_register_field_array(proto_goose, hf, array_length(hf)); @@ -1065,8 +1067,5 @@ void proto_register_goose(void) { /*--- proto_reg_handoff_goose --- */ void proto_reg_handoff_goose(void) { - dissector_handle_t goose_handle; - goose_handle = find_dissector("goose"); - dissector_add_uint("ethertype", ETHERTYPE_IEC61850_GOOSE, goose_handle); } diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c index 37bbc875ab..e75e0af3ba 100644 --- a/epan/dissectors/packet-gsm_map.c +++ b/epan/dissectors/packet-gsm_map.c @@ -22975,7 +22975,6 @@ void proto_reg_handoff_gsm_map(void) { gsm_sms_handle = find_dissector_add_dependency("gsm_sms", proto_gsm_map); bssap_handle = find_dissector_add_dependency("gsm_a_bssmap", proto_gsm_map); - map_handle = find_dissector("gsm_map"); oid_add_from_string("itu(0) administration(2) japan(440)","0.2.440" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map,"networkLocUpContext-v3"); register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"networkLocUpContext-v2" ); @@ -30352,7 +30351,7 @@ void proto_register_gsm_map(void) { NULL, HFILL }}, /*--- End of included file: packet-gsm_map-hfarr.c ---*/ -#line 3055 "./asn1/gsm_map/packet-gsm_map-template.c" +#line 3054 "./asn1/gsm_map/packet-gsm_map-template.c" }; /* List of subtrees */ @@ -31078,7 +31077,7 @@ void proto_register_gsm_map(void) { &ett_NokiaMAP_Extensions_AllowedServiceData, /*--- End of included file: packet-gsm_map-ettarr.c ---*/ -#line 3089 "./asn1/gsm_map/packet-gsm_map-template.c" +#line 3088 "./asn1/gsm_map/packet-gsm_map-template.c" }; static ei_register_info ei[] = { @@ -31120,7 +31119,7 @@ void proto_register_gsm_map(void) { /* Register protocol */ proto_gsm_map_ms = proto_gsm_map_dialogue = proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map); + map_handle = register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map); register_dissector("gsm_map_sccp", dissect_gsm_map_sccp, proto_gsm_map); /* Register fields and subtrees */ @@ -31222,7 +31221,7 @@ void proto_register_gsm_map(void) { /*--- End of included file: packet-gsm_map-dis-tab.c ---*/ -#line 3149 "./asn1/gsm_map/packet-gsm_map-template.c" +#line 3148 "./asn1/gsm_map/packet-gsm_map-template.c" oid_add_from_string("ericsson-gsm-Map-Ext","1.2.826.0.1249.58.1.0" ); oid_add_from_string("accessTypeNotAllowed-id","1.3.12.2.1107.3.66.1.2"); /*oid_add_from_string("map-ac networkLocUp(1) version3(3)","0.4.0.0.1.0.1.3" ); diff --git a/epan/dissectors/packet-h225.c b/epan/dissectors/packet-h225.c index beb3e7ea21..cbc74f250a 100644 --- a/epan/dissectors/packet-h225.c +++ b/epan/dissectors/packet-h225.c @@ -102,6 +102,8 @@ static h225ras_call_t * find_h225ras_call(h225ras_call_info_key *h225ras_call_ke static h225ras_call_t * new_h225ras_call(h225ras_call_info_key *h225ras_call_key, packet_info *pinfo, e_guid_t *guid, int category); static h225ras_call_t * append_h225ras_call(h225ras_call_t *prev_call, packet_info *pinfo, e_guid_t *guid, int category); + +static dissector_handle_t h225ras_handle; static dissector_handle_t data_handle; /* Subdissector tables */ static dissector_table_t nsp_object_dissector_table; @@ -908,7 +910,7 @@ static int hf_h225_stopped = -1; /* NULL */ static int hf_h225_notAvailable = -1; /* NULL */ /*--- End of included file: packet-h225-hf.c ---*/ -#line 128 "./asn1/h225/packet-h225-template.c" +#line 130 "./asn1/h225/packet-h225-template.c" /* Initialize the subtree pointers */ static gint ett_h225 = -1; @@ -1156,7 +1158,7 @@ static gint ett_h225_ServiceControlResponse = -1; static gint ett_h225_T_result = -1; /*--- End of included file: packet-h225-ett.c ---*/ -#line 132 "./asn1/h225/packet-h225-template.c" +#line 134 "./asn1/h225/packet-h225-template.c" /* Preferences */ static guint h225_tls_port = TLS_PORT_CS; @@ -7811,7 +7813,7 @@ static int dissect_RasMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro /*--- End of included file: packet-h225-fn.c ---*/ -#line 248 "./asn1/h225/packet-h225-template.c" +#line 250 "./asn1/h225/packet-h225-template.c" /* Forward declaration we need below */ void proto_reg_handoff_h225(void); @@ -11493,7 +11495,7 @@ void proto_register_h225(void) { NULL, HFILL }}, /*--- End of included file: packet-h225-hfarr.c ---*/ -#line 841 "./asn1/h225/packet-h225-template.c" +#line 843 "./asn1/h225/packet-h225-template.c" }; /* List of subtrees */ @@ -11743,7 +11745,7 @@ void proto_register_h225(void) { &ett_h225_T_result, /*--- End of included file: packet-h225-ettarr.c ---*/ -#line 847 "./asn1/h225/packet-h225-template.c" +#line 849 "./asn1/h225/packet-h225-template.c" }; static tap_param h225_stat_params[] = { @@ -11800,7 +11802,7 @@ void proto_register_h225(void) { register_dissector(PFNAME, dissect_h225_H323UserInformation, proto_h225); register_dissector("h323ui",dissect_h225_H323UserInformation, proto_h225); - register_dissector("h225.ras", dissect_h225_h225_RasMessage, proto_h225); + h225ras_handle = register_dissector("h225.ras", dissect_h225_h225_RasMessage, proto_h225); nsp_object_dissector_table = register_dissector_table("h225.nsp.object", "H.225 NonStandardParameter (object)", proto_h225, FT_STRING, BASE_NONE, DISSECTOR_TABLE_ALLOW_DUPLICATE); nsp_h221_dissector_table = register_dissector_table("h225.nsp.h221", "H.225 NonStandardParameter (h221)", proto_h225, FT_UINT32, BASE_HEX, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -11830,11 +11832,10 @@ void proto_reg_handoff_h225(void) { static gboolean h225_prefs_initialized = FALSE; - static dissector_handle_t h225ras_handle, q931_tpkt_handle; + static dissector_handle_t q931_tpkt_handle; static guint saved_h225_tls_port; if (!h225_prefs_initialized) { - h225ras_handle=find_dissector("h225.ras"); dissector_add_uint("udp.port", UDP_PORT_RAS1, h225ras_handle); dissector_add_uint("udp.port", UDP_PORT_RAS2, h225ras_handle); diff --git a/epan/dissectors/packet-h245.c b/epan/dissectors/packet-h245.c index ab34418750..208ab5c5ef 100644 --- a/epan/dissectors/packet-h245.c +++ b/epan/dissectors/packet-h245.c @@ -70,6 +70,7 @@ static dissector_table_t nsp_object_dissector_table; static dissector_table_t nsp_h221_dissector_table; static dissector_table_t gef_name_dissector_table; static dissector_table_t gef_content_dissector_table; +static dissector_handle_t h245_handle; static dissector_handle_t nsp_handle; static dissector_handle_t data_handle; static dissector_handle_t MultimediaSystemControlMessage_handle; @@ -213,7 +214,7 @@ typedef enum _IndicationMessage_enum { } IndicationMessage_enum; /*--- End of included file: packet-h245-val.h ---*/ -#line 86 "./asn1/h245/packet-h245-template.c" +#line 87 "./asn1/h245/packet-h245-template.c" static const value_string h245_RequestMessage_short_vals[] = { { RequestMessage_nonStandard , "NSM" }, @@ -1941,7 +1942,7 @@ static int hf_h245_encrypted = -1; /* OCTET_STRING */ static int hf_h245_encryptedAlphanumeric = -1; /* EncryptedAlphanumeric */ /*--- End of included file: packet-h245-hf.c ---*/ -#line 407 "./asn1/h245/packet-h245-template.c" +#line 408 "./asn1/h245/packet-h245-template.c" /* Initialize the subtree pointers */ static int ett_h245 = -1; @@ -2442,7 +2443,7 @@ static gint ett_h245_FlowControlIndication = -1; static gint ett_h245_MobileMultilinkReconfigurationIndication = -1; /*--- End of included file: packet-h245-ett.c ---*/ -#line 412 "./asn1/h245/packet-h245-template.c" +#line 413 "./asn1/h245/packet-h245-template.c" /* Forward declarations */ static int dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); @@ -14529,7 +14530,7 @@ static int dissect_OpenLogicalChannel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo /*--- End of included file: packet-h245-fn.c ---*/ -#line 421 "./asn1/h245/packet-h245-template.c" +#line 422 "./asn1/h245/packet-h245-template.c" static int dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) @@ -20228,7 +20229,7 @@ void proto_register_h245(void) { NULL, HFILL }}, /*--- End of included file: packet-h245-hfarr.c ---*/ -#line 507 "./asn1/h245/packet-h245-template.c" +#line 508 "./asn1/h245/packet-h245-template.c" }; /* List of subtrees */ @@ -20731,7 +20732,7 @@ void proto_register_h245(void) { &ett_h245_MobileMultilinkReconfigurationIndication, /*--- End of included file: packet-h245-ettarr.c ---*/ -#line 514 "./asn1/h245/packet-h245-template.c" +#line 515 "./asn1/h245/packet-h245-template.c" }; module_t *h245_module; @@ -20759,8 +20760,8 @@ void proto_register_h245(void) { "Show h245 info in reversed order", "Whether the dissector should print items of h245 Info column in reversed order", &info_col_fmt_prepend); - register_dissector("h245dg", dissect_h245_h245, proto_h245); - register_dissector("h245", dissect_h245, proto_h245); + MultimediaSystemControlMessage_handle = register_dissector("h245dg", dissect_h245_h245, proto_h245); + h245_handle = register_dissector("h245", dissect_h245, proto_h245); nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", proto_h245, FT_STRING, BASE_NONE, DISSECTOR_TABLE_ALLOW_DUPLICATE); nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", proto_h245, FT_UINT32, BASE_HEX, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -20824,17 +20825,13 @@ void proto_register_h245(void) { /*--- proto_reg_handoff_h245 ---------------------------------------*/ void proto_reg_handoff_h245(void) { - dissector_handle_t h245_handle; - rtcp_handle = find_dissector("rtcp"); data_handle = find_dissector("data"); h263_handle = find_dissector("h263data"); amr_handle = find_dissector("amr_if2_nb"); - h245_handle = find_dissector("h245"); dissector_add_for_decode_as("tcp.port", h245_handle); - MultimediaSystemControlMessage_handle = find_dissector("h245dg"); dissector_add_for_decode_as("udp.port", MultimediaSystemControlMessage_handle); } diff --git a/epan/dissectors/packet-h248.c b/epan/dissectors/packet-h248.c index 8d64d90d94..f3294cec63 100644 --- a/epan/dissectors/packet-h248.c +++ b/epan/dissectors/packet-h248.c @@ -7695,8 +7695,8 @@ void proto_register_h248(void) { /* Register protocol */ proto_h248 = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("h248", dissect_h248, proto_h248); - register_dissector("h248.tpkt", dissect_h248_tpkt, proto_h248); + h248_handle = register_dissector("h248", dissect_h248, proto_h248); + h248_tpkt_handle = register_dissector("h248.tpkt", dissect_h248_tpkt, proto_h248); /* Register fields and subtrees */ proto_register_field_array(proto_h248, hf, array_length(hf)); @@ -7742,8 +7742,6 @@ void proto_reg_handoff_h248(void) { static guint32 tcp_port; if (!initialized) { - h248_handle = find_dissector("h248"); - h248_tpkt_handle = find_dissector("h248.tpkt"); dissector_add_uint("mtp3.service_indicator", MTP_SI_GCP, h248_handle); h248_term_handle = find_dissector_add_dependency("h248term", proto_h248); initialized = TRUE; diff --git a/epan/dissectors/packet-h283.c b/epan/dissectors/packet-h283.c index 2dc15e82fc..c85358be32 100644 --- a/epan/dissectors/packet-h283.c +++ b/epan/dissectors/packet-h283.c @@ -112,6 +112,8 @@ static gint ett_h283_NonStandardMessage = -1; static dissector_handle_t rdc_pdu_handle; static dissector_handle_t rdc_device_list_handle; static dissector_handle_t data_handle; +static dissector_handle_t h283_udp_handle; + static gboolean info_is_set; @@ -564,7 +566,7 @@ static int dissect_LCTPDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_t /*--- End of included file: packet-h283-fn.c ---*/ -#line 55 "./asn1/h283/packet-h283-template.c" +#line 57 "./asn1/h283/packet-h283-template.c" static int dissect_h283_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) @@ -720,7 +722,7 @@ void proto_register_h283(void) { NULL, HFILL }}, /*--- End of included file: packet-h283-hfarr.c ---*/ -#line 78 "./asn1/h283/packet-h283-template.c" +#line 80 "./asn1/h283/packet-h283-template.c" }; /* List of subtrees */ @@ -745,7 +747,7 @@ void proto_register_h283(void) { &ett_h283_NonStandardMessage, /*--- End of included file: packet-h283-ettarr.c ---*/ -#line 84 "./asn1/h283/packet-h283-template.c" +#line 86 "./asn1/h283/packet-h283-template.c" }; /* Register protocol */ @@ -755,16 +757,13 @@ void proto_register_h283(void) { proto_register_field_array(proto_h283, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector(PFNAME, dissect_h283_udp, proto_h283); + h283_udp_handle = register_dissector(PFNAME, dissect_h283_udp, proto_h283); } /*--- proto_reg_handoff_h283 -------------------------------------------*/ void proto_reg_handoff_h283(void) { - dissector_handle_t h283_udp_handle; - - h283_udp_handle = find_dissector(PFNAME); dissector_add_for_decode_as("udp.port", h283_udp_handle); rdc_pdu_handle = find_dissector_add_dependency("rdc", proto_h283); diff --git a/epan/dissectors/packet-h501.c b/epan/dissectors/packet-h501.c index fd6eec9d66..0f217c7c5f 100644 --- a/epan/dissectors/packet-h501.c +++ b/epan/dissectors/packet-h501.c @@ -3675,7 +3675,7 @@ void proto_register_h501(void) { proto_register_field_array(proto_h501, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector(PFNAME, dissect_h501_pdu, proto_h501); + h501_pdu_handle = register_dissector(PFNAME, dissect_h501_pdu, proto_h501); h501_module = prefs_register_protocol(proto_h501, proto_reg_handoff_h501); prefs_register_uint_preference(h501_module, "udp.port", @@ -3703,7 +3703,6 @@ void proto_reg_handoff_h501(void) static guint saved_h501_tcp_port; if (!h501_prefs_initialized) { - h501_pdu_handle = find_dissector(PFNAME); h501_udp_handle = create_dissector_handle(dissect_h501_udp, proto_h501); h501_tcp_handle = create_dissector_handle(dissect_h501_tcp, proto_h501); h501_prefs_initialized = TRUE; diff --git a/epan/dissectors/packet-hnbap.c b/epan/dissectors/packet-hnbap.c index f134647c9f..eb6d9c99d2 100644 --- a/epan/dissectors/packet-hnbap.c +++ b/epan/dissectors/packet-hnbap.c @@ -345,6 +345,8 @@ static dissector_table_t hnbap_proc_imsg_dissector_table; static dissector_table_t hnbap_proc_sout_dissector_table; static dissector_table_t hnbap_proc_uout_dissector_table; +static dissector_handle_t hnbap_handle; + static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); @@ -2588,7 +2590,7 @@ static int dissect_HNBAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot /*--- End of included file: packet-hnbap-fn.c ---*/ -#line 80 "./asn1/hnbap/packet-hnbap-template.c" +#line 82 "./asn1/hnbap/packet-hnbap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -3207,7 +3209,7 @@ module_t *hnbap_module; "UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-hnbap-hfarr.c ---*/ -#line 150 "./asn1/hnbap/packet-hnbap-template.c" +#line 152 "./asn1/hnbap/packet-hnbap-template.c" }; /* List of subtrees */ @@ -3282,7 +3284,7 @@ module_t *hnbap_module; &ett_hnbap_UnsuccessfulOutcome, /*--- End of included file: packet-hnbap-ettarr.c ---*/ -#line 156 "./asn1/hnbap/packet-hnbap-template.c" +#line 158 "./asn1/hnbap/packet-hnbap-template.c" }; @@ -3293,7 +3295,7 @@ module_t *hnbap_module; proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("hnbap", dissect_hnbap, proto_hnbap); + hnbap_handle = register_dissector("hnbap", dissect_hnbap, proto_hnbap); /* Register dissector tables */ hnbap_ies_dissector_table = register_dissector_table("hnbap.ies", "HNBAP-PROTOCOL-IES", proto_hnbap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -3312,11 +3314,9 @@ void proto_reg_handoff_hnbap(void) { static gboolean initialized = FALSE; - static dissector_handle_t hnbap_handle; static guint sctp_port; if (!initialized) { - hnbap_handle = find_dissector("hnbap"); dissector_add_uint("sctp.ppi", HNBAP_PAYLOAD_PROTOCOL_ID, hnbap_handle); initialized = TRUE; diff --git a/epan/dissectors/packet-idmp.c b/epan/dissectors/packet-idmp.c index 697644e9bb..e5bd4cb574 100644 --- a/epan/dissectors/packet-idmp.c +++ b/epan/dissectors/packet-idmp.c @@ -970,7 +970,7 @@ void proto_register_idmp(void) proto_register_field_array(proto_idmp, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("idmp", dissect_idmp_tcp, proto_idmp); + idmp_handle = register_dissector("idmp", dissect_idmp_tcp, proto_idmp); register_init_routine (&idmp_reassemble_init); register_cleanup_routine (&idmp_reassemble_cleanup); @@ -1002,9 +1002,6 @@ void proto_register_idmp(void) /*--- proto_reg_handoff_idm --- */ void proto_reg_handoff_idm(void) { - /* remember the idm handler for change in preferences */ - idmp_handle = find_dissector(PFNAME); - } diff --git a/epan/dissectors/packet-ilp.c b/epan/dissectors/packet-ilp.c index f4fdc5f728..868285c3a7 100644 --- a/epan/dissectors/packet-ilp.c +++ b/epan/dissectors/packet-ilp.c @@ -52,6 +52,8 @@ void proto_register_ilp(void); static dissector_handle_t rrlp_handle; static dissector_handle_t lpp_handle; +static dissector_handle_t ilp_handle; + /* IANA Registered Ports * oma-ilp 7276/tcp OMA Internal Location @@ -452,7 +454,7 @@ static int hf_ilp_GANSSSignals_signal7 = -1; static int hf_ilp_GANSSSignals_signal8 = -1; /*--- End of included file: packet-ilp-hf.c ---*/ -#line 62 "./asn1/ilp/packet-ilp-template.c" +#line 64 "./asn1/ilp/packet-ilp-template.c" static int hf_ilp_mobile_directory_number = -1; /* Initialize the subtree pointers */ @@ -598,7 +600,7 @@ static gint ett_ilp_T_lPPPayload = -1; static gint ett_ilp_T_tia801Payload = -1; /*--- End of included file: packet-ilp-ett.c ---*/ -#line 68 "./asn1/ilp/packet-ilp-template.c" +#line 70 "./asn1/ilp/packet-ilp-template.c" /* Include constants */ @@ -615,7 +617,7 @@ static gint ett_ilp_T_tia801Payload = -1; #define maxPosSize 1024 /*--- End of included file: packet-ilp-val.h ---*/ -#line 71 "./asn1/ilp/packet-ilp-template.c" +#line 73 "./asn1/ilp/packet-ilp-template.c" @@ -4145,7 +4147,7 @@ static int dissect_ILP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_ /*--- End of included file: packet-ilp-fn.c ---*/ -#line 74 "./asn1/ilp/packet-ilp-template.c" +#line 76 "./asn1/ilp/packet-ilp-template.c" static guint @@ -5696,7 +5698,7 @@ void proto_register_ilp(void) { NULL, HFILL }}, /*--- End of included file: packet-ilp-hfarr.c ---*/ -#line 100 "./asn1/ilp/packet-ilp-template.c" +#line 102 "./asn1/ilp/packet-ilp-template.c" { &hf_ilp_mobile_directory_number, { "Mobile Directory Number", "ilp.mobile_directory_number", FT_STRING, BASE_NONE, NULL, 0, @@ -5847,7 +5849,7 @@ void proto_register_ilp(void) { &ett_ilp_T_tia801Payload, /*--- End of included file: packet-ilp-ettarr.c ---*/ -#line 111 "./asn1/ilp/packet-ilp-template.c" +#line 113 "./asn1/ilp/packet-ilp-template.c" }; module_t *ilp_module; @@ -5855,7 +5857,7 @@ void proto_register_ilp(void) { /* Register protocol */ proto_ilp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("ilp", dissect_ilp_tcp, proto_ilp); + ilp_handle = register_dissector("ilp", dissect_ilp_tcp, proto_ilp); /* Register fields and subtrees */ proto_register_field_array(proto_ilp, hf, array_length(hf)); @@ -5884,11 +5886,9 @@ void proto_reg_handoff_ilp(void) { static gboolean initialized = FALSE; - static dissector_handle_t ilp_handle; static guint local_ilp_port; if (!initialized) { - ilp_handle = find_dissector_add_dependency("ilp", proto_ilp); dissector_add_string("media_type","application/oma-supl-ilp", ilp_handle); rrlp_handle = find_dissector_add_dependency("rrlp", proto_ilp); lpp_handle = find_dissector_add_dependency("lpp", proto_ilp); diff --git a/epan/dissectors/packet-inap.c b/epan/dissectors/packet-inap.c index 4ff6ce0c24..7bee59f799 100644 --- a/epan/dissectors/packet-inap.c +++ b/epan/dissectors/packet-inap.c @@ -9414,7 +9414,6 @@ void proto_reg_handoff_inap(void) { if (!inap_prefs_initialized) { inap_prefs_initialized = TRUE; - inap_handle = find_dissector("inap"); oid_add_from_string("Core-INAP-CS1-Codes","0.4.0.1.1.0.3.0"); oid_add_from_string("iso(1) identified-organization(3) icd-ecma(12) member-company(2) 1107 oen(3) inap(3) extensions(2)","1.3.12.2.1107.3.3.2"); oid_add_from_string("alcatel(1006)","1.3.12.2.1006.64"); @@ -11689,7 +11688,7 @@ void proto_register_inap(void) { "InvokeId_present", HFILL }}, /*--- End of included file: packet-inap-hfarr.c ---*/ -#line 211 "./asn1/inap/packet-inap-template.c" +#line 210 "./asn1/inap/packet-inap-template.c" }; @@ -11945,7 +11944,7 @@ void proto_register_inap(void) { &ett_inap_InvokeId, /*--- End of included file: packet-inap-ettarr.c ---*/ -#line 226 "./asn1/inap/packet-inap-template.c" +#line 225 "./asn1/inap/packet-inap-template.c" }; static ei_register_info ei[] = { @@ -11958,7 +11957,7 @@ void proto_register_inap(void) { /* Register protocol */ proto_inap = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("inap", dissect_inap, proto_inap); + inap_handle = register_dissector("inap", dissect_inap, proto_inap); /* Register fields and subtrees */ proto_register_field_array(proto_inap, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); diff --git a/epan/dissectors/packet-lcsap.c b/epan/dissectors/packet-lcsap.c index 9149a282da..41bf546c1c 100644 --- a/epan/dissectors/packet-lcsap.c +++ b/epan/dissectors/packet-lcsap.c @@ -297,6 +297,8 @@ static guint32 ProtocolExtensionID; static guint32 PayloadType = -1; static guint gbl_lcsapSctpPort=SCTP_PORT_LCSAP; +static dissector_handle_t lcsap_handle; + /* Dissector tables */ static dissector_table_t lcsap_ies_dissector_table; @@ -2229,7 +2231,7 @@ static int dissect_LCS_AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro /*--- End of included file: packet-lcsap-fn.c ---*/ -#line 190 "./asn1/lcsap/packet-lcsap-template.c" +#line 192 "./asn1/lcsap/packet-lcsap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -2280,11 +2282,9 @@ void proto_reg_handoff_lcsap(void) { static gboolean Initialized=FALSE; - static dissector_handle_t lcsap_handle; static guint SctpPort; if (!Initialized) { - lcsap_handle = find_dissector("lcsap"); lpp_handle = find_dissector_add_dependency("lpp", proto_lcsap); lppa_handle = find_dissector_add_dependency("lppa", proto_lcsap); dissector_add_for_decode_as("sctp.port", lcsap_handle); /* for "decode-as" */ @@ -2880,7 +2880,7 @@ void proto_register_lcsap(void) { /* Register fields and subtrees */ proto_register_field_array(proto_lcsap, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("lcsap", dissect_lcsap, proto_lcsap); + lcsap_handle = register_dissector("lcsap", dissect_lcsap, proto_lcsap); /* Register dissector tables */ lcsap_ies_dissector_table = register_dissector_table("lcsap.ies", "LCS-AP-PROTOCOL-IES", proto_lcsap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c index ac0253d423..f11baebcbc 100644 --- a/epan/dissectors/packet-ldap.c +++ b/epan/dissectors/packet-ldap.c @@ -5771,7 +5771,7 @@ void proto_register_ldap(void) { expert_ldap = expert_register_protocol(proto_ldap); expert_register_field_array(expert_ldap, ei, array_length(ei)); - register_dissector("ldap", dissect_ldap_tcp, proto_ldap); + ldap_handle = register_dissector("ldap", dissect_ldap_tcp, proto_ldap); ldap_module = prefs_register_protocol(proto_ldap, prefs_register_ldap); prefs_register_bool_preference(ldap_module, "desegment_ldap_messages", @@ -5829,7 +5829,6 @@ void proto_reg_handoff_ldap(void) { dissector_handle_t cldap_handle; - ldap_handle = find_dissector("ldap"); dissector_add_uint("tcp.port", TCP_PORT_GLOBALCAT_LDAP, ldap_handle); @@ -5915,7 +5914,7 @@ proto_reg_handoff_ldap(void) /*--- End of included file: packet-ldap-dis-tab.c ---*/ -#line 2353 "./asn1/ldap/packet-ldap-template.c" +#line 2352 "./asn1/ldap/packet-ldap-template.c" } diff --git a/epan/dissectors/packet-mpeg-pes.c b/epan/dissectors/packet-mpeg-pes.c index c5ce31ce55..61c03fe35e 100644 --- a/epan/dissectors/packet-mpeg-pes.c +++ b/epan/dissectors/packet-mpeg-pes.c @@ -519,6 +519,7 @@ static int hf_mpeg_video_picture = -1; static int hf_mpeg_video_quantization_matrix = -1; static int hf_mpeg_video_data = -1; +static dissector_handle_t mpeg_handle; enum { PES_PREFIX = 1 }; enum { @@ -1185,7 +1186,7 @@ proto_register_mpeg_pes(void) "BIT_STRING_SIZE_16", HFILL }}, /*--- End of included file: packet-mpeg-pes-hfarr.c ---*/ -#line 543 "./asn1/mpeg-pes/packet-mpeg-pes-template.c" +#line 544 "./asn1/mpeg-pes/packet-mpeg-pes-template.c" { &hf_mpeg_pes_pack_header, { "Pack header", "mpeg-pes.pack", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -1303,7 +1304,7 @@ proto_register_mpeg_pes(void) &ett_mpeg_pes_Picture, /*--- End of included file: packet-mpeg-pes-ettarr.c ---*/ -#line 650 "./asn1/mpeg-pes/packet-mpeg-pes-template.c" +#line 651 "./asn1/mpeg-pes/packet-mpeg-pes-template.c" &ett_mpeg_pes_pack_header, &ett_mpeg_pes_header_data, &ett_mpeg_pes_trick_mode @@ -1311,7 +1312,7 @@ proto_register_mpeg_pes(void) proto_mpeg = proto_register_protocol( "Moving Picture Experts Group", "MPEG", "mpeg"); - register_dissector("mpeg", dissect_mpeg, proto_mpeg); + mpeg_handle = register_dissector("mpeg", dissect_mpeg, proto_mpeg); heur_subdissector_list = register_heur_dissector_list("mpeg", proto_mpeg); proto_mpeg_pes = proto_register_protocol( @@ -1324,8 +1325,6 @@ proto_register_mpeg_pes(void) void proto_reg_handoff_mpeg_pes(void) { - dissector_handle_t mpeg_handle = find_dissector("mpeg"); - dissector_add_uint("wtap_encap", WTAP_ENCAP_MPEG, mpeg_handle); heur_dissector_add("mpeg", dissect_mpeg_pes, "MPEG PES", "mpeg_pes", proto_mpeg_pes, HEURISTIC_ENABLE); } diff --git a/epan/dissectors/packet-nbap.c b/epan/dissectors/packet-nbap.c index 9f21f0269d..b4d0f288a5 100644 --- a/epan/dissectors/packet-nbap.c +++ b/epan/dissectors/packet-nbap.c @@ -6488,6 +6488,8 @@ static expert_field ei_nbap_hsdsch_entity_not_specified = EI_INIT; extern int proto_fp; +static dissector_handle_t nbap_handle; + /* * Structure to build information needed to dissect the FP flow beeing set up. */ @@ -55187,7 +55189,7 @@ static int dissect_NULL_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tre /*--- End of included file: packet-nbap-fn.c ---*/ -#line 332 "./asn1/nbap/packet-nbap-template.c" +#line 334 "./asn1/nbap/packet-nbap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -68521,7 +68523,7 @@ void proto_register_nbap(void) NULL, HFILL }}, /*--- End of included file: packet-nbap-hfarr.c ---*/ -#line 501 "./asn1/nbap/packet-nbap-template.c" +#line 503 "./asn1/nbap/packet-nbap-template.c" }; /* List of subtrees */ @@ -70161,7 +70163,7 @@ void proto_register_nbap(void) &ett_nbap_Outcome, /*--- End of included file: packet-nbap-ettarr.c ---*/ -#line 510 "./asn1/nbap/packet-nbap-template.c" +#line 512 "./asn1/nbap/packet-nbap-template.c" }; static ei_register_info ei[] = { @@ -70182,7 +70184,7 @@ void proto_register_nbap(void) expert_register_field_array(expert_nbap, ei, array_length(ei)); /* Register dissector */ - register_dissector("nbap", dissect_nbap, proto_nbap); + nbap_handle = register_dissector("nbap", dissect_nbap, proto_nbap); nbap_module = prefs_register_protocol(proto_nbap, NULL); @@ -70209,9 +70211,6 @@ void proto_register_nbap(void) void proto_reg_handoff_nbap(void) { - dissector_handle_t nbap_handle; - - nbap_handle = find_dissector("nbap"); fp_handle = find_dissector("fp"); dissector_add_uint("sctp.ppi", NBAP_PAYLOAD_PROTOCOL_ID, nbap_handle); #ifdef EXTRA_PPI @@ -71316,7 +71315,7 @@ proto_reg_handoff_nbap(void) /*--- End of included file: packet-nbap-dis-tab.c ---*/ -#line 568 "./asn1/nbap/packet-nbap-template.c" +#line 567 "./asn1/nbap/packet-nbap-template.c" } diff --git a/epan/dissectors/packet-p1.c b/epan/dissectors/packet-p1.c index dd8e972f8a..5fa2f90bf9 100644 --- a/epan/dissectors/packet-p1.c +++ b/epan/dissectors/packet-p1.c @@ -843,6 +843,8 @@ static dissector_table_t p1_extension_dissector_table; static dissector_table_t p1_extension_attribute_dissector_table; static dissector_table_t p1_tokendata_dissector_table; +static dissector_handle_t p1_handle; + /*--- Included file: packet-p1-table.c ---*/ #line 1 "./asn1/p1/packet-p1-table.c" @@ -887,7 +889,7 @@ static const value_string p3_err_code_string_vals[] = { /*--- End of included file: packet-p1-table.c ---*/ -#line 88 "./asn1/p1/packet-p1-template.c" +#line 90 "./asn1/p1/packet-p1-template.c" #define P1_ADDRESS_CTX "p1-address-ctx" typedef struct p1_address_ctx { @@ -8386,7 +8388,7 @@ static int dissect_SecurityClassification_PDU(tvbuff_t *tvb _U_, packet_info *pi /*--- End of included file: packet-p1-fn.c ---*/ -#line 165 "./asn1/p1/packet-p1-template.c" +#line 167 "./asn1/p1/packet-p1-template.c" /*--- Included file: packet-p1-table11.c ---*/ @@ -8418,7 +8420,7 @@ static const ros_opr_t p3_opr_tab[] = { /*--- End of included file: packet-p1-table11.c ---*/ -#line 167 "./asn1/p1/packet-p1-template.c" +#line 169 "./asn1/p1/packet-p1-template.c" /*--- Included file: packet-p1-table21.c ---*/ #line 1 "./asn1/p1/packet-p1-table21.c" @@ -8463,7 +8465,7 @@ static const ros_err_t p3_err_tab[] = { /*--- End of included file: packet-p1-table21.c ---*/ -#line 168 "./asn1/p1/packet-p1-template.c" +#line 170 "./asn1/p1/packet-p1-template.c" static const ros_info_t p3_ros_info = { "P3", @@ -10881,7 +10883,7 @@ void proto_register_p1(void) { NULL, HFILL }}, /*--- End of included file: packet-p1-hfarr.c ---*/ -#line 337 "./asn1/p1/packet-p1-template.c" +#line 339 "./asn1/p1/packet-p1-template.c" }; /* List of subtrees */ @@ -11078,7 +11080,7 @@ void proto_register_p1(void) { &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields, /*--- End of included file: packet-p1-ettarr.c ---*/ -#line 350 "./asn1/p1/packet-p1-template.c" +#line 352 "./asn1/p1/packet-p1-template.c" }; static ei_register_info ei[] = { @@ -11095,7 +11097,7 @@ void proto_register_p1(void) { /* Register protocol */ proto_p1 = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("p1", dissect_p1, proto_p1); + p1_handle = register_dissector("p1", dissect_p1, proto_p1); proto_p3 = proto_register_protocol("X.411 Message Access Service", "P3", "p3"); @@ -11127,14 +11129,12 @@ void proto_register_p1(void) { register_ber_syntax_dissector("ORName", proto_p1, dissect_ORName_PDU); /*--- End of included file: packet-p1-syn-reg.c ---*/ -#line 391 "./asn1/p1/packet-p1-template.c" +#line 393 "./asn1/p1/packet-p1-template.c" } /*--- proto_reg_handoff_p1 --- */ void proto_reg_handoff_p1(void) { - dissector_handle_t p1_handle; - /*--- Included file: packet-p1-dis-tab.c ---*/ #line 1 "./asn1/p1/packet-p1-dis-tab.c" @@ -11300,8 +11300,6 @@ void proto_reg_handoff_p1(void) { oid_add_from_string("id-ac-mts-transfer","2.6.0.1.6"); /* ABSTRACT SYNTAXES */ - - p1_handle = find_dissector("p1"); register_rtse_oid_dissector_handle("2.6.0.2.12", p1_handle, 0, "id-as-mta-rtse", TRUE); register_rtse_oid_dissector_handle("2.6.0.2.7", p1_handle, 0, "id-as-mtse", FALSE); diff --git a/epan/dissectors/packet-pcap.c b/epan/dissectors/packet-pcap.c index 8baa3f180e..7bd19a35e7 100644 --- a/epan/dissectors/packet-pcap.c +++ b/epan/dissectors/packet-pcap.c @@ -13575,7 +13575,6 @@ proto_reg_handoff_pcap(void) static range_t *ssn_range; if (! prefs_initialized) { - pcap_handle = find_dissector("pcap"); sccp_ssn_table = find_dissector_table("sccp.ssn"); prefs_initialized = TRUE; @@ -13719,7 +13718,7 @@ proto_reg_handoff_pcap(void) /*--- End of included file: packet-pcap-dis-tab.c ---*/ -#line 156 "./asn1/pcap/packet-pcap-template.c" +#line 155 "./asn1/pcap/packet-pcap-template.c" } else { dissector_delete_uint_range("sccp.ssn", ssn_range, pcap_handle); g_free(ssn_range); @@ -18300,7 +18299,7 @@ void proto_register_pcap(void) { NULL, HFILL }}, /*--- End of included file: packet-pcap-hfarr.c ---*/ -#line 172 "./asn1/pcap/packet-pcap-template.c" +#line 171 "./asn1/pcap/packet-pcap-template.c" }; /* List of subtrees */ @@ -18704,7 +18703,7 @@ void proto_register_pcap(void) { &ett_pcap_Outcome, /*--- End of included file: packet-pcap-ettarr.c ---*/ -#line 178 "./asn1/pcap/packet-pcap-template.c" +#line 177 "./asn1/pcap/packet-pcap-template.c" }; module_t *pcap_module; @@ -18718,7 +18717,7 @@ void proto_register_pcap(void) { pcap_module = prefs_register_protocol(proto_pcap, proto_reg_handoff_pcap); /* Register dissector */ - register_dissector("pcap", dissect_pcap, proto_pcap); + pcap_handle = register_dissector("pcap", dissect_pcap, proto_pcap); /* Register dissector tables */ pcap_ies_dissector_table = register_dissector_table("pcap.ies", "PCAP-PROTOCOL-IES", proto_pcap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c index 6ffd10cf69..82bf0154d4 100644 --- a/epan/dissectors/packet-ranap.c +++ b/epan/dissectors/packet-ranap.c @@ -1490,6 +1490,9 @@ static guint32 ProcedureCode; static guint32 ProtocolIE_ID; static guint32 ProtocolExtensionID; static gboolean glbl_dissect_container = FALSE; + +static dissector_handle_t ranap_handle; + /* Some IE:s identities uses the same value for different IE:s * depending on PDU type: * InitiatingMessage @@ -13091,7 +13094,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 143 "./asn1/ranap/packet-ranap-template.c" +#line 146 "./asn1/ranap/packet-ranap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) @@ -16145,7 +16148,7 @@ void proto_register_ranap(void) { NULL, HFILL }}, /*--- End of included file: packet-ranap-hfarr.c ---*/ -#line 328 "./asn1/ranap/packet-ranap-template.c" +#line 331 "./asn1/ranap/packet-ranap-template.c" }; /* List of subtrees */ @@ -16482,7 +16485,7 @@ void proto_register_ranap(void) { &ett_ranap_Outcome, /*--- End of included file: packet-ranap-ettarr.c ---*/ -#line 336 "./asn1/ranap/packet-ranap-template.c" +#line 339 "./asn1/ranap/packet-ranap-template.c" }; @@ -16493,7 +16496,7 @@ void proto_register_ranap(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("ranap", dissect_ranap, proto_ranap); + ranap_handle = register_dissector("ranap", dissect_ranap, proto_ranap); /* Register dissector tables */ ranap_ies_dissector_table = register_dissector_table("ranap.ies", "RANAP-PROTOCOL-IES", proto_ranap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -16523,11 +16526,9 @@ void proto_reg_handoff_ranap(void) { static gboolean initialized = FALSE; - static dissector_handle_t ranap_handle; static gint local_ranap_sccp_ssn; if (!initialized) { - ranap_handle = find_dissector("ranap"); 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("rrc.irat.ho_to_utran_cmd"); @@ -16865,7 +16866,7 @@ proto_reg_handoff_ranap(void) /*--- End of included file: packet-ranap-dis-tab.c ---*/ -#line 386 "./asn1/ranap/packet-ranap-template.c" +#line 387 "./asn1/ranap/packet-ranap-template.c" } else { dissector_delete_uint("sccp.ssn", local_ranap_sccp_ssn, ranap_handle); } diff --git a/epan/dissectors/packet-rnsap.c b/epan/dissectors/packet-rnsap.c index 825c4df804..59a507b3ba 100644 --- a/epan/dissectors/packet-rnsap.c +++ b/epan/dissectors/packet-rnsap.c @@ -5848,6 +5848,8 @@ static dissector_table_t rnsap_proc_imsg_dissector_table; static dissector_table_t rnsap_proc_sout_dissector_table; static dissector_table_t rnsap_proc_uout_dissector_table; +static dissector_handle_t rnsap_handle; + static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_PrivateIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); @@ -49022,7 +49024,7 @@ static int dissect_NULL_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tre /*--- End of included file: packet-rnsap-fn.c ---*/ -#line 88 "./asn1/rnsap/packet-rnsap-template.c" +#line 90 "./asn1/rnsap/packet-rnsap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -61500,7 +61502,7 @@ void proto_register_rnsap(void) { "Outcome_value", HFILL }}, /*--- End of included file: packet-rnsap-hfarr.c ---*/ -#line 145 "./asn1/rnsap/packet-rnsap-template.c" +#line 147 "./asn1/rnsap/packet-rnsap-template.c" }; /* List of subtrees */ @@ -62938,7 +62940,7 @@ void proto_register_rnsap(void) { &ett_rnsap_Outcome, /*--- End of included file: packet-rnsap-ettarr.c ---*/ -#line 151 "./asn1/rnsap/packet-rnsap-template.c" +#line 153 "./asn1/rnsap/packet-rnsap-template.c" }; @@ -62949,7 +62951,7 @@ void proto_register_rnsap(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("rnsap", dissect_rnsap, proto_rnsap); + rnsap_handle = register_dissector("rnsap", dissect_rnsap, proto_rnsap); /* Register dissector tables */ rnsap_ies_dissector_table = register_dissector_table("rnsap.ies", "RNSAP-PROTOCOL-IES", proto_rnsap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -62965,9 +62967,6 @@ void proto_register_rnsap(void) { void proto_reg_handoff_rnsap(void) { - dissector_handle_t rnsap_handle; - - rnsap_handle = find_dissector("rnsap"); rrc_dl_dcch_handle = find_dissector_add_dependency("rrc.dl.dcch", proto_rnsap); dissector_add_uint("sccp.ssn", SCCP_SSN_RNSAP, rnsap_handle); @@ -63900,7 +63899,7 @@ proto_reg_handoff_rnsap(void) /*--- End of included file: packet-rnsap-dis-tab.c ---*/ -#line 187 "./asn1/rnsap/packet-rnsap-template.c" +#line 186 "./asn1/rnsap/packet-rnsap-template.c" } diff --git a/epan/dissectors/packet-ros.c b/epan/dissectors/packet-ros.c index 7f40cf4f44..128d40bdd7 100644 --- a/epan/dissectors/packet-ros.c +++ b/epan/dissectors/packet-ros.c @@ -1272,7 +1272,7 @@ void proto_register_ros(void) { /* Register protocol */ proto_ros = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("ros", dissect_ros, proto_ros); + ros_handle = register_dissector("ros", dissect_ros, proto_ros); /* Register fields and subtrees */ proto_register_field_array(proto_ros, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -1283,8 +1283,6 @@ void proto_register_ros(void) { oid_table=g_hash_table_new(g_str_hash, g_str_equal); protocol_table=g_hash_table_new(g_str_hash, g_str_equal); - ros_handle = find_dissector("ros"); - register_cleanup_routine(ros_cleanup); } diff --git a/epan/dissectors/packet-rua.c b/epan/dissectors/packet-rua.c index 6c56da31e9..8ab8fd173e 100644 --- a/epan/dissectors/packet-rua.c +++ b/epan/dissectors/packet-rua.c @@ -222,6 +222,8 @@ static dissector_table_t rua_proc_imsg_dissector_table; static dissector_table_t rua_proc_sout_dissector_table; static dissector_table_t rua_proc_uout_dissector_table; +static dissector_handle_t rua_handle; + static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); @@ -1357,7 +1359,7 @@ static int dissect_RUA_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_ /*--- End of included file: packet-rua-fn.c ---*/ -#line 84 "./asn1/rua/packet-rua-template.c" +#line 86 "./asn1/rua/packet-rua-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -1681,7 +1683,7 @@ module_t *rua_module; "UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-rua-hfarr.c ---*/ -#line 135 "./asn1/rua/packet-rua-template.c" +#line 137 "./asn1/rua/packet-rua-template.c" }; /* List of subtrees */ @@ -1728,7 +1730,7 @@ module_t *rua_module; &ett_rua_UnsuccessfulOutcome, /*--- End of included file: packet-rua-ettarr.c ---*/ -#line 141 "./asn1/rua/packet-rua-template.c" +#line 143 "./asn1/rua/packet-rua-template.c" }; @@ -1739,7 +1741,7 @@ module_t *rua_module; proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("rua", dissect_rua, proto_rua); + rua_handle = register_dissector("rua", dissect_rua, proto_rua); /* Register dissector tables */ rua_ies_dissector_table = register_dissector_table("rua.ies", "RUA-PROTOCOL-IES", proto_rua, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -1759,11 +1761,9 @@ void proto_reg_handoff_rua(void) { static gboolean initialized = FALSE; - static dissector_handle_t rua_handle; static guint sctp_port; if (!initialized) { - rua_handle = find_dissector("rua"); ranap_handle = find_dissector_add_dependency("ranap", proto_rua); dissector_add_uint("sctp.ppi", RUA_PAYLOAD_PROTOCOL_ID, rua_handle); initialized = TRUE; diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c index 93f822f5e4..0d4c0dfcc1 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -1366,6 +1366,8 @@ static gboolean g_s1ap_dissect_container = TRUE; static const char *obj_id = NULL; static dissector_handle_t gcsna_handle = NULL; +static dissector_handle_t s1ap_handle; + /* Dissector tables */ static dissector_table_t s1ap_ies_dissector_table; @@ -11811,7 +11813,7 @@ int dissect_s1ap_SONtransferCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, /*--- End of included file: packet-s1ap-fn.c ---*/ -#line 136 "./asn1/s1ap/packet-s1ap-template.c" +#line 138 "./asn1/s1ap/packet-s1ap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -11886,10 +11888,8 @@ void proto_reg_handoff_s1ap(void) { static gboolean Initialized=FALSE; - static dissector_handle_t s1ap_handle; static guint SctpPort; - s1ap_handle = find_dissector("s1ap"); gcsna_handle = find_dissector_add_dependency("gcsna", proto_s1ap); if (!Initialized) { @@ -15025,7 +15025,7 @@ void proto_register_s1ap(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("s1ap", dissect_s1ap, proto_s1ap); + s1ap_handle = register_dissector("s1ap", dissect_s1ap, proto_s1ap); /* Register dissector tables */ s1ap_ies_dissector_table = register_dissector_table("s1ap.ies", "S1AP-PROTOCOL-IES", proto_s1ap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); diff --git a/epan/dissectors/packet-sabp.c b/epan/dissectors/packet-sabp.c index 20dc8e5089..f729fcc41f 100644 --- a/epan/dissectors/packet-sabp.c +++ b/epan/dissectors/packet-sabp.c @@ -265,6 +265,9 @@ static dissector_table_t sabp_proc_imsg_dissector_table; static dissector_table_t sabp_proc_sout_dissector_table; static dissector_table_t sabp_proc_uout_dissector_table; +static dissector_handle_t sabp_handle; +static dissector_handle_t sabp_tcp_handle; + static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); @@ -1727,7 +1730,7 @@ static int dissect_SABP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto /*--- End of included file: packet-sabp-fn.c ---*/ -#line 94 "./asn1/sabp/packet-sabp-template.c" +#line 97 "./asn1/sabp/packet-sabp-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -2201,7 +2204,7 @@ void proto_register_sabp(void) { "UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-sabp-hfarr.c ---*/ -#line 247 "./asn1/sabp/packet-sabp-template.c" +#line 250 "./asn1/sabp/packet-sabp-template.c" }; /* List of subtrees */ @@ -2258,7 +2261,7 @@ void proto_register_sabp(void) { &ett_sabp_UnsuccessfulOutcome, /*--- End of included file: packet-sabp-ettarr.c ---*/ -#line 260 "./asn1/sabp/packet-sabp-template.c" +#line 263 "./asn1/sabp/packet-sabp-template.c" }; @@ -2269,8 +2272,8 @@ void proto_register_sabp(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("sabp", dissect_sabp, proto_sabp); - register_dissector("sabp.tcp", dissect_sabp_tcp, proto_sabp); + sabp_handle = register_dissector("sabp", dissect_sabp, proto_sabp); + sabp_tcp_handle = register_dissector("sabp.tcp", dissect_sabp_tcp, proto_sabp); /* Register dissector tables */ sabp_ies_dissector_table = register_dissector_table("sabp.ies", "SABP-PROTOCOL-IES", proto_sabp, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -2285,11 +2288,6 @@ void proto_register_sabp(void) { void proto_reg_handoff_sabp(void) { - dissector_handle_t sabp_handle; - dissector_handle_t sabp_tcp_handle; - - sabp_handle = find_dissector("sabp"); - sabp_tcp_handle = find_dissector("sabp.tcp"); dissector_add_uint("udp.port", 3452, sabp_handle); dissector_add_uint("tcp.port", 3452, sabp_tcp_handle); dissector_add_uint("sctp.ppi", SABP_PAYLOAD_PROTOCOL_ID, sabp_handle); @@ -2340,7 +2338,7 @@ proto_reg_handoff_sabp(void) /*--- End of included file: packet-sabp-dis-tab.c ---*/ -#line 296 "./asn1/sabp/packet-sabp-template.c" +#line 294 "./asn1/sabp/packet-sabp-template.c" } diff --git a/epan/dissectors/packet-snmp.c b/epan/dissectors/packet-snmp.c index f9b3640c52..5045c8c906 100644 --- a/epan/dissectors/packet-snmp.c +++ b/epan/dissectors/packet-snmp.c @@ -4022,7 +4022,7 @@ void proto_register_snmp(void) { /* Register protocol */ proto_snmp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("snmp", dissect_snmp, proto_snmp); + snmp_handle = register_dissector("snmp", dissect_snmp, proto_snmp); /* Register fields and subtrees */ proto_register_field_array(proto_snmp, hf, array_length(hf)); @@ -4081,8 +4081,6 @@ void proto_register_snmp(void) { void proto_reg_handoff_snmp(void) { dissector_handle_t snmp_tcp_handle; - snmp_handle = find_dissector("snmp"); - dissector_add_uint("udp.port", UDP_PORT_SNMP, snmp_handle); dissector_add_uint("udp.port", UDP_PORT_SNMP_TRAP, snmp_handle); dissector_add_uint("udp.port", UDP_PORT_SNMP_PATROL, snmp_handle); diff --git a/epan/dissectors/packet-spnego.c b/epan/dissectors/packet-spnego.c index cc597443ac..e988bb7ee8 100644 --- a/epan/dissectors/packet-spnego.c +++ b/epan/dissectors/packet-spnego.c @@ -141,6 +141,10 @@ static gint ett_spnego_InitialContextToken_U = -1; static expert_field ei_spnego_decrypted_keytype = EI_INIT; static expert_field ei_spnego_unknown_header = EI_INIT; +static dissector_handle_t spnego_handle; +static dissector_handle_t spnego_krb5_handle; +static dissector_handle_t spnego_krb5_wrap_handle; + /* * Unfortunately, we have to have forward declarations of thess, * as the code generated by asn2wrs includes a call before the @@ -555,7 +559,7 @@ dissect_spnego_InitialContextToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, /*--- End of included file: packet-spnego-fn.c ---*/ -#line 107 "./asn1/spnego/packet-spnego-template.c" +#line 111 "./asn1/spnego/packet-spnego-template.c" /* * This is the SPNEGO KRB5 dissector. It is not true KRB5, but some ASN.1 * wrapped blob with an OID, USHORT token ID, and a Ticket, that is also @@ -1962,7 +1966,7 @@ void proto_register_spnego(void) { NULL, HFILL }}, /*--- End of included file: packet-spnego-hfarr.c ---*/ -#line 1417 "./asn1/spnego/packet-spnego-template.c" +#line 1421 "./asn1/spnego/packet-spnego-template.c" }; /* List of subtrees */ @@ -1985,7 +1989,7 @@ void proto_register_spnego(void) { &ett_spnego_InitialContextToken_U, /*--- End of included file: packet-spnego-ettarr.c ---*/ -#line 1427 "./asn1/spnego/packet-spnego-template.c" +#line 1431 "./asn1/spnego/packet-spnego-template.c" }; static ei_register_info ei[] = { @@ -1998,14 +2002,14 @@ void proto_register_spnego(void) { /* Register protocol */ proto_spnego = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("spnego", dissect_spnego, proto_spnego); + spnego_handle = register_dissector("spnego", dissect_spnego, proto_spnego); proto_spnego_krb5 = proto_register_protocol("SPNEGO-KRB5", "SPNEGO-KRB5", "spnego-krb5"); - register_dissector("spnego-krb5", dissect_spnego_krb5, proto_spnego_krb5); - register_dissector("spnego-krb5-wrap", dissect_spnego_krb5_wrap, proto_spnego_krb5); + spnego_krb5_handle = register_dissector("spnego-krb5", dissect_spnego_krb5, proto_spnego_krb5); + spnego_krb5_wrap_handle = register_dissector("spnego-krb5-wrap", dissect_spnego_krb5_wrap, proto_spnego_krb5); /* Register fields and subtrees */ proto_register_field_array(proto_spnego, hf, array_length(hf)); @@ -2018,12 +2022,10 @@ void proto_register_spnego(void) { /*--- proto_reg_handoff_spnego ---------------------------------------*/ void proto_reg_handoff_spnego(void) { - dissector_handle_t spnego_handle, spnego_wrap_handle; - dissector_handle_t spnego_krb5_handle, spnego_krb5_wrap_handle; + dissector_handle_t spnego_wrap_handle; /* Register protocol with GSS-API module */ - spnego_handle = find_dissector("spnego"); spnego_wrap_handle = create_dissector_handle(dissect_spnego_wrap, proto_spnego); gssapi_init_oid("1.3.6.1.5.5.2", proto_spnego, ett_spnego, spnego_handle, spnego_wrap_handle, @@ -2038,8 +2040,6 @@ void proto_reg_handoff_spnego(void) { * See the archive of <ietf-krb-wg@anl.gov> for the thread topic * SPNEGO implementation issues. 3-Dec-2002. */ - spnego_krb5_handle = find_dissector("spnego-krb5"); - spnego_krb5_wrap_handle = find_dissector("spnego-krb5-wrap"); gssapi_init_oid("1.2.840.48018.1.2.2", proto_spnego_krb5, ett_spnego_krb5, spnego_krb5_handle, spnego_krb5_wrap_handle, "MS KRB5 - Microsoft Kerberos 5"); diff --git a/epan/dissectors/packet-sv.c b/epan/dissectors/packet-sv.c index 39b547d1fa..37e7da43b4 100644 --- a/epan/dissectors/packet-sv.c +++ b/epan/dissectors/packet-sv.c @@ -143,6 +143,8 @@ static expert_field ei_sv_zero_pdu = EI_INIT; static gboolean sv_decode_data_as_phsmeas = FALSE; +static dissector_handle_t sv_handle; + static const value_string sv_q_validity_vals[] = { { 0, "good" }, { 1, "invalid" }, @@ -436,7 +438,7 @@ dissect_sv_SampledValues(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse /*--- End of included file: packet-sv-fn.c ---*/ -#line 185 "./asn1/sv/packet-sv-template.c" +#line 187 "./asn1/sv/packet-sv-template.c" /* * Dissect SV PDUs inside a PPDU. @@ -605,7 +607,7 @@ void proto_register_sv(void) { NULL, HFILL }}, /*--- End of included file: packet-sv-hfarr.c ---*/ -#line 297 "./asn1/sv/packet-sv-template.c" +#line 299 "./asn1/sv/packet-sv-template.c" }; /* List of subtrees */ @@ -622,7 +624,7 @@ void proto_register_sv(void) { &ett_sv_ASDU, /*--- End of included file: packet-sv-ettarr.c ---*/ -#line 305 "./asn1/sv/packet-sv-template.c" +#line 307 "./asn1/sv/packet-sv-template.c" }; static ei_register_info ei[] = { @@ -635,7 +637,7 @@ void proto_register_sv(void) { /* Register protocol */ proto_sv = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("sv", dissect_sv, proto_sv); + sv_handle = register_dissector("sv", dissect_sv, proto_sv); /* Register fields and subtrees */ proto_register_field_array(proto_sv, hf, array_length(hf)); @@ -653,9 +655,5 @@ void proto_register_sv(void) { /*--- proto_reg_handoff_sv --- */ void proto_reg_handoff_sv(void) { - - dissector_handle_t sv_handle; - sv_handle = find_dissector("sv"); - dissector_add_uint("ethertype", ETHERTYPE_IEC61850_SV, sv_handle); } diff --git a/epan/dissectors/packet-ulp.c b/epan/dissectors/packet-ulp.c index da8fdd540d..8c8b5dbd90 100644 --- a/epan/dissectors/packet-ulp.c +++ b/epan/dissectors/packet-ulp.c @@ -944,6 +944,8 @@ static gint ett_ulp_PolygonDescription = -1; /*--- End of included file: packet-ulp-ett.c ---*/ #line 80 "./asn1/ulp/packet-ulp-template.c" +static dissector_handle_t ulp_tcp_handle; + static const value_string ulp_ganss_id_vals[] = { { 0, "Galileo"}, { 1, "SBAS"}, @@ -1210,7 +1212,7 @@ ulp_Coordinate_longitude_fmt(gchar *s, guint32 v) #define maxWimaxBSMeas 32 /*--- End of included file: packet-ulp-val.h ---*/ -#line 328 "./asn1/ulp/packet-ulp-template.c" +#line 330 "./asn1/ulp/packet-ulp-template.c" typedef struct { @@ -7789,7 +7791,7 @@ static int dissect_ULP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_ /*--- End of included file: packet-ulp-fn.c ---*/ -#line 344 "./asn1/ulp/packet-ulp-template.c" +#line 346 "./asn1/ulp/packet-ulp-template.c" static guint @@ -10360,7 +10362,7 @@ void proto_register_ulp(void) { NULL, HFILL }}, /*--- End of included file: packet-ulp-hfarr.c ---*/ -#line 370 "./asn1/ulp/packet-ulp-template.c" +#line 372 "./asn1/ulp/packet-ulp-template.c" { &hf_ulp_mobile_directory_number, { "Mobile Directory Number", "ulp.mobile_directory_number", FT_STRING, BASE_NONE, NULL, 0, @@ -10614,7 +10616,7 @@ void proto_register_ulp(void) { &ett_ulp_PolygonDescription, /*--- End of included file: packet-ulp-ettarr.c ---*/ -#line 407 "./asn1/ulp/packet-ulp-template.c" +#line 409 "./asn1/ulp/packet-ulp-template.c" }; module_t *ulp_module; @@ -10622,7 +10624,7 @@ void proto_register_ulp(void) { /* Register protocol */ proto_ulp = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("ulp", dissect_ulp_tcp, proto_ulp); + ulp_tcp_handle = register_dissector("ulp", dissect_ulp_tcp, proto_ulp); /* Register fields and subtrees */ proto_register_field_array(proto_ulp, hf, array_length(hf)); @@ -10656,11 +10658,10 @@ void proto_reg_handoff_ulp(void) { static gboolean initialized = FALSE; - static dissector_handle_t ulp_tcp_handle, ulp_udp_handle; + static dissector_handle_t ulp_udp_handle; static guint local_ulp_tcp_port, local_ulp_udp_port; if (!initialized) { - ulp_tcp_handle = find_dissector("ulp"); dissector_add_string("media_type","application/oma-supl-ulp", ulp_tcp_handle); dissector_add_string("media_type","application/vnd.omaloc-supl-init", ulp_tcp_handle); ulp_udp_handle = create_dissector_handle(dissect_ULP_PDU_PDU, proto_ulp); diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c index 9d97b2a2ba..3e24ac9168 100644 --- a/epan/dissectors/packet-x2ap.c +++ b/epan/dissectors/packet-x2ap.c @@ -777,6 +777,8 @@ static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, pro static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); void proto_reg_handoff_x2ap(void); +static dissector_handle_t x2ap_handle; + /*--- Included file: packet-x2ap-fn.c ---*/ #line 1 "./asn1/x2ap/packet-x2ap-fn.c" @@ -6220,7 +6222,7 @@ static int dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto /*--- End of included file: packet-x2ap-fn.c ---*/ -#line 88 "./asn1/x2ap/packet-x2ap-template.c" +#line 90 "./asn1/x2ap/packet-x2ap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -7723,7 +7725,7 @@ void proto_register_x2ap(void) { "UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-x2ap-hfarr.c ---*/ -#line 146 "./asn1/x2ap/packet-x2ap-template.c" +#line 148 "./asn1/x2ap/packet-x2ap-template.c" }; /* List of subtrees */ @@ -7893,7 +7895,7 @@ void proto_register_x2ap(void) { &ett_x2ap_UnsuccessfulOutcome, /*--- End of included file: packet-x2ap-ettarr.c ---*/ -#line 153 "./asn1/x2ap/packet-x2ap-template.c" +#line 155 "./asn1/x2ap/packet-x2ap-template.c" }; module_t *x2ap_module; @@ -7905,7 +7907,7 @@ void proto_register_x2ap(void) { proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ - register_dissector("x2ap", dissect_x2ap, proto_x2ap); + x2ap_handle = register_dissector("x2ap", dissect_x2ap, proto_x2ap); /* Register dissector tables */ x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", proto_x2ap, FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); @@ -7930,11 +7932,9 @@ void proto_register_x2ap(void) { void proto_reg_handoff_x2ap(void) { - dissector_handle_t x2ap_handle; static gboolean Initialized=FALSE; static guint SctpPort; - x2ap_handle = find_dissector("x2ap"); if (!Initialized) { dissector_add_for_decode_as("sctp.port", x2ap_handle); dissector_add_uint("sctp.ppi", X2AP_PAYLOAD_PROTOCOL_ID, x2ap_handle); |