diff options
author | Peter Wu <peter@lekensteyn.nl> | 2016-01-13 02:16:04 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2016-01-13 11:36:29 +0000 |
commit | bf0f5a982bc0666b6fa8d70c8d64cb1f07ab12ad (patch) | |
tree | 1a6adb34aa0b0b7b59e5f1f2fedfda9014e9769d /epan | |
parent | 4f4769adf626ec2601e3488efbc2e2d57d55762c (diff) |
Use result of register_dissector
Assign result of `register_dissector(..., func, proto)` to FOO_handle
and remove `FOO_handle = create_dissector_handle(func, proto)`.
Found by looking for files named packet-FOO.c having the above
create_dissector_handle pattern. Some files (with different dissect
routines for the two functions) remain unchanged.
Change-Id: Ifbed8202c6dbc63a1dae9acc03313980ffbbbb90
Reviewed-on: https://code.wireshark.org/review/13247
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: 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')
32 files changed, 79 insertions, 123 deletions
diff --git a/epan/dissectors/packet-bgp.c b/epan/dissectors/packet-bgp.c index 4e1f59d068..df8a0027ee 100644 --- a/epan/dissectors/packet-bgp.c +++ b/epan/dissectors/packet-bgp.c @@ -77,6 +77,8 @@ void proto_register_bgp(void); void proto_reg_handoff_bgp(void); +static dissector_handle_t bgp_handle; + /* #define MAX_STR_LEN 256 */ /* some handy things to know */ @@ -8390,15 +8392,12 @@ proto_register_bgp(void) "BGP dissector detect the length of the AS number in AS_PATH attributes automatically or manually (NOTE: Automatic detection is not 100% accurate)", &bgp_asn_len, asn_len, FALSE); - register_dissector("bgp", dissect_bgp, proto_bgp); + bgp_handle = register_dissector("bgp", dissect_bgp, proto_bgp); } void proto_reg_handoff_bgp(void) { - dissector_handle_t bgp_handle; - - bgp_handle = create_dissector_handle(dissect_bgp, proto_bgp); dissector_add_uint("tcp.port", BGP_TCP_PORT, bgp_handle); } /* diff --git a/epan/dissectors/packet-bpq.c b/epan/dissectors/packet-bpq.c index 39daaa036f..792d5c22a6 100644 --- a/epan/dissectors/packet-bpq.c +++ b/epan/dissectors/packet-bpq.c @@ -48,6 +48,7 @@ void proto_register_bpq(void); void proto_reg_handoff_bpq(void); +static dissector_handle_t bpq_handle; static dissector_handle_t ax25_handle; static int proto_bpq = -1; @@ -135,7 +136,7 @@ proto_register_bpq(void) proto_bpq = proto_register_protocol( "Amateur Radio BPQ", "BPQ", "bpq" ); /* Register the dissector */ - register_dissector( "bpq", dissect_bpq, proto_bpq ); + bpq_handle = register_dissector("bpq", dissect_bpq, proto_bpq); /* Required function calls to register the header fields and subtrees used */ proto_register_field_array( proto_bpq, hf, array_length( hf ) ); @@ -145,9 +146,6 @@ proto_register_bpq(void) void proto_reg_handoff_bpq(void) { - dissector_handle_t bpq_handle; - - bpq_handle = create_dissector_handle( dissect_bpq, proto_bpq ); dissector_add_uint("ethertype", ETHERTYPE_BPQ, bpq_handle); register_capture_dissector("ethertype", ETHERTYPE_BPQ, capture_bpq, proto_bpq); diff --git a/epan/dissectors/packet-cbor.c b/epan/dissectors/packet-cbor.c index 92b07c071d..1d32b06706 100644 --- a/epan/dissectors/packet-cbor.c +++ b/epan/dissectors/packet-cbor.c @@ -71,6 +71,8 @@ static expert_field ei_cbor_invalid_minor_type = EI_INIT; static expert_field ei_cbor_invalid_element = EI_INIT; static expert_field ei_cbor_too_long_length = EI_INIT; +static dissector_handle_t cbor_handle; + #define CBOR_TYPE_USIGNED_INT 0 #define CBOR_TYPE_NEGATIVE_INT 1 #define CBOR_TYPE_BYTE_STRING 2 @@ -853,15 +855,12 @@ proto_register_cbor(void) expert_cbor = expert_register_protocol(proto_cbor); expert_register_field_array(expert_cbor, ei, array_length(ei)); - register_dissector("cbor", dissect_cbor, proto_cbor); + cbor_handle = register_dissector("cbor", dissect_cbor, proto_cbor); } void proto_reg_handoff_cbor(void) { - static dissector_handle_t cbor_handle; - - cbor_handle = create_dissector_handle(dissect_cbor, proto_cbor); dissector_add_string("media_type", "application/cbor", cbor_handle); /* RFC 7049 */ } diff --git a/epan/dissectors/packet-cfdp.c b/epan/dissectors/packet-cfdp.c index 1c08c6309f..bc26a27417 100644 --- a/epan/dissectors/packet-cfdp.c +++ b/epan/dissectors/packet-cfdp.c @@ -127,6 +127,7 @@ static gint ett_cfdp_flow_label = -1; static expert_field ei_cfdp_bad_length = EI_INIT; +static dissector_handle_t cfdp_handle; /* Generic data handle */ static dissector_handle_t data_handle; @@ -1625,17 +1626,14 @@ proto_register_cfdp(void) expert_cfdp = expert_register_protocol(proto_cfdp); expert_register_field_array(expert_cfdp, ei, array_length(ei)); - register_dissector ( "cfdp", dissect_cfdp, proto_cfdp ); + cfdp_handle = register_dissector("cfdp", dissect_cfdp, proto_cfdp); } void proto_reg_handoff_cfdp(void) { - static dissector_handle_t cfdp_handle; - - cfdp_handle = create_dissector_handle(dissect_cfdp, proto_cfdp); dissector_add_uint("ccsds.apid", CFDP_APID, cfdp_handle); - dissector_add_for_decode_as ( "udp.port", cfdp_handle ); + dissector_add_for_decode_as("udp.port", cfdp_handle); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-cipmotion.c b/epan/dissectors/packet-cipmotion.c index 42e4ea87bb..fc6f7118ff 100644 --- a/epan/dissectors/packet-cipmotion.c +++ b/epan/dissectors/packet-cipmotion.c @@ -260,6 +260,8 @@ static gint ett_group_sync = -1; static gint ett_axis_status_set = -1; static gint ett_command_control = -1; +static dissector_handle_t cipmotion_handle; + /* These are the BITMASKS for the Time Data Set header field */ #define TIME_DATA_SET_TIME_STAMP 0x1 #define TIME_DATA_SET_TIME_OFFSET 0x2 @@ -2921,16 +2923,12 @@ proto_register_cipmotion(void) /* Register the subtrees for the protocol dissection */ proto_register_subtree_array(cip_subtree, array_length(cip_subtree)); - register_dissector( "cipmotion", dissect_cipmotion, proto_cipmotion); + cipmotion_handle = register_dissector("cipmotion", dissect_cipmotion, proto_cipmotion); } void proto_reg_handoff_cipmotion(void) { - dissector_handle_t cipmotion_handle; - - /* Create and register dissector for I/O data handling */ - cipmotion_handle = create_dissector_handle( dissect_cipmotion, proto_cipmotion ); - dissector_add_for_decode_as("enip.io", cipmotion_handle ); + dissector_add_for_decode_as("enip.io", cipmotion_handle); } /* diff --git a/epan/dissectors/packet-cipsafety.c b/epan/dissectors/packet-cipsafety.c index e5c1acee99..ea7f029526 100644 --- a/epan/dissectors/packet-cipsafety.c +++ b/epan/dissectors/packet-cipsafety.c @@ -314,6 +314,8 @@ static expert_field ei_mal_svalidator_timeout_multiplier = EI_INIT; static expert_field ei_mal_svalidator_coordination_conn_inst = EI_INIT; static expert_field ei_mal_svalidator_prod_cons_fault_count = EI_INIT; +static dissector_handle_t cipsafety_handle; + const value_string cipsafety_ssn_date_vals[8] = { { 0, "NULL SSN" }, @@ -2582,7 +2584,7 @@ proto_register_cipsafety(void) expert_cip_safety = expert_register_protocol(proto_cipsafety); expert_register_field_array(expert_cip_safety, ei, array_length(ei)); - register_dissector( "cipsafety", dissect_cipsafety, proto_cipsafety); + cipsafety_handle = register_dissector( "cipsafety", dissect_cipsafety, proto_cipsafety); /* Register CIP Safety objects */ proto_cip_class_s_supervisor = proto_register_protocol("CIP Safety Supervisor", @@ -2611,7 +2613,7 @@ proto_register_cipsafety(void) void proto_reg_handoff_cipsafety(void) { - dissector_handle_t cip_class_s_supervisor_handle, cipsafety_handle; + dissector_handle_t cip_class_s_supervisor_handle; /* Create and register dissector handle for Safety Supervisor */ cip_class_s_supervisor_handle = create_dissector_handle( dissect_cip_class_s_supervisor, proto_cip_class_s_supervisor ); @@ -2622,8 +2624,7 @@ proto_reg_handoff_cipsafety(void) dissector_add_uint( "cip.class.iface", CI_CLS_SAFETY_VALIDATOR, cip_class_s_validator_handle ); heur_dissector_add("cip.sc", dissect_class_svalidator_heur, "CIP Safety Validator", "s_validator_cip", proto_cip_class_s_validator, HEURISTIC_ENABLE); - /* Create and register dissector for I/O data handling */ - cipsafety_handle = create_dissector_handle( dissect_cipsafety, proto_cipsafety ); + /* Register dissector for I/O data handling */ dissector_add_for_decode_as("enip.io", cipsafety_handle ); proto_cip = proto_get_id_by_filter_name( "cip" ); diff --git a/epan/dissectors/packet-clnp.c b/epan/dissectors/packet-clnp.c index aa68a99e28..d5554951ae 100644 --- a/epan/dissectors/packet-clnp.c +++ b/epan/dissectors/packet-clnp.c @@ -738,7 +738,7 @@ proto_register_clnp(void) proto_register_subtree_array(ett, array_length(ett)); expert_clnp = expert_register_protocol(proto_clnp); expert_register_field_array(expert_clnp, ei, array_length(ei)); - register_dissector("clnp", dissect_clnp, proto_clnp); + clnp_handle = register_dissector("clnp", dissect_clnp, proto_clnp); clnp_heur_subdissector_list = register_heur_dissector_list("clnp"); register_init_routine(clnp_reassemble_init); register_cleanup_routine(clnp_reassemble_cleanup); @@ -772,7 +772,6 @@ proto_reg_handoff_clnp(void) idrp_handle = find_dissector("idrp"); data_handle = find_dissector("data"); - clnp_handle = create_dissector_handle(dissect_clnp, proto_clnp); dissector_add_uint("osinl.incl", NLPID_ISO8473_CLNP, clnp_handle); dissector_add_uint("osinl.incl", NLPID_NULL, clnp_handle); /* Inactive subset */ dissector_add_uint("x.25.spi", NLPID_ISO8473_CLNP, clnp_handle); diff --git a/epan/dissectors/packet-cp2179.c b/epan/dissectors/packet-cp2179.c index 00e978fca3..8d61af06c5 100644 --- a/epan/dissectors/packet-cp2179.c +++ b/epan/dissectors/packet-cp2179.c @@ -273,6 +273,8 @@ static int hf_cp2179_2bitstatusstatus5 = -1; static int hf_cp2179_2bitstatusstatus6 = -1; static int hf_cp2179_2bitstatusstatus7 = -1; +static dissector_handle_t cp2179_handle; + static const int *cp2179_simplestatus_bits[] = { &hf_cp2179_simplestatusbit0, &hf_cp2179_simplestatusbit1, @@ -1355,7 +1357,7 @@ proto_register_cp2179(void) module_t *cp2179_module; proto_cp2179 = proto_register_protocol ("CP2179 Protocol", "CP2179", "cp2179"); - register_dissector("cp2179", dissect_cp2179, proto_cp2179); + cp2179_handle = register_dissector("cp2179", dissect_cp2179, proto_cp2179); proto_register_field_array(proto_cp2179, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -1382,11 +1384,9 @@ void proto_reg_handoff_cp2179(void) { static int cp2179_prefs_initialized = FALSE; - static dissector_handle_t cp2179_handle; static unsigned int cp2179_port; if (!cp2179_prefs_initialized){ - cp2179_handle = create_dissector_handle(dissect_cp2179, proto_cp2179); cp2179_prefs_initialized = TRUE; } else { diff --git a/epan/dissectors/packet-dcm.c b/epan/dissectors/packet-dcm.c index f5056da1ed..e1328abbd9 100644 --- a/epan/dissectors/packet-dcm.c +++ b/epan/dissectors/packet-dcm.c @@ -7272,7 +7272,7 @@ proto_register_dcm(void) expert_register_field_array(expert_dcm, ei, array_length(ei)); /* Allow other dissectors to find this one by name. */ - register_dissector("dicom", dissect_dcm_static, proto_dcm); + dcm_handle = register_dissector("dicom", dissect_dcm_static, proto_dcm); dcm_module = prefs_register_protocol(proto_dcm, dcm_apply_settings); @@ -7332,8 +7332,6 @@ void proto_reg_handoff_dcm(void) { - dcm_handle = create_dissector_handle(dissect_dcm_static, proto_dcm); - dcm_apply_settings(); /* Register static ports */ heur_dissector_add("tcp", dissect_dcm_heuristic, "DICOM over TCP", "dicom_tcp", proto_dcm, HEURISTIC_DISABLE); diff --git a/epan/dissectors/packet-dhcpv6.c b/epan/dissectors/packet-dhcpv6.c index 65349a99d4..9f740414b9 100644 --- a/epan/dissectors/packet-dhcpv6.c +++ b/epan/dissectors/packet-dhcpv6.c @@ -226,6 +226,8 @@ static expert_field ei_dhcpv6_bulk_leasequery_bad_query_type = EI_INIT; static expert_field ei_dhcpv6_bulk_leasequery_no_lq_relay_data = EI_INIT; static expert_field ei_dhcpv6_bulk_leasequery_bad_msg_type = EI_INIT; +static dissector_handle_t dhcpv6_handle; + #define UDP_PORT_DHCPV6_DOWNSTREAM 546 #define UDP_PORT_DHCPV6_UPSTREAM 547 @@ -2398,7 +2400,7 @@ proto_register_dhcpv6(void) expert_register_field_array(expert_dhcpv6_bulk_leasequery, ei_bulk_leasequery, array_length(ei_bulk_leasequery)); /* Allow other dissectors to find this one by name. */ - register_dissector("dhcpv6", dissect_dhcpv6_stream, proto_dhcpv6); + dhcpv6_handle = register_dissector("dhcpv6", dissect_dhcpv6_stream, proto_dhcpv6); dhcpv6_module = prefs_register_protocol(proto_dhcpv6, NULL); prefs_register_bool_preference(dhcpv6_module, "cablelabs_interface_id", @@ -2416,9 +2418,8 @@ proto_register_dhcpv6(void) void proto_reg_handoff_dhcpv6(void) { - dissector_handle_t dhcpv6_handle, dhcpv6_bulkquery_handle; + dissector_handle_t dhcpv6_bulkquery_handle; - dhcpv6_handle = create_dissector_handle(dissect_dhcpv6_stream, proto_dhcpv6); dissector_add_uint("udp.port", UDP_PORT_DHCPV6_DOWNSTREAM, dhcpv6_handle); dissector_add_uint("udp.port", UDP_PORT_DHCPV6_UPSTREAM, dhcpv6_handle); diff --git a/epan/dissectors/packet-ehdlc.c b/epan/dissectors/packet-ehdlc.c index 3f29b65e07..7ecd30ff16 100644 --- a/epan/dissectors/packet-ehdlc.c +++ b/epan/dissectors/packet-ehdlc.c @@ -60,6 +60,8 @@ static int hf_ehdlc_s_ftype = -1; static int hf_ehdlc_ftype_i = -1; static int hf_ehdlc_ftype_s_u_ext = -1; +static dissector_handle_t ehdlc_handle; + /* Used only for U frames */ static const xdlc_cf_items ehdlc_cf_items = { NULL, @@ -313,19 +315,16 @@ proto_register_ehdlc(void) proto_register_field_array(proto_ehdlc, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("ehdlc", dissect_ehdlc, proto_ehdlc); + ehdlc_handle = register_dissector("ehdlc", dissect_ehdlc, proto_ehdlc); } void proto_reg_handoff_ehdlc(void) { - dissector_handle_t ehdlc_handle; - sub_handles[SUB_RSL] = find_dissector("gsm_abis_rsl"); sub_handles[SUB_OML] = find_dissector("gsm_abis_oml"); sub_handles[SUB_DATA] = find_dissector("data"); - ehdlc_handle = create_dissector_handle( dissect_ehdlc, proto_ehdlc ); dissector_add_uint("l2tp.pw_type", L2TPv3_PROTOCOL_ERICSSON, ehdlc_handle); } diff --git a/epan/dissectors/packet-gvcp.c b/epan/dissectors/packet-gvcp.c index 4613297743..c6dc58a95f 100644 --- a/epan/dissectors/packet-gvcp.c +++ b/epan/dissectors/packet-gvcp.c @@ -487,6 +487,8 @@ static int ett_gvcp_payload_cmd_subtree = -1; static int ett_gvcp_payload_ack_subtree = -1; static int ett_gvcp_bootstrap_fields = -1; +static dissector_handle_t gvcp_handle; + /*Device Mode*/ static const value_string devicemodenames_class[] = { @@ -1513,13 +1515,8 @@ static void dissect_writereg_cmd(proto_tree *gvcp_telegram_tree, tvbuff_t *tvb, /* Automatically learn messaging channel port. Dissect as GVCP. */ if (addr == GVCP_MC_DESTINATION_PORT) { - dissector_handle_t gvcp_handle; - gvcp_handle = find_dissector("gvcp"); - if (gvcp_handle != NULL) - { - /* For now we simply (always) add ports. Maybe we should remove when the dissector gets unloaded? */ - dissector_add_uint("udp.port", value, gvcp_handle); - } + /* XXX For now we simply (always) add ports. Maybe we should remove when the dissector gets unloaded? */ + dissector_add_uint("udp.port", value, gvcp_handle); } if (num_registers > 1) @@ -3814,7 +3811,7 @@ void proto_register_gvcp(void) proto_gvcp = proto_register_protocol("GigE Vision Control Protocol", "GVCP", "gvcp"); - register_dissector("gvcp", dissect_gvcp, proto_gvcp); + gvcp_handle = register_dissector("gvcp", dissect_gvcp, proto_gvcp); proto_register_field_array(proto_gvcp, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -3824,9 +3821,7 @@ void proto_register_gvcp(void) void proto_reg_handoff_gvcp(void) { - static dissector_handle_t gvcp_handle; - gvcp_handle = create_dissector_handle((new_dissector_t)dissect_gvcp, proto_gvcp); - dissector_add_uint("udp.port", global_gvcp_port, gvcp_handle); + dissector_add_uint("udp.port", global_gvcp_port, gvcp_handle); } /* diff --git a/epan/dissectors/packet-gvsp.c b/epan/dissectors/packet-gvsp.c index f9bf7cef2e..3b1057a700 100644 --- a/epan/dissectors/packet-gvsp.c +++ b/epan/dissectors/packet-gvsp.c @@ -1980,7 +1980,7 @@ void proto_register_gvsp(void) proto_gvsp = proto_register_protocol("GigE Vision Streaming Protocol", "GVSP", "gvsp"); - register_dissector("gvsp", dissect_gvsp, proto_gvsp); + gvsp_handle = register_dissector("gvsp", dissect_gvsp, proto_gvsp); proto_register_field_array(proto_gvsp, hfgvsp, array_length(hfgvsp)); proto_register_subtree_array(ett, array_length(ett)); @@ -1994,7 +1994,6 @@ void proto_reg_handoff_gvsp(void) static gboolean initialized = FALSE; if (!initialized) { - gvsp_handle = create_dissector_handle((new_dissector_t)dissect_gvsp, proto_gvsp); dissector_add_for_decode_as("udp.port", gvsp_handle); heur_dissector_add("udp", dissect_gvsp_heur, "GigE Vision over UDP", "gvsp_udp", proto_gvsp, HEURISTIC_ENABLE); initialized = TRUE; diff --git a/epan/dissectors/packet-iscsi.c b/epan/dissectors/packet-iscsi.c index 8a5d47fba8..59bdd901ef 100644 --- a/epan/dissectors/packet-iscsi.c +++ b/epan/dissectors/packet-iscsi.c @@ -3075,7 +3075,7 @@ proto_register_iscsi(void) /* Register the protocol name and description */ proto_iscsi = proto_register_protocol("iSCSI", "iSCSI", "iscsi"); - register_dissector("iscsi", dissect_iscsi_handle, proto_iscsi); + iscsi_handle = register_dissector("iscsi", dissect_iscsi_handle, proto_iscsi); /* Required function calls to register the header fields and * subtrees used */ @@ -3168,7 +3168,6 @@ proto_reg_handoff_iscsi(void) { heur_dissector_add("tcp", dissect_iscsi_heur, "iSCSI over TCP", "iscsi_tcp", proto_iscsi, HEURISTIC_ENABLE); - iscsi_handle = create_dissector_handle(dissect_iscsi_handle, proto_iscsi); dissector_add_for_decode_as("tcp.port", iscsi_handle); } diff --git a/epan/dissectors/packet-isup.c b/epan/dissectors/packet-isup.c index 92b1ace4b1..37345b3d95 100644 --- a/epan/dissectors/packet-isup.c +++ b/epan/dissectors/packet-isup.c @@ -66,6 +66,8 @@ void proto_reg_handoff_isup(void); void proto_register_bicc(void); void proto_reg_handoff_bicc(void); +static dissector_handle_t isup_handle; + #define ISUP_ITU_STANDARD_VARIANT 0 #define ISUP_FRENCH_VARIANT 1 #define ISUP_ISRAELI_VARIANT 2 @@ -12383,7 +12385,7 @@ proto_register_isup(void) proto_isup = proto_register_protocol("ISDN User Part", "ISUP", "isup"); - register_dissector("isup", dissect_isup, proto_isup); + isup_handle = register_dissector("isup", dissect_isup, proto_isup); /* Required function calls to register the header fields and subtrees used */ proto_register_field_array(proto_isup, hf, array_length(hf)); @@ -12422,10 +12424,8 @@ proto_register_isup(void) void proto_reg_handoff_isup(void) { - dissector_handle_t isup_handle; dissector_handle_t application_isup_handle; - isup_handle = create_dissector_handle(dissect_isup, proto_isup); application_isup_handle = create_dissector_handle(dissect_application_isup, proto_isup); dissector_add_uint("mtp3.service_indicator", MTP_SI_ISUP, isup_handle); dissector_add_string("media_type", "application/isup", application_isup_handle); diff --git a/epan/dissectors/packet-ixveriwave.c b/epan/dissectors/packet-ixveriwave.c index 738d13e61a..566b78aa6a 100644 --- a/epan/dissectors/packet-ixveriwave.c +++ b/epan/dissectors/packet-ixveriwave.c @@ -1681,7 +1681,6 @@ void proto_reg_handoff_ixveriwave(void) /* handle for 802.11+radio information dissector */ ieee80211_radio_handle = find_dissector("wlan_radio"); - ixveriwave_handle = create_dissector_handle(dissect_ixveriwave, proto_ixveriwave); dissector_add_uint("wtap_encap", WTAP_ENCAP_IXVERIWAVE, ixveriwave_handle); } diff --git a/epan/dissectors/packet-mgcp.c b/epan/dissectors/packet-mgcp.c index d9b5d0e9c7..ea8d5a9aa4 100644 --- a/epan/dissectors/packet-mgcp.c +++ b/epan/dissectors/packet-mgcp.c @@ -2308,7 +2308,7 @@ void proto_register_mgcp(void) register_init_routine(&mgcp_init_protocol); register_cleanup_routine(&mgcp_cleanup_protocol); - register_dissector("mgcp", dissect_mgcp, proto_mgcp); + mgcp_handle = register_dissector("mgcp", dissect_mgcp, proto_mgcp); /* Register our configuration options */ mgcp_module = prefs_register_protocol(proto_mgcp, proto_reg_handoff_mgcp); @@ -2377,7 +2377,6 @@ void proto_reg_handoff_mgcp(void) { /* Get a handle for the SDP dissector. */ sdp_handle = find_dissector("sdp"); - mgcp_handle = create_dissector_handle(dissect_mgcp, proto_mgcp); mgcp_tpkt_handle = create_dissector_handle(dissect_tpkt_mgcp, proto_mgcp); mgcp_prefs_initialized = TRUE; } diff --git a/epan/dissectors/packet-mip6.c b/epan/dissectors/packet-mip6.c index 4633eead22..5c297613b2 100644 --- a/epan/dissectors/packet-mip6.c +++ b/epan/dissectors/packet-mip6.c @@ -69,6 +69,8 @@ void proto_register_mip6(void); void proto_reg_handoff_mip6(void); +static dissector_handle_t mip6_handle; + #define UDP_PORT_PMIP6_CNTL 5436 static dissector_table_t mip6_vsm_dissector_table; @@ -5412,7 +5414,7 @@ proto_register_mip6(void) proto_mip6 = proto_register_protocol("Mobile IPv6", "MIPv6", "mipv6"); /* Register the dissector by name */ - /* register_dissector("mipv6", dissect_nemo, proto_nemo); */ + mip6_handle = register_dissector("mip6", dissect_mip6, proto_mip6); /* Required function calls to register the header fields and subtrees used */ proto_register_field_array(proto_mip6, hf, array_length(hf)); @@ -5426,10 +5428,6 @@ proto_register_mip6(void) void proto_reg_handoff_mip6(void) { - dissector_handle_t mip6_handle; - - /* mip6_handle = find_dissector("mipv6"); */ - mip6_handle = create_dissector_handle(dissect_mip6, proto_mip6); dissector_add_uint("ip.proto", IP_PROTO_MIPV6_OLD, mip6_handle); dissector_add_uint("ip.proto", IP_PROTO_MIPV6, mip6_handle); /* Add support for PMIPv6 control messages over IPV4 */ diff --git a/epan/dissectors/packet-mongo.c b/epan/dissectors/packet-mongo.c index 9b520307eb..2183f73950 100644 --- a/epan/dissectors/packet-mongo.c +++ b/epan/dissectors/packet-mongo.c @@ -40,6 +40,8 @@ void proto_register_mongo(void); void proto_reg_handoff_mongo(void); +static dissector_handle_t mongo_handle; + /* This is not IANA assigned nor registered */ #define TCP_PORT_MONGO 27017 @@ -1032,7 +1034,7 @@ proto_register_mongo(void) proto_mongo = proto_register_protocol("Mongo Wire Protocol", "MONGO", "mongo"); /* Allow dissector to find be found by name. */ - register_dissector("mongo", dissect_mongo, proto_mongo); + mongo_handle = register_dissector("mongo", dissect_mongo, proto_mongo); proto_register_field_array(proto_mongo, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -1052,12 +1054,9 @@ void proto_reg_handoff_mongo(void) { static gboolean initialized = FALSE; - static dissector_handle_t mongo_handle; static int currentPort; if (!initialized) { - - mongo_handle = create_dissector_handle(dissect_mongo, proto_mongo); initialized = TRUE; } else { dissector_delete_uint("tcp.port", currentPort, mongo_handle); diff --git a/epan/dissectors/packet-mysql.c b/epan/dissectors/packet-mysql.c index 591f8d76b5..158dc0b160 100644 --- a/epan/dissectors/packet-mysql.c +++ b/epan/dissectors/packet-mysql.c @@ -3198,14 +3198,13 @@ void proto_register_mysql(void) "Whether the MySQL dissector should display the SQL query string in the INFO column.", &mysql_showquery); - register_dissector("mysql", dissect_mysql, proto_mysql); + mysql_handle = register_dissector("mysql", dissect_mysql, proto_mysql); } /* dissector registration */ void proto_reg_handoff_mysql(void) { ssl_handle = find_dissector("ssl"); - mysql_handle = create_dissector_handle(dissect_mysql, proto_mysql); dissector_add_uint("tcp.port", TCP_PORT_MySQL, mysql_handle); } diff --git a/epan/dissectors/packet-nasdaq-itch.c b/epan/dissectors/packet-nasdaq-itch.c index 02bb8f2dd5..4e62be271e 100644 --- a/epan/dissectors/packet-nasdaq-itch.c +++ b/epan/dissectors/packet-nasdaq-itch.c @@ -42,6 +42,8 @@ void proto_register_nasdaq_itch(void); void proto_reg_handoff_nasdaq_itch(void); +static dissector_handle_t nasdaq_itch_handle; + /* Chi-X version */ static gboolean nasdaq_itch_chi_x = TRUE; @@ -587,15 +589,12 @@ proto_register_nasdaq_itch(void) "Whether the Nasdaq ITCH dissector should decode Chi X extensions.", &nasdaq_itch_chi_x); - register_dissector("nasdaq-itch", dissect_nasdaq_itch, proto_nasdaq_itch); + nasdaq_itch_handle = register_dissector("nasdaq-itch", dissect_nasdaq_itch, proto_nasdaq_itch); } void proto_reg_handoff_nasdaq_itch(void) { - dissector_handle_t nasdaq_itch_handle; - - nasdaq_itch_handle = create_dissector_handle( dissect_nasdaq_itch, proto_nasdaq_itch ); dissector_add_for_decode_as("moldudp64.payload", nasdaq_itch_handle ); } diff --git a/epan/dissectors/packet-nwp.c b/epan/dissectors/packet-nwp.c index 846b48d3cd..1971b2d51f 100644 --- a/epan/dissectors/packet-nwp.c +++ b/epan/dissectors/packet-nwp.c @@ -60,6 +60,8 @@ static gint ett_nwp_neigh_tree = -1; static expert_field ei_nwp_bad_type = EI_INIT; +static dissector_handle_t nwp_handle; + #define NWP_XID_CHUNK_LEN 4 #define NWP_XID_LEN 20 /* Two characters for every byte + 4 for "hid-" + 1 for "\0" */ @@ -345,7 +347,7 @@ proto_register_nwp(void) "NWP", "nwp"); - register_dissector("nwp", dissect_nwp, proto_nwp); + nwp_handle = register_dissector("nwp", dissect_nwp, proto_nwp); proto_register_field_array(proto_nwp, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -356,8 +358,6 @@ proto_register_nwp(void) void proto_reg_handoff_nwp(void) { - dissector_handle_t nwp_handle; - nwp_handle = create_dissector_handle(dissect_nwp, proto_nwp); dissector_add_uint("ethertype", ETHERTYPE_NWP, nwp_handle); } diff --git a/epan/dissectors/packet-openflow.c b/epan/dissectors/packet-openflow.c index 06d271b265..9328616bbf 100644 --- a/epan/dissectors/packet-openflow.c +++ b/epan/dissectors/packet-openflow.c @@ -159,7 +159,7 @@ proto_register_openflow(void) proto_openflow = proto_register_protocol("OpenFlow", "OpenFlow", "openflow"); - register_dissector("openflow", dissect_openflow, proto_openflow); + openflow_handle = register_dissector("openflow", dissect_openflow, proto_openflow); /* Required function calls to register the header fields and subtrees */ proto_register_field_array(proto_openflow, hf, array_length(hf)); @@ -191,7 +191,6 @@ proto_reg_handoff_openflow(void) static int currentPort; if (!initialized) { - openflow_handle = create_dissector_handle(dissect_openflow, proto_openflow); heur_dissector_add("tcp", dissect_openflow_heur, "OpenFlow over TCP", "openflow_tcp", proto_openflow, HEURISTIC_ENABLE); initialized = TRUE; } else { diff --git a/epan/dissectors/packet-peekremote.c b/epan/dissectors/packet-peekremote.c index 8b343e4b22..36e988125d 100644 --- a/epan/dissectors/packet-peekremote.c +++ b/epan/dissectors/packet-peekremote.c @@ -65,6 +65,7 @@ void proto_register_peekremote(void); void proto_reg_handoff_peekremote(void); static int proto_peekremote; +static dissector_handle_t peekremote_handle; /* * XXX - we don't have all the MCS index values here. @@ -679,17 +680,14 @@ proto_register_peekremote(void) expert_peekremote = expert_register_protocol(proto_peekremote); expert_register_field_array(expert_peekremote, ei, array_length(ei)); - register_dissector("peekremote", dissect_peekremote_legacy, proto_peekremote); + peekremote_handle = register_dissector("peekremote", dissect_peekremote_legacy, proto_peekremote); } void proto_reg_handoff_peekremote(void) { - dissector_handle_t peekremote_handle; - wlan_radio_handle = find_dissector("wlan_radio"); - peekremote_handle = create_dissector_handle(dissect_peekremote_legacy, proto_peekremote); dissector_add_uint("udp.port", 5000, peekremote_handle); heur_dissector_add("udp", dissect_peekremote_new, "OmniPeek Remote over UDP", "peekremote_udp", proto_peekremote, HEURISTIC_ENABLE); diff --git a/epan/dissectors/packet-redback.c b/epan/dissectors/packet-redback.c index 1b4a8935ce..7c8736c02d 100644 --- a/epan/dissectors/packet-redback.c +++ b/epan/dissectors/packet-redback.c @@ -222,14 +222,12 @@ proto_register_redback(void) proto_redback = proto_register_protocol("Redback", "Redback", "redback"); hfi_redback = proto_registrar_get_nth(proto_redback); - register_dissector("redback", dissect_redback, proto_redback); + redback_handle = register_dissector("redback", dissect_redback, proto_redback); proto_register_fields(proto_redback, hfi, array_length(hfi)); proto_register_subtree_array(ett, array_length(ett)); expert_redback = expert_register_protocol(proto_redback); expert_register_field_array(expert_redback, ei, array_length(ei)); - - redback_handle = create_dissector_handle(dissect_redback, proto_redback); } void diff --git a/epan/dissectors/packet-rgmp.c b/epan/dissectors/packet-rgmp.c index 53b619d46a..5cf1f361cc 100644 --- a/epan/dissectors/packet-rgmp.c +++ b/epan/dissectors/packet-rgmp.c @@ -44,6 +44,8 @@ static int hf_maddr = -1; static int ett_rgmp = -1; +static dissector_handle_t rgmp_handle; + #define MC_RGMP 0xe0000019 static const value_string rgmp_types[] = { @@ -132,15 +134,12 @@ proto_register_rgmp(void) proto_register_field_array(proto_rgmp, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("rgmp", dissect_rgmp, proto_rgmp); + rgmp_handle = register_dissector("rgmp", dissect_rgmp, proto_rgmp); } void proto_reg_handoff_rgmp(void) { - dissector_handle_t rgmp_handle; - - rgmp_handle = create_dissector_handle(dissect_rgmp, proto_rgmp); dissector_add_uint("igmp.type", IGMP_RGMP_HELLO, rgmp_handle); dissector_add_uint("igmp.type", IGMP_RGMP_BYE, rgmp_handle); dissector_add_uint("igmp.type", IGMP_RGMP_JOIN, rgmp_handle); diff --git a/epan/dissectors/packet-rsl.c b/epan/dissectors/packet-rsl.c index 17a9df1de0..000d7bf375 100644 --- a/epan/dissectors/packet-rsl.c +++ b/epan/dissectors/packet-rsl.c @@ -219,6 +219,7 @@ static expert_field ei_rsl_facility_information_element_3gpp_ts_44071 = EI_INIT; static expert_field ei_rsl_embedded_message_tfo_configuration = EI_INIT; static proto_tree *top_tree; +static dissector_handle_t rsl_handle; static dissector_handle_t gsm_cbch_handle; static dissector_handle_t gsm_cbs_handle; static dissector_handle_t gsm_a_ccch_handle; @@ -4450,7 +4451,7 @@ void proto_register_rsl(void) expert_rsl = expert_register_protocol(proto_rsl); expert_register_field_array(expert_rsl, ei, array_length(ei)); - register_dissector("gsm_abis_rsl", dissect_rsl, proto_rsl); + rsl_handle = register_dissector("gsm_abis_rsl", dissect_rsl, proto_rsl); rsl_module = prefs_register_protocol(proto_rsl, proto_reg_handoff_rsl); prefs_register_bool_preference(rsl_module, "use_ipaccess_rsl", @@ -4462,9 +4463,6 @@ void proto_register_rsl(void) void proto_reg_handoff_rsl(void) { - dissector_handle_t rsl_handle; - - rsl_handle = create_dissector_handle(dissect_rsl, proto_rsl); dissector_add_uint("lapd.gsm.sapi", LAPD_GSM_SAPI_RA_SIG_PROC, rsl_handle); gsm_cbch_handle = find_dissector("gsm_cbch"); diff --git a/epan/dissectors/packet-rtacser.c b/epan/dissectors/packet-rtacser.c index 9b9fdf7d7b..909c962cd6 100644 --- a/epan/dissectors/packet-rtacser.c +++ b/epan/dissectors/packet-rtacser.c @@ -84,6 +84,7 @@ static int hf_rtacser_footer = -1; static gint ett_rtacser = -1; static gint ett_rtacser_cl = -1; +static dissector_handle_t rtacser_handle; static dissector_table_t subdissector_table; static dissector_handle_t data_handle; @@ -291,7 +292,7 @@ proto_register_rtacser(void) proto_rtacser = proto_register_protocol("RTAC Serial", "RTAC Serial", "rtacser"); /* Registering protocol to be called by another dissector */ - register_dissector("rtacser", dissect_rtacser, proto_rtacser); + rtacser_handle = register_dissector("rtacser", dissect_rtacser, proto_rtacser); subdissector_table = register_dissector_table("rtacser.data", "RTAC Serial Data Subdissector", FT_UINT32, BASE_HEX, DISSECTOR_TABLE_NOT_ALLOW_DUPLICATE); @@ -317,15 +318,6 @@ proto_register_rtacser(void) void proto_reg_handoff_rtacser(void) { - static int rtacser_prefs_initialized = FALSE; - static dissector_handle_t rtacser_handle; - - /* Make sure to use RTAC Serial Protocol Preferences field to determine payload protocol to use for decoding */ - if (! rtacser_prefs_initialized) { - rtacser_handle = create_dissector_handle(dissect_rtacser, proto_rtacser); - rtacser_prefs_initialized = TRUE; - } - dissector_add_uint("wtap_encap", WTAP_ENCAP_RTAC_SERIAL, rtacser_handle); data_handle = find_dissector("data"); diff --git a/epan/dissectors/packet-selfm.c b/epan/dissectors/packet-selfm.c index a9d3587c2c..50afd4a1c4 100644 --- a/epan/dissectors/packet-selfm.c +++ b/epan/dissectors/packet-selfm.c @@ -251,6 +251,8 @@ static gint ett_selfm_fastmsg_element = -1; /* Expert fields */ static expert_field ei_selfm_crc16_incorrect = EI_INIT; +static dissector_handle_t selfm_handle; + #define PORT_SELFM 0 #define CMD_FAST_MSG 0xA546 @@ -2998,7 +3000,7 @@ proto_register_selfm(void) proto_selfm = proto_register_protocol("SEL Protocol", "SEL Protocol", "selfm"); /* Registering protocol to be called by another dissector */ - register_dissector("selfm", dissect_selfm_tcp, proto_selfm); + selfm_handle = register_dissector("selfm", dissect_selfm_tcp, proto_selfm); /* Required function calls to register the header fields and subtrees used */ proto_register_field_array(proto_selfm, selfm_hf, array_length(selfm_hf)); @@ -3048,12 +3050,10 @@ void proto_reg_handoff_selfm(void) { static int selfm_prefs_initialized = FALSE; - static dissector_handle_t selfm_handle; static unsigned int selfm_port; /* Make sure to use SEL FM Protocol Preferences field to determine default TCP port */ if (! selfm_prefs_initialized) { - selfm_handle = create_dissector_handle(dissect_selfm_tcp, proto_selfm); selfm_prefs_initialized = TRUE; } else { diff --git a/epan/dissectors/packet-stanag4607.c b/epan/dissectors/packet-stanag4607.c index d317e32c7f..7db08f952c 100644 --- a/epan/dissectors/packet-stanag4607.c +++ b/epan/dissectors/packet-stanag4607.c @@ -155,6 +155,8 @@ static expert_field ei_bad_length = EI_INIT; static expert_field ei_too_short = EI_INIT; static expert_field ei_bad_packet_size = EI_INIT; +static dissector_handle_t stanag4607_handle; + static const value_string stanag4607_class_vals[] = { { 1, "TOP SECRET" }, @@ -1634,17 +1636,13 @@ proto_register_stanag4607(void) expert_4607 = expert_register_protocol(proto_stanag4607); expert_register_field_array(expert_4607, ei, array_length(ei)); - register_dissector("STANAG 4607", dissect_stanag4607, proto_stanag4607); + stanag4607_handle = register_dissector("STANAG 4607", dissect_stanag4607, proto_stanag4607); /* prefs_register_protocol(proto_stanag4607, proto_reg_handoff_stanag4607); */ } void proto_reg_handoff_stanag4607(void) { - static dissector_handle_t stanag4607_handle; - - stanag4607_handle = create_dissector_handle(dissect_stanag4607, - proto_stanag4607); dissector_add_uint("wtap_encap", WTAP_ENCAP_STANAG_4607, stanag4607_handle); } diff --git a/epan/dissectors/packet-tipc.c b/epan/dissectors/packet-tipc.c index 6ce80e2812..59e989e190 100644 --- a/epan/dissectors/packet-tipc.c +++ b/epan/dissectors/packet-tipc.c @@ -3037,7 +3037,7 @@ proto_register_tipc(void) tipc_heur_subdissector_list = register_heur_dissector_list("tipc"); /* Register by name */ - register_dissector("tipc", dissect_tipc, proto_tipc); + tipc_handle = register_dissector("tipc", dissect_tipc, proto_tipc); register_init_routine(tipc_defragment_init); register_cleanup_routine(tipc_defragment_cleanup); @@ -3099,7 +3099,6 @@ proto_reg_handoff_tipc(void) static range_t *tipc_udp_port_range; if (!inited) { - tipc_handle = create_dissector_handle(dissect_tipc, proto_tipc); tipc_tcp_handle = create_dissector_handle(dissect_tipc_tcp, proto_tipc); ip_handle = find_dissector("ip"); data_handle = find_dissector("data"); diff --git a/epan/dissectors/packet-xip.c b/epan/dissectors/packet-xip.c index c11e2fe9b6..538b9d1dec 100644 --- a/epan/dissectors/packet-xip.c +++ b/epan/dissectors/packet-xip.c @@ -69,6 +69,8 @@ static expert_field ei_xip_next_header = EI_INIT; static expert_field ei_xip_bad_num_dst = EI_INIT; static expert_field ei_xip_bad_num_src = EI_INIT; +static dissector_handle_t xip_handle; + /* XIA principals. */ #define XIDTYPE_NAT 0x00 #define XIDTYPE_AD 0x10 @@ -681,9 +683,9 @@ proto_register_xip(void) proto_xip = proto_register_protocol( "eXpressive Internet Protocol", "XIP", - "xip"); + "xip"); - register_dissector("xip", dissect_xip, proto_xip); + xip_handle = register_dissector("xip", dissect_xip, proto_xip); proto_register_field_array(proto_xip, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -694,9 +696,6 @@ proto_register_xip(void) void proto_reg_handoff_xip(void) { - dissector_handle_t xip_handle; - - xip_handle = create_dissector_handle(dissect_xip, proto_xip); dissector_add_uint("ethertype", ETHERTYPE_XIP, xip_handle); xip_serval_handle = find_dissector("xipserval"); |