From 9bcac48403de9aff6435d0f48028ae1f72f64528 Mon Sep 17 00:00:00 2001 From: Michael Mann Date: Wed, 16 Mar 2016 09:02:52 -0400 Subject: Manually add protocol dependencies derived from find_dissector. Started by grepping call_dissector_with_data, call_dissector_only and call_dissector and traced the handles passed into them to a find_dissector within the dissector. Then replaced find_dissector with find_dissector_add_dependency and added the protocol id from the dissector. "data" dissector was not considered to be a dependency. Change-Id: I15d0d77301306587ef8e7af5876e74231816890d Reviewed-on: https://code.wireshark.org/review/14509 Petri-Dish: Michael Mann Reviewed-by: Michael Mann --- .../asn1/ansi_tcap/packet-ansi_tcap-template.c | 5 +- .../asn1/atn-ulcs/packet-atn-ulcs-template.c | 6 +- .../asn1/gsm_map/packet-gsm_map-template.c | 8 +- epan/dissectors/asn1/h248/packet-h248-template.c | 2 +- epan/dissectors/asn1/h283/packet-h283-template.c | 4 +- epan/dissectors/asn1/h460/packet-h460-template.c | 4 +- epan/dissectors/asn1/ilp/packet-ilp-template.c | 6 +- .../asn1/kerberos/packet-kerberos-template.c | 2 +- epan/dissectors/asn1/lcsap/packet-lcsap-template.c | 4 +- epan/dissectors/asn1/ldap/packet-ldap-template.c | 10 +- epan/dissectors/asn1/lpp/packet-lpp-template.c | 2 +- epan/dissectors/asn1/q932/packet-q932-template.c | 2 +- epan/dissectors/asn1/qsig/packet-qsig-template.c | 4 +- epan/dissectors/asn1/ranap/packet-ranap-template.c | 4 +- epan/dissectors/asn1/rnsap/packet-rnsap-template.c | 2 +- epan/dissectors/asn1/rrc/packet-rrc-template.c | 8 +- epan/dissectors/asn1/rua/packet-rua-template.c | 2 +- epan/dissectors/asn1/s1ap/packet-s1ap-template.c | 8 +- epan/dissectors/asn1/t38/packet-t38-template.c | 4 +- epan/dissectors/asn1/tcap/packet-tcap-template.c | 2 +- epan/dissectors/asn1/ulp/packet-ulp-template.c | 4 +- epan/dissectors/file-btsnoop.c | 6 +- epan/dissectors/file-pcap.c | 2 +- epan/dissectors/file-pcapng.c | 2 +- epan/dissectors/packet-3com-xns.c | 2 +- epan/dissectors/packet-6lowpan.c | 2 +- epan/dissectors/packet-a21.c | 2 +- epan/dissectors/packet-acr122.c | 2 +- epan/dissectors/packet-actrace.c | 2 +- epan/dissectors/packet-adb.c | 2 +- epan/dissectors/packet-adb_cs.c | 2 +- epan/dissectors/packet-adb_service.c | 2 +- epan/dissectors/packet-afp.c | 2 +- epan/dissectors/packet-ansi_tcap.c | 9 +- epan/dissectors/packet-applemidi.c | 2 +- epan/dissectors/packet-artnet.c | 4 +- epan/dissectors/packet-aruba-erm.c | 8 +- epan/dissectors/packet-ascend.c | 4 +- epan/dissectors/packet-atalk.c | 4 +- epan/dissectors/packet-atm.c | 16 +- epan/dissectors/packet-atn-ulcs.c | 6 +- epan/dissectors/packet-ax25-kiss.c | 2 +- epan/dissectors/packet-ax25-nol3.c | 2 +- epan/dissectors/packet-bacnet.c | 2 +- epan/dissectors/packet-bat.c | 2 +- epan/dissectors/packet-batadv.c | 2 +- epan/dissectors/packet-bctp.c | 2 +- epan/dissectors/packet-bittorrent.c | 2 +- epan/dissectors/packet-bluetooth.c | 4 +- epan/dissectors/packet-bmp.c | 2 +- epan/dissectors/packet-bpdu.c | 4 +- epan/dissectors/packet-bpq.c | 2 +- epan/dissectors/packet-brdwlk.c | 2 +- epan/dissectors/packet-bssap.c | 7 +- epan/dissectors/packet-btatt.c | 8 +- epan/dissectors/packet-btavdtp.c | 16 +- epan/dissectors/packet-btbnep.c | 6 +- epan/dissectors/packet-bthci_acl.c | 2 +- epan/dissectors/packet-bthci_evt.c | 10 +- epan/dissectors/packet-bthci_vendor.c | 2 +- epan/dissectors/packet-bthid.c | 6 +- epan/dissectors/packet-btle.c | 6 +- epan/dissectors/packet-btle_rf.c | 2 +- epan/dissectors/packet-btrfcomm.c | 2 +- epan/dissectors/packet-btsap.c | 6 +- epan/dissectors/packet-bzr.c | 2 +- epan/dissectors/packet-c15ch.c | 6 +- epan/dissectors/packet-capwap.c | 9 +- epan/dissectors/packet-cip.c | 2 +- epan/dissectors/packet-cisco-erspan.c | 2 +- epan/dissectors/packet-cisco-fp-mim.c | 2 +- epan/dissectors/packet-cisco-metadata.c | 2 +- epan/dissectors/packet-cisco-sm.c | 6 +- epan/dissectors/packet-cisco-wids.c | 2 +- epan/dissectors/packet-clip.c | 2 +- epan/dissectors/packet-clnp.c | 6 +- epan/dissectors/packet-corosync-totemnet.c | 2 +- epan/dissectors/packet-cosine.c | 10 +- epan/dissectors/packet-couchbase.c | 2 +- epan/dissectors/packet-cpfi.c | 2 +- epan/dissectors/packet-daap.c | 2 +- epan/dissectors/packet-diameter.c | 2 +- epan/dissectors/packet-diameter_3gpp.c | 2 +- epan/dissectors/packet-dis.c | 4 +- epan/dissectors/packet-dns.c | 4 +- epan/dissectors/packet-dpnss-link.c | 2 +- epan/dissectors/packet-dsi.c | 4 +- epan/dissectors/packet-dua.c | 2 +- epan/dissectors/packet-dvb-data-mpe.c | 4 +- epan/dissectors/packet-dvb-ipdc.c | 2 +- epan/dissectors/packet-dvb-s2-bb.c | 4 +- epan/dissectors/packet-dvbci.c | 6 +- epan/dissectors/packet-e100.c | 2 +- epan/dissectors/packet-eap.c | 2 +- epan/dissectors/packet-eapol.c | 4 +- epan/dissectors/packet-ecmp.c | 2 +- epan/dissectors/packet-ehdlc.c | 4 +- epan/dissectors/packet-ehs.c | 2 +- epan/dissectors/packet-eigrp.c | 2 +- epan/dissectors/packet-elasticsearch.c | 2 +- epan/dissectors/packet-enip.c | 4 +- epan/dissectors/packet-epon.c | 2 +- epan/dissectors/packet-erf.c | 12 +- epan/dissectors/packet-eth.c | 4 +- epan/dissectors/packet-etherip.c | 2 +- epan/dissectors/packet-etsi_card_app_toolkit.c | 2 +- epan/dissectors/packet-etv.c | 3 +- epan/dissectors/packet-fcels.c | 2 +- epan/dissectors/packet-fcip.c | 2 +- epan/dissectors/packet-fcoe.c | 2 +- epan/dissectors/packet-fcoib.c | 2 +- epan/dissectors/packet-fcswils.c | 2 +- epan/dissectors/packet-fddi.c | 2 +- epan/dissectors/packet-fip.c | 2 +- epan/dissectors/packet-forces.c | 2 +- epan/dissectors/packet-fp_hint.c | 4 +- epan/dissectors/packet-fr.c | 6 +- epan/dissectors/packet-frame.c | 2 +- epan/dissectors/packet-fw1.c | 2 +- epan/dissectors/packet-gadu-gadu.c | 2 +- epan/dissectors/packet-gmhdr.c | 2 +- epan/dissectors/packet-gmr1_dtap.c | 2 +- epan/dissectors/packet-gprs-llc.c | 2 +- epan/dissectors/packet-gsm_a_bssmap.c | 8 +- epan/dissectors/packet-gsm_a_dtap.c | 4 +- epan/dissectors/packet-gsm_a_gm.c | 4 +- epan/dissectors/packet-gsm_a_rp.c | 2 +- epan/dissectors/packet-gsm_a_rr.c | 4 +- epan/dissectors/packet-gsm_abis_oml.c | 2 +- epan/dissectors/packet-gsm_bsslap.c | 2 +- epan/dissectors/packet-gsm_bssmap_le.c | 2 +- epan/dissectors/packet-gsm_cbch.c | 2 +- epan/dissectors/packet-gsm_ipa.c | 8 +- epan/dissectors/packet-gsm_map.c | 8 +- epan/dissectors/packet-gsm_sim.c | 2 +- epan/dissectors/packet-gsm_sms_ud.c | 2 +- epan/dissectors/packet-gsm_um.c | 4 +- epan/dissectors/packet-gsmtap.c | 164 ++++++++++----------- epan/dissectors/packet-gssapi.c | 10 +- epan/dissectors/packet-gtp.c | 16 +- epan/dissectors/packet-gtpv2.c | 2 +- epan/dissectors/packet-h248.c | 2 +- epan/dissectors/packet-h248_q1950.c | 2 +- epan/dissectors/packet-h283.c | 4 +- epan/dissectors/packet-h460.c | 4 +- epan/dissectors/packet-hci_mon.c | 8 +- epan/dissectors/packet-hci_usb.c | 8 +- epan/dissectors/packet-hdmi.c | 2 +- epan/dissectors/packet-hp-erm.c | 2 +- epan/dissectors/packet-http.c | 10 +- epan/dissectors/packet-icap.c | 2 +- epan/dissectors/packet-icmp.c | 2 +- epan/dissectors/packet-icmpv6.c | 2 +- epan/dissectors/packet-ieee80211-netmon.c | 2 +- epan/dissectors/packet-ieee80211-prism.c | 6 +- epan/dissectors/packet-ieee80211-radio.c | 2 +- epan/dissectors/packet-ieee80211-radiotap.c | 4 +- epan/dissectors/packet-ieee80211-wlancap.c | 2 +- epan/dissectors/packet-ieee80211.c | 6 +- epan/dissectors/packet-ieee8021ah.c | 3 +- epan/dissectors/packet-ifcp.c | 2 +- epan/dissectors/packet-ilp.c | 6 +- epan/dissectors/packet-inap.c | 49 +++--- epan/dissectors/packet-infiniband.c | 2 +- epan/dissectors/packet-ipdc.c | 2 +- epan/dissectors/packet-ipfc.c | 2 +- epan/dissectors/packet-ipmi-session.c | 2 +- epan/dissectors/packet-ipnet.c | 4 +- epan/dissectors/packet-ipoib.c | 6 +- epan/dissectors/packet-ipos.c | 2 +- epan/dissectors/packet-ipsec-tcp.c | 4 +- epan/dissectors/packet-ipsec-udp.c | 4 +- epan/dissectors/packet-isakmp.c | 2 +- epan/dissectors/packet-iser.c | 4 +- epan/dissectors/packet-isl.c | 4 +- epan/dissectors/packet-isup.c | 4 +- epan/dissectors/packet-iua.c | 4 +- epan/dissectors/packet-iwarp-mpa.c | 2 +- epan/dissectors/packet-ixveriwave.c | 4 +- epan/dissectors/packet-json.c | 2 +- epan/dissectors/packet-juniper.c | 2 +- epan/dissectors/packet-jxta.c | 5 +- epan/dissectors/packet-kerberos.c | 2 +- epan/dissectors/packet-l2tp.c | 8 +- epan/dissectors/packet-lapb.c | 4 +- epan/dissectors/packet-lapbether.c | 2 +- epan/dissectors/packet-lcsap.c | 4 +- epan/dissectors/packet-ldap.c | 10 +- epan/dissectors/packet-lge_monitor.c | 8 +- epan/dissectors/packet-lisp-data.c | 6 +- epan/dissectors/packet-lisp.c | 4 +- epan/dissectors/packet-llc.c | 14 +- epan/dissectors/packet-logcat.c | 2 +- epan/dissectors/packet-lpp.c | 2 +- epan/dissectors/packet-ltp.c | 2 +- epan/dissectors/packet-lwapp.c | 6 +- epan/dissectors/packet-m2pa.c | 2 +- epan/dissectors/packet-m2tp.c | 2 +- epan/dissectors/packet-m2ua.c | 2 +- epan/dissectors/packet-m3ua.c | 2 +- epan/dissectors/packet-mac-lte.c | 16 +- epan/dissectors/packet-mbim.c | 14 +- epan/dissectors/packet-mdshdr.c | 2 +- epan/dissectors/packet-megaco.c | 8 +- epan/dissectors/packet-meta.c | 16 +- epan/dissectors/packet-mgcp.c | 2 +- epan/dissectors/packet-mint.c | 2 +- epan/dissectors/packet-mip.c | 2 +- epan/dissectors/packet-mpls.c | 6 +- epan/dissectors/packet-msdp.c | 2 +- epan/dissectors/packet-mtp2.c | 2 +- epan/dissectors/packet-multipart.c | 4 +- epan/dissectors/packet-mux27010.c | 2 +- epan/dissectors/packet-nas_eps.c | 4 +- epan/dissectors/packet-nasdaq-soup.c | 2 +- epan/dissectors/packet-nb_rtpmux.c | 2 +- epan/dissectors/packet-netanalyzer.c | 2 +- epan/dissectors/packet-netlink-netfilter.c | 2 +- epan/dissectors/packet-netrom.c | 2 +- epan/dissectors/packet-nettl.c | 14 +- epan/dissectors/packet-nflog.c | 4 +- epan/dissectors/packet-nsh.c | 6 +- epan/dissectors/packet-nsip.c | 4 +- epan/dissectors/packet-nstrace.c | 7 +- epan/dissectors/packet-null.c | 2 +- epan/dissectors/packet-nwmtp.c | 2 +- epan/dissectors/packet-obex.c | 4 +- epan/dissectors/packet-openflow.c | 6 +- epan/dissectors/packet-openflow_v1.c | 9 +- epan/dissectors/packet-openflow_v4.c | 9 +- epan/dissectors/packet-openflow_v5.c | 9 +- epan/dissectors/packet-openvpn.c | 2 +- epan/dissectors/packet-pana.c | 2 +- epan/dissectors/packet-pdc.c | 2 +- epan/dissectors/packet-pdcp-lte.c | 6 +- epan/dissectors/packet-peekremote.c | 2 +- epan/dissectors/packet-pflog.c | 4 +- epan/dissectors/packet-pim.c | 4 +- epan/dissectors/packet-pktap.c | 2 +- epan/dissectors/packet-pmproxy.c | 2 +- epan/dissectors/packet-pop.c | 4 +- epan/dissectors/packet-ppcap.c | 20 +-- epan/dissectors/packet-ppi.c | 14 +- epan/dissectors/packet-ppp.c | 6 +- epan/dissectors/packet-pppoe.c | 2 +- epan/dissectors/packet-pw-cesopsn.c | 2 +- epan/dissectors/packet-pw-eth.c | 2 +- epan/dissectors/packet-pw-fr.c | 2 +- epan/dissectors/packet-pw-hdlc.c | 4 +- epan/dissectors/packet-pw-satop.c | 2 +- epan/dissectors/packet-q931.c | 2 +- epan/dissectors/packet-q932.c | 2 +- epan/dissectors/packet-qllc.c | 2 +- epan/dissectors/packet-qsig.c | 4 +- epan/dissectors/packet-radius.c | 2 +- epan/dissectors/packet-ranap.c | 4 +- epan/dissectors/packet-raw.c | 6 +- epan/dissectors/packet-redback.c | 14 +- epan/dissectors/packet-redbackli.c | 2 +- epan/dissectors/packet-reload-framing.c | 2 +- epan/dissectors/packet-reload.c | 2 +- epan/dissectors/packet-rfc2190.c | 2 +- epan/dissectors/packet-rfid-pn532-hci.c | 2 +- epan/dissectors/packet-rfid-pn532.c | 6 +- epan/dissectors/packet-rlc-lte.c | 4 +- epan/dissectors/packet-rlc.c | 6 +- epan/dissectors/packet-rmt-alc.c | 6 +- epan/dissectors/packet-rmt-norm.c | 2 +- epan/dissectors/packet-rnsap.c | 2 +- epan/dissectors/packet-rohc.c | 4 +- epan/dissectors/packet-roofnet.c | 2 +- epan/dissectors/packet-rpc.c | 4 +- epan/dissectors/packet-rpcap.c | 2 +- epan/dissectors/packet-rpcrdma.c | 4 +- epan/dissectors/packet-rrc.c | 8 +- epan/dissectors/packet-rsl.c | 10 +- epan/dissectors/packet-rtp.c | 28 ++-- epan/dissectors/packet-rtpproxy.c | 8 +- epan/dissectors/packet-rua.c | 2 +- epan/dissectors/packet-rudp.c | 2 +- epan/dissectors/packet-rx.c | 2 +- epan/dissectors/packet-s1ap.c | 8 +- epan/dissectors/packet-sap.c | 2 +- epan/dissectors/packet-sccp.c | 12 +- epan/dissectors/packet-scop.c | 2 +- epan/dissectors/packet-sdlc.c | 2 +- epan/dissectors/packet-sdp.c | 10 +- epan/dissectors/packet-ses.c | 2 +- epan/dissectors/packet-sgsap.c | 2 +- epan/dissectors/packet-sigcomp.c | 2 +- epan/dissectors/packet-simple.c | 2 +- epan/dissectors/packet-sip.c | 2 +- epan/dissectors/packet-sll.c | 4 +- epan/dissectors/packet-smb-mailslot.c | 6 +- epan/dissectors/packet-smb.c | 4 +- epan/dissectors/packet-smb2.c | 6 +- epan/dissectors/packet-smpp.c | 2 +- epan/dissectors/packet-smtp.c | 6 +- epan/dissectors/packet-snaeth.c | 2 +- epan/dissectors/packet-sndcp.c | 2 +- epan/dissectors/packet-spdy.c | 2 +- epan/dissectors/packet-spice.c | 2 +- epan/dissectors/packet-srp.c | 4 +- epan/dissectors/packet-sscf-nni.c | 2 +- epan/dissectors/packet-sstp.c | 2 +- epan/dissectors/packet-stt.c | 2 +- epan/dissectors/packet-swipe.c | 2 +- epan/dissectors/packet-sync.c | 2 +- epan/dissectors/packet-syslog.c | 2 +- epan/dissectors/packet-t38.c | 4 +- epan/dissectors/packet-tcap.c | 2 +- epan/dissectors/packet-tdmoe.c | 2 +- epan/dissectors/packet-tdmop.c | 2 +- epan/dissectors/packet-tds.c | 4 +- epan/dissectors/packet-telkonet.c | 2 +- epan/dissectors/packet-telnet.c | 4 +- epan/dissectors/packet-text-media.c | 2 +- epan/dissectors/packet-tr.c | 4 +- epan/dissectors/packet-trill.c | 2 +- epan/dissectors/packet-tte.c | 2 +- epan/dissectors/packet-turbocell.c | 2 +- epan/dissectors/packet-tzsp.c | 16 +- epan/dissectors/packet-ua.c | 4 +- epan/dissectors/packet-uasip.c | 4 +- epan/dissectors/packet-uaudp.c | 4 +- epan/dissectors/packet-ubertooth.c | 2 +- epan/dissectors/packet-ulp.c | 4 +- epan/dissectors/packet-uma.c | 4 +- epan/dissectors/packet-umts_fp.c | 16 +- epan/dissectors/packet-umts_mac.c | 12 +- epan/dissectors/packet-usb-audio.c | 2 +- epan/dissectors/packet-usb-ccid.c | 10 +- epan/dissectors/packet-usb-com.c | 8 +- epan/dissectors/packet-v5dl.c | 2 +- epan/dissectors/packet-v5ef.c | 8 +- epan/dissectors/packet-v5ua.c | 4 +- epan/dissectors/packet-vcdu.c | 2 +- epan/dissectors/packet-vlan.c | 2 +- epan/dissectors/packet-vmlab.c | 2 +- epan/dissectors/packet-vntag.c | 2 +- epan/dissectors/packet-vxlan.c | 2 +- epan/dissectors/packet-wassp.c | 4 +- epan/dissectors/packet-wcp.c | 2 +- epan/dissectors/packet-websocket.c | 6 +- epan/dissectors/packet-wfleet-hdlc.c | 2 +- epan/dissectors/packet-wsp.c | 6 +- epan/dissectors/packet-wtp.c | 2 +- epan/dissectors/packet-x25.c | 8 +- epan/dissectors/packet-xip-serval.c | 4 +- epan/dissectors/packet-xip.c | 2 +- epan/dissectors/packet-xmpp.c | 2 +- epan/dissectors/packet-xot.c | 2 +- epan/dissectors/packet-zbee-nwk.c | 4 +- plugins/docsis/packet-docsis.c | 2 +- plugins/ethercat/packet-ecatmb.c | 4 +- plugins/ethercat/packet-esl.c | 2 +- plugins/ethercat/packet-ethercat-datagram.c | 2 +- plugins/wimaxasncp/packet-wimaxasncp.c | 2 +- 358 files changed, 849 insertions(+), 823 deletions(-) diff --git a/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.c b/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.c index 938021845d..245013b3a4 100644 --- a/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.c +++ b/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.c @@ -422,9 +422,8 @@ dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, vo void proto_reg_handoff_ansi_tcap(void) { - - ansi_map_handle = find_dissector("ansi_map"); - ber_oid_dissector_table = find_dissector_table("ber.oid"); + ansi_map_handle = find_dissector_add_dependency("ansi_map", proto_ansi_tcap); + ber_oid_dissector_table = find_dissector_table("ber.oid"); } diff --git a/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.c b/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.c index b25d061bdb..89fc550e45 100644 --- a/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.c +++ b/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.c @@ -866,9 +866,6 @@ void proto_register_atn_ulcs (void) dissect_atn_ulcs, proto_atn_ulcs); - atn_cm_handle = find_dissector("atn-cm"); - atn_cpdlc_handle = find_dissector("atn-cpdlc"); - /* initiate sub dissector list */ atn_ulcs_heur_subdissector_list = register_heur_dissector_list("atn-ulcs", proto_atn_ulcs); @@ -880,6 +877,9 @@ void proto_register_atn_ulcs (void) void proto_reg_handoff_atn_ulcs(void) { + atn_cm_handle = find_dissector_add_dependency("atn-cm", proto_atn_ulcs); + atn_cpdlc_handle = find_dissector_add_dependency("atn-cpdlc", proto_atn_ulcs); + /* add session dissector to cotp dissector list dissector list*/ heur_dissector_add( "cotp", 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 15178d1ef2..01dc00b359 100644 --- a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c +++ b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c @@ -2632,10 +2632,10 @@ void proto_reg_handoff_gsm_map(void) { if (!map_prefs_initialized) { map_prefs_initialized = TRUE; data_handle = find_dissector("data"); - ranap_handle = find_dissector("ranap"); - dtap_handle = find_dissector("gsm_a_dtap"); - gsm_sms_handle = find_dissector("gsm_sms"); - bssap_handle = find_dissector("gsm_a_bssmap"); + ranap_handle = find_dissector_add_dependency("ranap", proto_gsm_map); + dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_gsm_map); + 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" ); diff --git a/epan/dissectors/asn1/h248/packet-h248-template.c b/epan/dissectors/asn1/h248/packet-h248-template.c index 0d173d2983..c5c6866f37 100644 --- a/epan/dissectors/asn1/h248/packet-h248-template.c +++ b/epan/dissectors/asn1/h248/packet-h248-template.c @@ -1666,7 +1666,7 @@ void proto_reg_handoff_h248(void) { 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("h248term"); + h248_term_handle = find_dissector_add_dependency("h248term", proto_h248); initialized = TRUE; } else { if (udp_port != 0) diff --git a/epan/dissectors/asn1/h283/packet-h283-template.c b/epan/dissectors/asn1/h283/packet-h283-template.c index 02437ff443..34d9d0e6fe 100644 --- a/epan/dissectors/asn1/h283/packet-h283-template.c +++ b/epan/dissectors/asn1/h283/packet-h283-template.c @@ -102,8 +102,8 @@ void proto_reg_handoff_h283(void) h283_udp_handle = find_dissector(PFNAME); dissector_add_for_decode_as("udp.port", h283_udp_handle); - rdc_pdu_handle = find_dissector("rdc"); - rdc_device_list_handle = find_dissector("rdc.device_list"); + rdc_pdu_handle = find_dissector_add_dependency("rdc", proto_h283); + rdc_device_list_handle = find_dissector_add_dependency("rdc.device_list", proto_h283); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/asn1/h460/packet-h460-template.c b/epan/dissectors/asn1/h460/packet-h460-template.c index 586cec4ab1..944bc326b1 100644 --- a/epan/dissectors/asn1/h460/packet-h460-template.c +++ b/epan/dissectors/asn1/h460/packet-h460-template.c @@ -274,8 +274,8 @@ void proto_reg_handoff_h460(void) h460_feature_t *ftr; dissector_handle_t h460_name_handle; - q931_ie_handle = find_dissector("q931.ie"); - h225_ras_handle = find_dissector("h225.ras"); + q931_ie_handle = find_dissector_add_dependency("q931.ie", proto_h460); + h225_ras_handle = find_dissector_add_dependency("h225.ras", proto_h460); h460_name_handle = create_dissector_handle(dissect_h460_name, proto_h460); for (ftr=h460_feature_tab; ftr->id; ftr++) { diff --git a/epan/dissectors/asn1/ilp/packet-ilp-template.c b/epan/dissectors/asn1/ilp/packet-ilp-template.c index 5c560d5503..ea57451b2b 100644 --- a/epan/dissectors/asn1/ilp/packet-ilp-template.c +++ b/epan/dissectors/asn1/ilp/packet-ilp-template.c @@ -148,10 +148,10 @@ proto_reg_handoff_ilp(void) static guint local_ilp_port; if (!initialized) { - ilp_handle = find_dissector("ilp"); + ilp_handle = find_dissector_add_dependency("ilp", proto_ilp); dissector_add_string("media_type","application/oma-supl-ilp", ilp_handle); - rrlp_handle = find_dissector("rrlp"); - lpp_handle = find_dissector("lpp"); + rrlp_handle = find_dissector_add_dependency("rrlp", proto_ilp); + lpp_handle = find_dissector_add_dependency("lpp", proto_ilp); initialized = TRUE; } else { dissector_delete_uint("tcp.port", local_ilp_port, ilp_handle); diff --git a/epan/dissectors/asn1/kerberos/packet-kerberos-template.c b/epan/dissectors/asn1/kerberos/packet-kerberos-template.c index 631e403098..54b506485c 100644 --- a/epan/dissectors/asn1/kerberos/packet-kerberos-template.c +++ b/epan/dissectors/asn1/kerberos/packet-kerberos-template.c @@ -2468,7 +2468,7 @@ proto_reg_handoff_kerberos(void) { dissector_handle_t kerberos_handle_tcp; - krb4_handle = find_dissector("krb4"); + krb4_handle = find_dissector_add_dependency("krb4", proto_kerberos); kerberos_handle_udp = create_dissector_handle(dissect_kerberos_udp, proto_kerberos); diff --git a/epan/dissectors/asn1/lcsap/packet-lcsap-template.c b/epan/dissectors/asn1/lcsap/packet-lcsap-template.c index 22e44f34b1..5a860e2a5f 100644 --- a/epan/dissectors/asn1/lcsap/packet-lcsap-template.c +++ b/epan/dissectors/asn1/lcsap/packet-lcsap-template.c @@ -242,8 +242,8 @@ proto_reg_handoff_lcsap(void) if (!Initialized) { lcsap_handle = find_dissector("lcsap"); - lpp_handle = find_dissector("lpp"); - lppa_handle = find_dissector("lppa"); + 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" */ dissector_add_uint("sctp.ppi", LCS_AP_PAYLOAD_PROTOCOL_ID, lcsap_handle); Initialized=TRUE; diff --git a/epan/dissectors/asn1/ldap/packet-ldap-template.c b/epan/dissectors/asn1/ldap/packet-ldap-template.c index a653edc2e4..cc9f2e6ebf 100644 --- a/epan/dissectors/asn1/ldap/packet-ldap-template.c +++ b/epan/dissectors/asn1/ldap/packet-ldap-template.c @@ -2291,13 +2291,13 @@ proto_reg_handoff_ldap(void) cldap_handle = create_dissector_handle(dissect_mscldap, proto_cldap); dissector_add_uint("udp.port", UDP_PORT_CLDAP, cldap_handle); - gssapi_handle = find_dissector("gssapi"); - gssapi_wrap_handle = find_dissector("gssapi_verf"); - spnego_handle = find_dissector("spnego"); + gssapi_handle = find_dissector_add_dependency("gssapi", proto_ldap); + gssapi_wrap_handle = find_dissector_add_dependency("gssapi_verf", proto_ldap); + spnego_handle = find_dissector_add_dependency("spnego", proto_ldap); - ntlmssp_handle = find_dissector("ntlmssp"); + ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_ldap); - ssl_handle = find_dissector("ssl"); + ssl_handle = find_dissector_add_dependency("ssl", proto_ldap); prefs_register_ldap(); diff --git a/epan/dissectors/asn1/lpp/packet-lpp-template.c b/epan/dissectors/asn1/lpp/packet-lpp-template.c index ba31d56c14..49b3f9b252 100644 --- a/epan/dissectors/asn1/lpp/packet-lpp-template.c +++ b/epan/dissectors/asn1/lpp/packet-lpp-template.c @@ -1720,7 +1720,7 @@ void proto_register_lpp(void) { void proto_reg_handoff_lpp(void) { - lppe_handle = find_dissector("lppe"); + lppe_handle = find_dissector_add_dependency("lppe", proto_lpp); } diff --git a/epan/dissectors/asn1/q932/packet-q932-template.c b/epan/dissectors/asn1/q932/packet-q932-template.c index 29d4454bee..a5b517296f 100644 --- a/epan/dissectors/asn1/q932/packet-q932-template.c +++ b/epan/dissectors/asn1/q932/packet-q932-template.c @@ -380,7 +380,7 @@ void proto_reg_handoff_q932(void) { dissector_add_uint("q931.ie", (0x00 << 8) | Q932_IE_FACILITY, q932_ie_handle); /* Notification indicator */ dissector_add_uint("q931.ie", (0x00 << 8) | Q932_IE_NOTIFICATION_INDICATOR, q932_ie_handle); - q932_ros_handle = find_dissector("q932.ros"); + q932_ros_handle = find_dissector_add_dependency("q932.ros", proto_q932); } if(g_facility_encoding == FACILITY_QSIG){ diff --git a/epan/dissectors/asn1/qsig/packet-qsig-template.c b/epan/dissectors/asn1/qsig/packet-qsig-template.c index a0c53527e1..56b7586df6 100644 --- a/epan/dissectors/asn1/qsig/packet-qsig-template.c +++ b/epan/dissectors/asn1/qsig/packet-qsig-template.c @@ -710,8 +710,8 @@ void proto_reg_handoff_qsig(void) { dissector_handle_t qsig_err_handle; dissector_handle_t qsig_ie_handle; - q931_handle = find_dissector("q931"); - q931_ie_handle = find_dissector("q931.ie"); + q931_handle = find_dissector_add_dependency("q931", proto_qsig); + q931_ie_handle = find_dissector_add_dependency("q931.ie", proto_qsig); qsig_arg_handle = create_dissector_handle(dissect_qsig_arg, proto_qsig); qsig_res_handle = create_dissector_handle(dissect_qsig_res, proto_qsig); diff --git a/epan/dissectors/asn1/ranap/packet-ranap-template.c b/epan/dissectors/asn1/ranap/packet-ranap-template.c index 6a63aa4f7e..2b7cab3a82 100644 --- a/epan/dissectors/asn1/ranap/packet-ranap-template.c +++ b/epan/dissectors/asn1/ranap/packet-ranap-template.c @@ -378,8 +378,8 @@ proto_reg_handoff_ranap(void) if (!initialized) { ranap_handle = find_dissector("ranap"); - rrc_s_to_trnc_handle = find_dissector("rrc.s_to_trnc_cont"); - rrc_t_to_srnc_handle = find_dissector("rrc.t_to_srnc_cont"); + 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"); initialized = TRUE; #include "packet-ranap-dis-tab.c" diff --git a/epan/dissectors/asn1/rnsap/packet-rnsap-template.c b/epan/dissectors/asn1/rnsap/packet-rnsap-template.c index 5903a0cdfd..23418703f7 100644 --- a/epan/dissectors/asn1/rnsap/packet-rnsap-template.c +++ b/epan/dissectors/asn1/rnsap/packet-rnsap-template.c @@ -177,7 +177,7 @@ proto_reg_handoff_rnsap(void) dissector_handle_t rnsap_handle; rnsap_handle = find_dissector("rnsap"); - rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch"); + rrc_dl_dcch_handle = find_dissector_add_dependency("rrc.dl.dcch", proto_rnsap); dissector_add_uint("sccp.ssn", SCCP_SSN_RNSAP, rnsap_handle); /* Add heuristic dissector */ diff --git a/epan/dissectors/asn1/rrc/packet-rrc-template.c b/epan/dissectors/asn1/rrc/packet-rrc-template.c index cd31f61b41..ab88609d75 100644 --- a/epan/dissectors/asn1/rrc/packet-rrc-template.c +++ b/epan/dissectors/asn1/rrc/packet-rrc-template.c @@ -351,7 +351,7 @@ void proto_register_rrc(void) { void proto_reg_handoff_rrc(void) { - gsm_a_dtap_handle = find_dissector("gsm_a_dtap"); + gsm_a_dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_rrc); rrc_pcch_handle = find_dissector("rrc.pcch"); rrc_ul_ccch_handle = find_dissector("rrc.ul.ccch"); rrc_dl_ccch_handle = find_dissector("rrc.dl.ccch"); @@ -359,10 +359,10 @@ proto_reg_handoff_rrc(void) rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch"); rrc_ue_radio_access_cap_info_handle = find_dissector("rrc.ue_radio_access_cap_info"); rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch"); - lte_rrc_ue_eutra_cap_handle = find_dissector("lte-rrc.ue_eutra_cap"); - lte_rrc_dl_dcch_handle = find_dissector("lte-rrc.dl.dcch"); + lte_rrc_ue_eutra_cap_handle = find_dissector_add_dependency("lte-rrc.ue_eutra_cap", proto_rrc); + lte_rrc_dl_dcch_handle = find_dissector_add_dependency("lte-rrc.dl.dcch", proto_rrc); rrc_bcch_fach_handle = find_dissector("rrc.bcch.fach"); - gsm_rlcmac_dl_handle = find_dissector("gsm_rlcmac_dl"); + gsm_rlcmac_dl_handle = find_dissector_add_dependency("gsm_rlcmac_dl", proto_rrc); } diff --git a/epan/dissectors/asn1/rua/packet-rua-template.c b/epan/dissectors/asn1/rua/packet-rua-template.c index 7b53c09059..afe94baded 100644 --- a/epan/dissectors/asn1/rua/packet-rua-template.c +++ b/epan/dissectors/asn1/rua/packet-rua-template.c @@ -173,7 +173,7 @@ proto_reg_handoff_rua(void) if (!initialized) { rua_handle = find_dissector("rua"); - ranap_handle = find_dissector("ranap"); + ranap_handle = find_dissector_add_dependency("ranap", proto_rua); dissector_add_uint("sctp.ppi", RUA_PAYLOAD_PROTOCOL_ID, rua_handle); initialized = TRUE; #include "packet-rua-dis-tab.c" diff --git a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c index baef829615..b2cc5ad191 100644 --- a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c +++ b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c @@ -211,12 +211,12 @@ proto_reg_handoff_s1ap(void) static guint SctpPort; s1ap_handle = find_dissector("s1ap"); - gcsna_handle = find_dissector("gcsna"); + gcsna_handle = find_dissector_add_dependency("gcsna", proto_s1ap); if (!Initialized) { - nas_eps_handle = find_dissector("nas-eps"); - lppa_handle = find_dissector("lppa"); - bssgp_handle = find_dissector("bssgp"); + nas_eps_handle = find_dissector_add_dependency("nas-eps", proto_s1ap); + lppa_handle = find_dissector_add_dependency("lppa", proto_s1ap); + bssgp_handle = find_dissector_add_dependency("bssgp", proto_s1ap); dissector_add_for_decode_as("sctp.port", s1ap_handle); dissector_add_uint("sctp.ppi", S1AP_PAYLOAD_PROTOCOL_ID, s1ap_handle); Initialized=TRUE; diff --git a/epan/dissectors/asn1/t38/packet-t38-template.c b/epan/dissectors/asn1/t38/packet-t38-template.c index b224b664fe..7f718414f9 100644 --- a/epan/dissectors/asn1/t38/packet-t38-template.c +++ b/epan/dissectors/asn1/t38/packet-t38-template.c @@ -770,8 +770,8 @@ proto_reg_handoff_t38(void) t38_udp_handle=create_dissector_handle(dissect_t38_udp, proto_t38); t38_tcp_handle=create_dissector_handle(dissect_t38_tcp, proto_t38); t38_tcp_pdu_handle=create_dissector_handle(dissect_t38_tcp_pdu, proto_t38); - rtp_handle = find_dissector("rtp"); - t30_hdlc_handle = find_dissector("t30.hdlc"); + rtp_handle = find_dissector_add_dependency("rtp", proto_t38); + t30_hdlc_handle = find_dissector_add_dependency("t30.hdlc""rtp", proto_t38); data_handle = find_dissector("data"); t38_prefs_initialized = TRUE; } diff --git a/epan/dissectors/asn1/tcap/packet-tcap-template.c b/epan/dissectors/asn1/tcap/packet-tcap-template.c index b3df5bb755..09e3a72148 100644 --- a/epan/dissectors/asn1/tcap/packet-tcap-template.c +++ b/epan/dissectors/asn1/tcap/packet-tcap-template.c @@ -2061,7 +2061,7 @@ proto_reg_handoff_tcap(void) { data_handle = find_dissector("data"); - ansi_tcap_handle = find_dissector("ansi_tcap"); + ansi_tcap_handle = find_dissector_add_dependency("ansi_tcap", proto_tcap); ber_oid_dissector_table = find_dissector_table("ber.oid"); #include "packet-tcap-dis-tab.c" diff --git a/epan/dissectors/asn1/ulp/packet-ulp-template.c b/epan/dissectors/asn1/ulp/packet-ulp-template.c index 4e35e33a3b..c12cdd1aab 100644 --- a/epan/dissectors/asn1/ulp/packet-ulp-template.c +++ b/epan/dissectors/asn1/ulp/packet-ulp-template.c @@ -453,8 +453,8 @@ proto_reg_handoff_ulp(void) 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); - rrlp_handle = find_dissector("rrlp"); - lpp_handle = find_dissector("lpp"); + rrlp_handle = find_dissector_add_dependency("rrlp", proto_ulp); + lpp_handle = find_dissector_add_dependency("lpp", proto_ulp); initialized = TRUE; } else { dissector_delete_uint("tcp.port", local_ulp_tcp_port, ulp_tcp_handle); diff --git a/epan/dissectors/file-btsnoop.c b/epan/dissectors/file-btsnoop.c index 7275afe7eb..35eba3887d 100644 --- a/epan/dissectors/file-btsnoop.c +++ b/epan/dissectors/file-btsnoop.c @@ -388,9 +388,9 @@ proto_register_btsnoop(void) void proto_reg_handoff_btsnoop(void) { - hci_h1_handle = find_dissector("hci_h1"); - hci_h4_handle = find_dissector("hci_h4"); - hci_mon_handle = find_dissector("hci_mon"); + hci_h1_handle = find_dissector_add_dependency("hci_h1", proto_btsnoop); + hci_h4_handle = find_dissector_add_dependency("hci_h4", proto_btsnoop); + hci_mon_handle = find_dissector_add_dependency("hci_mon", proto_btsnoop); heur_dissector_add("wtap_file", dissect_btsnoop_heur, "BTSNOOP file", "btsnoop_wtap", proto_btsnoop, HEURISTIC_ENABLE); } diff --git a/epan/dissectors/file-pcap.c b/epan/dissectors/file-pcap.c index 031b7de725..a53807c699 100644 --- a/epan/dissectors/file-pcap.c +++ b/epan/dissectors/file-pcap.c @@ -321,7 +321,7 @@ void proto_reg_handoff_file_pcap(void) { heur_dissector_add("wtap_file", dissect_pcap_heur, "PCAP File", "pcap_wtap", proto_pcap, HEURISTIC_ENABLE); - pcap_pktdata_handle = find_dissector("pcap_pktdata"); + pcap_pktdata_handle = find_dissector_add_dependency("pcap_pktdata", proto_pcap); } /* diff --git a/epan/dissectors/file-pcapng.c b/epan/dissectors/file-pcapng.c index 133b3c6330..51c7c67a25 100644 --- a/epan/dissectors/file-pcapng.c +++ b/epan/dissectors/file-pcapng.c @@ -1827,7 +1827,7 @@ void proto_reg_handoff_pcapng(void) { heur_dissector_add("wtap_file", dissect_pcapng_heur, "PCAPNG File", "pcapng_wtap", proto_pcapng, HEURISTIC_ENABLE); - pcap_pktdata_handle = find_dissector("pcap_pktdata"); + pcap_pktdata_handle = find_dissector_add_dependency("pcap_pktdata", proto_pcapng); } /* diff --git a/epan/dissectors/packet-3com-xns.c b/epan/dissectors/packet-3com-xns.c index 1e86f66d58..62bd78a6ac 100644 --- a/epan/dissectors/packet-3com-xns.c +++ b/epan/dissectors/packet-3com-xns.c @@ -119,7 +119,7 @@ proto_reg_handoff_3com_xns(void) { dissector_handle_t our_xns_handle; - retix_bpdu_handle = find_dissector("rbpdu"); + retix_bpdu_handle = find_dissector_add_dependency("rbpdu", proto_3com_xns); data_handle = find_dissector("data"); ethertype_subdissector_table = find_dissector_table("ethertype"); diff --git a/epan/dissectors/packet-6lowpan.c b/epan/dissectors/packet-6lowpan.c index d2640c78ed..512c243686 100644 --- a/epan/dissectors/packet-6lowpan.c +++ b/epan/dissectors/packet-6lowpan.c @@ -2978,7 +2978,7 @@ void proto_reg_handoff_6lowpan(void) { data_handle = find_dissector("data"); - ipv6_handle = find_dissector("ipv6"); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_6lowpan); /* Register the 6LoWPAN dissector with IEEE 802.15.4 */ dissector_add_for_decode_as(IEEE802154_PROTOABBREV_WPAN_PANID, handle_6lowpan); diff --git a/epan/dissectors/packet-a21.c b/epan/dissectors/packet-a21.c index f2da4854e4..b62efe1063 100644 --- a/epan/dissectors/packet-a21.c +++ b/epan/dissectors/packet-a21.c @@ -964,7 +964,7 @@ void proto_reg_handoff_a21(void) if (!a21_prefs_initialized) { a21_handle = create_dissector_handle(dissect_a21, proto_a21); - gcsna_handle = find_dissector("gcsna"); + gcsna_handle = find_dissector_add_dependency("gcsna", proto_a21); dissector_add_uint("udp.port", a21_udp_port, a21_handle); a21_prefs_initialized = TRUE; } else { diff --git a/epan/dissectors/packet-acr122.c b/epan/dissectors/packet-acr122.c index 9cc1ae5ffa..5fe0476c76 100644 --- a/epan/dissectors/packet-acr122.c +++ b/epan/dissectors/packet-acr122.c @@ -901,7 +901,7 @@ proto_register_acr122(void) void proto_reg_handoff_acr122(void) { - pn532_handle = find_dissector("pn532"); + pn532_handle = find_dissector_add_dependency("pn532", proto_acr122); } /* diff --git a/epan/dissectors/packet-actrace.c b/epan/dissectors/packet-actrace.c index 51c87073a2..48207bebdc 100644 --- a/epan/dissectors/packet-actrace.c +++ b/epan/dissectors/packet-actrace.c @@ -818,7 +818,7 @@ void proto_reg_handoff_actrace(void) { actrace_handle = create_dissector_handle(dissect_actrace, proto_actrace); /* Get a handle for the lapd dissector. */ - lapd_handle = find_dissector("lapd"); + lapd_handle = find_dissector_add_dependency("lapd", proto_actrace); actrace_prefs_initialized = TRUE; } else diff --git a/epan/dissectors/packet-adb.c b/epan/dissectors/packet-adb.c index 7c674b75ef..364103cb79 100644 --- a/epan/dissectors/packet-adb.c +++ b/epan/dissectors/packet-adb.c @@ -898,7 +898,7 @@ proto_register_adb(void) void proto_reg_handoff_adb(void) { - adb_service_handle = find_dissector("adb_service"); + adb_service_handle = find_dissector_add_dependency("adb_service", proto_adb); dissector_add_handle("tcp.port", adb_handle); dissector_add_handle("usb.device", adb_handle); diff --git a/epan/dissectors/packet-adb_cs.c b/epan/dissectors/packet-adb_cs.c index abaf8b124a..124c249859 100644 --- a/epan/dissectors/packet-adb_cs.c +++ b/epan/dissectors/packet-adb_cs.c @@ -435,7 +435,7 @@ void proto_reg_handoff_adb_cs(void) { data_handle = find_dissector("data"); - adb_service_handle = find_dissector("adb_service"); + adb_service_handle = find_dissector_add_dependency("adb_service", proto_adb_cs); dissector_add_for_decode_as("tcp.port", adb_cs_handle); } diff --git a/epan/dissectors/packet-adb_service.c b/epan/dissectors/packet-adb_service.c index dd024e9357..7e60edd587 100644 --- a/epan/dissectors/packet-adb_service.c +++ b/epan/dissectors/packet-adb_service.c @@ -826,7 +826,7 @@ proto_register_adb_service(void) void proto_reg_handoff_adb_service(void) { - logcat_handle = find_dissector("logcat"); + logcat_handle = find_dissector_add_dependency("logcat", proto_adb_service); } /* diff --git a/epan/dissectors/packet-afp.c b/epan/dissectors/packet-afp.c index b1e1831589..bf8df16ba7 100644 --- a/epan/dissectors/packet-afp.c +++ b/epan/dissectors/packet-afp.c @@ -7280,7 +7280,7 @@ void proto_reg_handoff_afp(void) { data_handle = find_dissector("data"); - spotlight_handle = find_dissector("afp_spotlight"); + spotlight_handle = find_dissector_add_dependency("afp_spotlight", proto_afp); } /* ------------------------------- diff --git a/epan/dissectors/packet-ansi_tcap.c b/epan/dissectors/packet-ansi_tcap.c index 62942f2cc1..f702ba8d5e 100644 --- a/epan/dissectors/packet-ansi_tcap.c +++ b/epan/dissectors/packet-ansi_tcap.c @@ -1483,9 +1483,8 @@ dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, vo void proto_reg_handoff_ansi_tcap(void) { - - ansi_map_handle = find_dissector("ansi_map"); - ber_oid_dissector_table = find_dissector_table("ber.oid"); + ansi_map_handle = find_dissector_add_dependency("ansi_map", proto_ansi_tcap); + ber_oid_dissector_table = find_dissector_table("ber.oid"); } @@ -1755,7 +1754,7 @@ proto_register_ansi_tcap(void) NULL, HFILL }}, /*--- End of included file: packet-ansi_tcap-hfarr.c ---*/ -#line 489 "./asn1/ansi_tcap/packet-ansi_tcap-template.c" +#line 488 "./asn1/ansi_tcap/packet-ansi_tcap-template.c" }; /* Setup protocol subtree array */ @@ -1793,7 +1792,7 @@ proto_register_ansi_tcap(void) &ett_ansi_tcap_T_paramSet, /*--- End of included file: packet-ansi_tcap-ettarr.c ---*/ -#line 500 "./asn1/ansi_tcap/packet-ansi_tcap-template.c" +#line 499 "./asn1/ansi_tcap/packet-ansi_tcap-template.c" }; static ei_register_info ei[] = { diff --git a/epan/dissectors/packet-applemidi.c b/epan/dissectors/packet-applemidi.c index 9b0d2eabc2..06fb9e80f7 100644 --- a/epan/dissectors/packet-applemidi.c +++ b/epan/dissectors/packet-applemidi.c @@ -525,7 +525,7 @@ proto_reg_handoff_applemidi( void ) { * The second port is then used for the RTP-MIDI-data. So if we can't find valid AppleMidi * packets, it will be most likely RTP-MIDI... */ - rtp_handle = find_dissector( "rtp" ); + rtp_handle = find_dissector_add_dependency( "rtp", proto_applemidi ); heur_dissector_add( "udp", dissect_applemidi_heur, "Apple MIDI over UDP", "applemidi_udp", proto_applemidi, HEURISTIC_ENABLE ); } diff --git a/epan/dissectors/packet-artnet.c b/epan/dissectors/packet-artnet.c index c64acd3fac..e2113018ce 100644 --- a/epan/dissectors/packet-artnet.c +++ b/epan/dissectors/packet-artnet.c @@ -5421,8 +5421,8 @@ proto_reg_handoff_artnet(void) { artnet_handle = create_dissector_handle(dissect_artnet, proto_artnet); dissector_add_for_decode_as("udp.port", artnet_handle); - rdm_handle = find_dissector("rdm"); - dmx_chan_handle = find_dissector("dmx-chan"); + rdm_handle = find_dissector_add_dependency("rdm", proto_artnet); + dmx_chan_handle = find_dissector_add_dependency("dmx-chan", proto_artnet); heur_dissector_add("udp", dissect_artnet_heur, "ARTNET over UDP", "artnet_udp", proto_artnet, HEURISTIC_ENABLE); } diff --git a/epan/dissectors/packet-aruba-erm.c b/epan/dissectors/packet-aruba-erm.c index de217b7007..b34d5054be 100644 --- a/epan/dissectors/packet-aruba-erm.c +++ b/epan/dissectors/packet-aruba-erm.c @@ -475,10 +475,10 @@ proto_reg_handoff_aruba_erm(void) static gboolean initialized = FALSE; if (!initialized) { - wlan_radio_handle = find_dissector("wlan_radio"); - wlan_withfcs_handle = find_dissector("wlan_withfcs"); - ppi_handle = find_dissector("ppi"); - peek_handle = find_dissector("peekremote"); + wlan_radio_handle = find_dissector_add_dependency("wlan_radio", proto_aruba_erm); + wlan_withfcs_handle = find_dissector_add_dependency("wlan_withfcs", proto_aruba_erm); + ppi_handle = find_dissector_add_dependency("ppi", proto_aruba_erm); + peek_handle = find_dissector_add_dependency("peekremote", proto_aruba_erm); data_handle = find_dissector("data"); aruba_erm_handle = create_dissector_handle(dissect_aruba_erm, proto_aruba_erm); aruba_erm_handle_type0 = create_dissector_handle(dissect_aruba_erm_type0, proto_aruba_erm_type0); diff --git a/epan/dissectors/packet-ascend.c b/epan/dissectors/packet-ascend.c index cd0edb5b0e..bbc3d73536 100644 --- a/epan/dissectors/packet-ascend.c +++ b/epan/dissectors/packet-ascend.c @@ -158,8 +158,8 @@ proto_reg_handoff_ascend(void) /* * Get handles for the Ethernet and PPP-in-HDLC-like-framing dissectors. */ - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); - ppp_hdlc_handle = find_dissector("ppp_hdlc"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_ascend); + ppp_hdlc_handle = find_dissector_add_dependency("ppp_hdlc", proto_ascend); ascend_handle = create_dissector_handle(dissect_ascend, proto_ascend); dissector_add_uint("wtap_encap", WTAP_ENCAP_ASCEND, ascend_handle); diff --git a/epan/dissectors/packet-atalk.c b/epan/dissectors/packet-atalk.c index 85965e44b6..bd8d87d99a 100644 --- a/epan/dissectors/packet-atalk.c +++ b/epan/dissectors/packet-atalk.c @@ -2124,8 +2124,8 @@ proto_reg_handoff_atalk(void) register_cleanup_routine( atp_cleanup); register_init_routine( &asp_reinit); - afp_handle = find_dissector("afp"); - afp_server_status_handle = find_dissector("afp_server_status"); + afp_handle = find_dissector_add_dependency("afp", proto_asp); + afp_server_status_handle = find_dissector_add_dependency("afp_server_status", proto_asp); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-atm.c b/epan/dissectors/packet-atm.c index bbf65e7076..2a23ffcb2e 100644 --- a/epan/dissectors/packet-atm.c +++ b/epan/dissectors/packet-atm.c @@ -2009,14 +2009,14 @@ proto_reg_handoff_atm(void) * Get handles for the Ethernet, Token Ring, Frame Relay, LLC, * SSCOP, LANE, and ILMI dissectors. */ - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); - tr_handle = find_dissector("tr"); - fr_handle = find_dissector("fr"); - llc_handle = find_dissector("llc"); - sscop_handle = find_dissector("sscop"); - ppp_handle = find_dissector("ppp"); - eth_maybefcs_handle = find_dissector("eth_maybefcs"); - ip_handle = find_dissector("ip"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_atm_lane); + tr_handle = find_dissector_add_dependency("tr", proto_atm_lane); + fr_handle = find_dissector_add_dependency("fr", proto_atm); + llc_handle = find_dissector_add_dependency("llc", proto_atm); + sscop_handle = find_dissector_add_dependency("sscop", proto_atm); + ppp_handle = find_dissector_add_dependency("ppp", proto_atm); + eth_maybefcs_handle = find_dissector_add_dependency("eth_maybefcs", proto_atm); + ip_handle = find_dissector_add_dependency("ip", proto_atm); data_handle = find_dissector("data"); dissector_add_uint("wtap_encap", WTAP_ENCAP_ATM_PDUS, atm_handle); diff --git a/epan/dissectors/packet-atn-ulcs.c b/epan/dissectors/packet-atn-ulcs.c index d91d024a42..8ad7706bea 100644 --- a/epan/dissectors/packet-atn-ulcs.c +++ b/epan/dissectors/packet-atn-ulcs.c @@ -2592,9 +2592,6 @@ void proto_register_atn_ulcs (void) dissect_atn_ulcs, proto_atn_ulcs); - atn_cm_handle = find_dissector("atn-cm"); - atn_cpdlc_handle = find_dissector("atn-cpdlc"); - /* initiate sub dissector list */ atn_ulcs_heur_subdissector_list = register_heur_dissector_list("atn-ulcs", proto_atn_ulcs); @@ -2606,6 +2603,9 @@ void proto_register_atn_ulcs (void) void proto_reg_handoff_atn_ulcs(void) { + atn_cm_handle = find_dissector_add_dependency("atn-cm", proto_atn_ulcs); + atn_cpdlc_handle = find_dissector_add_dependency("atn-cpdlc", proto_atn_ulcs); + /* add session dissector to cotp dissector list dissector list*/ heur_dissector_add( "cotp", diff --git a/epan/dissectors/packet-ax25-kiss.c b/epan/dissectors/packet-ax25-kiss.c index a440de01a1..8812d1fae3 100644 --- a/epan/dissectors/packet-ax25-kiss.c +++ b/epan/dissectors/packet-ax25-kiss.c @@ -450,7 +450,7 @@ proto_reg_handoff_ax25_kiss(void) register_capture_dissector("wtap_encap", WTAP_ENCAP_AX25_KISS, capture_ax25_kiss, proto_ax25_kiss); /* only currently implemented for AX.25 */ - ax25_handle = find_dissector( "ax25" ); + ax25_handle = find_dissector_add_dependency( "ax25", proto_ax25_kiss ); } /* diff --git a/epan/dissectors/packet-ax25-nol3.c b/epan/dissectors/packet-ax25-nol3.c index e8b2065ee6..5efb3b0090 100644 --- a/epan/dissectors/packet-ax25-nol3.c +++ b/epan/dissectors/packet-ax25-nol3.c @@ -288,7 +288,7 @@ proto_reg_handoff_ax25_nol3(void) /* */ - aprs_handle = find_dissector( "aprs" ); + aprs_handle = find_dissector_add_dependency( "aprs", proto_ax25_nol3 ); default_handle = find_dissector( "data" ); } diff --git a/epan/dissectors/packet-bacnet.c b/epan/dissectors/packet-bacnet.c index 20f202d89a..3095a9a0cf 100644 --- a/epan/dissectors/packet-bacnet.c +++ b/epan/dissectors/packet-bacnet.c @@ -636,7 +636,7 @@ proto_reg_handoff_bacnet(void) dissector_add_uint("bvlc.function", 0x0a, bacnet_handle); dissector_add_uint("bvlc.function", 0x0b, bacnet_handle); dissector_add_uint("llc.dsap", SAP_BACNET, bacnet_handle); - bacapp_handle = find_dissector("bacapp"); + bacapp_handle = find_dissector_add_dependency("bacapp", proto_bacnet); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-bat.c b/epan/dissectors/packet-bat.c index 36ff911c0c..0dfdf8e31f 100644 --- a/epan/dissectors/packet-bat.c +++ b/epan/dissectors/packet-bat.c @@ -889,7 +889,7 @@ void proto_reg_handoff_bat(void) gw_handle = create_dissector_handle(dissect_bat_gw, proto_bat_gw); vis_handle = create_dissector_handle(dissect_bat_vis, proto_bat_vis); - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_bat_gw); data_handle = find_dissector("data"); inited = TRUE; diff --git a/epan/dissectors/packet-batadv.c b/epan/dissectors/packet-batadv.c index aefac07410..758a9c7578 100644 --- a/epan/dissectors/packet-batadv.c +++ b/epan/dissectors/packet-batadv.c @@ -5050,7 +5050,7 @@ void proto_reg_handoff_batadv(void) batman_handle = create_dissector_handle(dissect_batadv_plugin, proto_batadv_plugin); data_handle = find_dissector("data"); - eth_handle = find_dissector("eth_withoutfcs"); + eth_handle = find_dissector_add_dependency("eth_withoutfcs", proto_batadv_plugin); batadv_tap = register_tap("batman"); batadv_follow_tap = register_tap("batman_follow"); diff --git a/epan/dissectors/packet-bctp.c b/epan/dissectors/packet-bctp.c index a46685873e..f3689f1ce9 100644 --- a/epan/dissectors/packet-bctp.c +++ b/epan/dissectors/packet-bctp.c @@ -115,7 +115,7 @@ void proto_reg_handoff_bctp(void) { data_handle = find_dissector("data"); - text_handle = find_dissector("data-text-lines"); + text_handle = find_dissector_add_dependency("data-text-lines", proto_bctp); } /* diff --git a/epan/dissectors/packet-bittorrent.c b/epan/dissectors/packet-bittorrent.c index 423608aeaf..d0155786eb 100644 --- a/epan/dissectors/packet-bittorrent.c +++ b/epan/dissectors/packet-bittorrent.c @@ -694,7 +694,7 @@ proto_register_bittorrent(void) void proto_reg_handoff_bittorrent(void) { - bencode_handle = find_dissector("bencode"); + bencode_handle = find_dissector_add_dependency("bencode", proto_bittorrent); dissector_handle = find_dissector("bittorrent.tcp"); #if 0 diff --git a/epan/dissectors/packet-bluetooth.c b/epan/dissectors/packet-bluetooth.c index 002a8d7f39..773a2a5cd3 100644 --- a/epan/dissectors/packet-bluetooth.c +++ b/epan/dissectors/packet-bluetooth.c @@ -2054,9 +2054,9 @@ proto_reg_handoff_bluetooth(void) dissector_handle_t eapol_handle; dissector_handle_t btl2cap_handle; - btle_handle = find_dissector("btle"); + btle_handle = find_dissector_add_dependency("btle", proto_bluetooth); data_handle = find_dissector("data"); - hci_usb_handle = find_dissector("hci_usb"); + hci_usb_handle = find_dissector_add_dependency("hci_usb", proto_bluetooth); dissector_add_uint("wtap_encap", WTAP_ENCAP_BLUETOOTH_HCI, bluetooth_bthci_handle); dissector_add_uint("wtap_encap", WTAP_ENCAP_BLUETOOTH_H4, bluetooth_handle); diff --git a/epan/dissectors/packet-bmp.c b/epan/dissectors/packet-bmp.c index d505dfeea5..da484e1a83 100644 --- a/epan/dissectors/packet-bmp.c +++ b/epan/dissectors/packet-bmp.c @@ -811,7 +811,7 @@ proto_reg_handoff_bmp(void) bmp_handle = create_dissector_handle(dissect_bmp, proto_bmp); dissector_add_for_decode_as("tcp.port", bmp_handle); - dissector_bgp = find_dissector("bgp"); + dissector_bgp = find_dissector_add_dependency("bgp", proto_bmp); } /* * Editor modelines - http://www.wireshark.org/tools/modelines.html diff --git a/epan/dissectors/packet-bpdu.c b/epan/dissectors/packet-bpdu.c index 7a8fad4941..456e48f1f7 100644 --- a/epan/dissectors/packet-bpdu.c +++ b/epan/dissectors/packet-bpdu.c @@ -1377,9 +1377,9 @@ proto_reg_handoff_bpdu(void) /* * Get handle for the GMRP dissector. */ - gmrp_handle = find_dissector("gmrp"); + gmrp_handle = find_dissector_add_dependency("gmrp", proto_bpdu); - bpdu_handle = find_dissector("bpdu"); + bpdu_handle = find_dissector_add_dependency("bpdu", proto_bpdu); dissector_add_uint("llc.dsap", SAP_BPDU, bpdu_handle); dissector_add_uint("chdlc.protocol", CHDLCTYPE_BPDU, bpdu_handle); dissector_add_uint("ethertype", ETHERTYPE_STP, bpdu_handle); diff --git a/epan/dissectors/packet-bpq.c b/epan/dissectors/packet-bpq.c index 792d5c22a6..5ef6e01b59 100644 --- a/epan/dissectors/packet-bpq.c +++ b/epan/dissectors/packet-bpq.c @@ -150,7 +150,7 @@ proto_reg_handoff_bpq(void) register_capture_dissector("ethertype", ETHERTYPE_BPQ, capture_bpq, proto_bpq); /* BPQ is only implemented for AX.25 */ - ax25_handle = find_dissector( "ax25" ); + ax25_handle = find_dissector_add_dependency( "ax25", proto_bpq ); } diff --git a/epan/dissectors/packet-brdwlk.c b/epan/dissectors/packet-brdwlk.c index aaf538f173..b585522063 100644 --- a/epan/dissectors/packet-brdwlk.c +++ b/epan/dissectors/packet-brdwlk.c @@ -409,7 +409,7 @@ proto_reg_handoff_brdwlk(void) brdwlk_handle = create_dissector_handle(dissect_brdwlk, proto_brdwlk); dissector_add_uint("ethertype", ETHERTYPE_BRDWALK, brdwlk_handle); dissector_add_uint("ethertype", 0xABCD, brdwlk_handle); - fc_dissector_handle = find_dissector("fc"); + fc_dissector_handle = find_dissector_add_dependency("fc", proto_brdwlk); } /* diff --git a/epan/dissectors/packet-bssap.c b/epan/dissectors/packet-bssap.c index 94e13d6b13..83ec8360d1 100644 --- a/epan/dissectors/packet-bssap.c +++ b/epan/dissectors/packet-bssap.c @@ -2564,9 +2564,10 @@ proto_reg_handoff_bssap(void) bssap_plus_handle = create_dissector_handle(dissect_bssap_plus, proto_bssap); data_handle = find_dissector("data"); - rrlp_handle = find_dissector("rrlp"); - gsm_bssmap_le_dissector_handle = find_dissector("gsm_bssmap_le"); - gsm_a_bssmap_dissector_handle = find_dissector("gsm_a_bssmap"); + rrlp_handle = find_dissector_add_dependency("rrlp", proto_bssap_plus); + gsm_bssmap_le_dissector_handle = find_dissector_add_dependency("gsm_bssmap_le", proto_bssap); + gsm_a_bssmap_dissector_handle = find_dissector_add_dependency("gsm_a_bssmap", proto_bssap); + initialized = TRUE; } else { dissector_delete_uint("sccp.ssn", old_bssap_ssn, bssap_plus_handle); diff --git a/epan/dissectors/packet-btatt.c b/epan/dissectors/packet-btatt.c index c02c5ce8a1..a6c2a86db9 100644 --- a/epan/dissectors/packet-btatt.c +++ b/epan/dissectors/packet-btatt.c @@ -14047,10 +14047,10 @@ proto_reg_handoff_btatt(void) { gint i_array; - http_handle = find_dissector("http"); - usb_hid_boot_keyboard_input_report_handle = find_dissector("usbhid.boot_report.keyboard.input"); - usb_hid_boot_keyboard_output_report_handle = find_dissector("usbhid.boot_report.keyboard.output"); - usb_hid_boot_mouse_input_report_handle = find_dissector("usbhid.boot_report.mouse.input"); + http_handle = find_dissector_add_dependency("http", proto_btatt); + usb_hid_boot_keyboard_input_report_handle = find_dissector_add_dependency("usbhid.boot_report.keyboard.input", proto_btatt); + usb_hid_boot_keyboard_output_report_handle = find_dissector_add_dependency("usbhid.boot_report.keyboard.output", proto_btatt); + usb_hid_boot_mouse_input_report_handle = find_dissector_add_dependency("usbhid.boot_report.mouse.input", proto_btatt); dissector_add_uint("btl2cap.psm", BTL2CAP_PSM_ATT, btatt_handle); dissector_add_uint("btl2cap.cid", BTL2CAP_FIXED_CID_ATT, btatt_handle); diff --git a/epan/dissectors/packet-btavdtp.c b/epan/dissectors/packet-btavdtp.c index 5706f63fe9..68b5324adf 100644 --- a/epan/dissectors/packet-btavdtp.c +++ b/epan/dissectors/packet-btavdtp.c @@ -3172,13 +3172,13 @@ proto_register_bta2dp(void) void proto_reg_handoff_bta2dp(void) { - sbc_handle = find_dissector("sbc"); - mp2t_handle = find_dissector("mp2t"); - mpeg_audio_handle = find_dissector("mpeg-audio"); + sbc_handle = find_dissector_add_dependency("sbc", proto_bta2dp); + mp2t_handle = find_dissector_add_dependency("mp2t", proto_bta2dp); + mpeg_audio_handle = find_dissector_add_dependency("mpeg-audio", proto_bta2dp); /* TODO: ATRAC dissector does not exist yet */ - atrac_handle = find_dissector("atrac"); + atrac_handle = find_dissector_add_dependency("atrac", proto_bta2dp); - rtp_handle = find_dissector("rtp"); + rtp_handle = find_dissector_add_dependency("rtp", proto_bta2dp); dissector_add_string("bluetooth.uuid", "110a", bta2dp_handle); dissector_add_string("bluetooth.uuid", "110b", bta2dp_handle); @@ -3412,10 +3412,10 @@ proto_register_btvdp(void) void proto_reg_handoff_btvdp(void) { - h263_handle = find_dissector("h263"); - mp4v_es_handle = find_dissector("mp4v-es"); + h263_handle = find_dissector_add_dependency("h263", proto_btvdp); + mp4v_es_handle = find_dissector_add_dependency("mp4v-es", proto_btvdp); - rtp_handle = find_dissector("rtp"); + rtp_handle = find_dissector_add_dependency("rtp", proto_btvdp); dissector_add_string("bluetooth.uuid", "1303", btvdp_handle); dissector_add_string("bluetooth.uuid", "1304", btvdp_handle); diff --git a/epan/dissectors/packet-btbnep.c b/epan/dissectors/packet-btbnep.c index 20a5583cc2..3c2f9d77aa 100644 --- a/epan/dissectors/packet-btbnep.c +++ b/epan/dissectors/packet-btbnep.c @@ -643,10 +643,10 @@ proto_register_btbnep(void) void proto_reg_handoff_btbnep(void) { - ipx_handle = find_dissector("ipx"); - llc_handle = find_dissector("llc"); + ipx_handle = find_dissector_add_dependency("ipx", proto_btbnep); + llc_handle = find_dissector_add_dependency("llc", proto_btbnep); data_handle = find_dissector("data"); - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_btbnep); dissector_add_string("bluetooth.uuid", "1115", btbnep_handle); dissector_add_string("bluetooth.uuid", "1116", btbnep_handle); diff --git a/epan/dissectors/packet-bthci_acl.c b/epan/dissectors/packet-bthci_acl.c index 76f388380c..fc44e8f522 100644 --- a/epan/dissectors/packet-bthci_acl.c +++ b/epan/dissectors/packet-bthci_acl.c @@ -689,7 +689,7 @@ proto_reg_handoff_bthci_acl(void) dissector_add_uint("hci_h4.type", HCI_H4_TYPE_ACL, bthci_acl_handle); dissector_add_uint("hci_h1.type", BTHCI_CHANNEL_ACL, bthci_acl_handle); - btl2cap_handle = find_dissector("btl2cap"); + btl2cap_handle = find_dissector_add_dependency("btl2cap", proto_bthci_acl); } /* diff --git a/epan/dissectors/packet-bthci_evt.c b/epan/dissectors/packet-bthci_evt.c index 9795aa9ad4..0953f7ca90 100644 --- a/epan/dissectors/packet-bthci_evt.c +++ b/epan/dissectors/packet-bthci_evt.c @@ -6210,11 +6210,11 @@ proto_reg_handoff_bthci_evt(void) dissector_add_uint("hci_h4.type", HCI_H4_TYPE_EVT, bthci_evt_handle); dissector_add_uint("hci_h1.type", BTHCI_CHANNEL_EVENT, bthci_evt_handle); - bthci_cmd_handle = find_dissector("bthci_cmd"); - btcommon_cod_handle = find_dissector("btcommon.cod"); - btcommon_eir_handle = find_dissector("btcommon.eir_ad.eir"); - btcommon_ad_handle = find_dissector("btcommon.eir_ad.ad"); - btcommon_le_channel_map_handle = find_dissector("btcommon.le_channel_map"); + bthci_cmd_handle = find_dissector_add_dependency("bthci_cmd", proto_bthci_evt); + btcommon_cod_handle = find_dissector_add_dependency("btcommon.cod", proto_bthci_evt); + btcommon_eir_handle = find_dissector_add_dependency("btcommon.eir_ad.eir", proto_bthci_evt); + btcommon_ad_handle = find_dissector_add_dependency("btcommon.eir_ad.ad", proto_bthci_evt); + btcommon_le_channel_map_handle = find_dissector_add_dependency("btcommon.le_channel_map", proto_bthci_evt); } /* diff --git a/epan/dissectors/packet-bthci_vendor.c b/epan/dissectors/packet-bthci_vendor.c index a43c986b12..2f227679f2 100644 --- a/epan/dissectors/packet-bthci_vendor.c +++ b/epan/dissectors/packet-bthci_vendor.c @@ -1560,7 +1560,7 @@ proto_register_bthci_vendor_broadcom(void) void proto_reg_handoff_bthci_vendor_broadcom(void) { - btcommon_ad_handle = find_dissector("btcommon.eir_ad.ad"); + btcommon_ad_handle = find_dissector_add_dependency("btcommon.eir_ad.ad", proto_bthci_vendor_broadcom); dissector_add_for_decode_as("bthci_cmd.vendor", bthci_vendor_broadcom_handle); dissector_add_uint("bluetooth.vendor", 0x000F, bthci_vendor_broadcom_handle); } diff --git a/epan/dissectors/packet-bthid.c b/epan/dissectors/packet-bthid.c index 9fd659d81a..460cfb4b57 100644 --- a/epan/dissectors/packet-bthid.c +++ b/epan/dissectors/packet-bthid.c @@ -421,9 +421,9 @@ proto_register_bthid(void) void proto_reg_handoff_bthid(void) { - usb_hid_boot_keyboard_input_report_handle = find_dissector("usbhid.boot_report.keyboard.input"); - usb_hid_boot_keyboard_output_report_handle = find_dissector("usbhid.boot_report.keyboard.output"); - usb_hid_boot_mouse_input_report_handle = find_dissector("usbhid.boot_report.mouse.input"); + usb_hid_boot_keyboard_input_report_handle = find_dissector_add_dependency("usbhid.boot_report.keyboard.input", proto_bthid); + usb_hid_boot_keyboard_output_report_handle = find_dissector_add_dependency("usbhid.boot_report.keyboard.output", proto_bthid); + usb_hid_boot_mouse_input_report_handle = find_dissector_add_dependency("usbhid.boot_report.mouse.input", proto_bthid); dissector_add_string("bluetooth.uuid", "11", bthid_handle); dissector_add_string("bluetooth.uuid", "1124", bthid_handle); diff --git a/epan/dissectors/packet-btle.c b/epan/dissectors/packet-btle.c index 9a405ec7ee..90ae6a1a91 100644 --- a/epan/dissectors/packet-btle.c +++ b/epan/dissectors/packet-btle.c @@ -1397,9 +1397,9 @@ proto_register_btle(void) void proto_reg_handoff_btle(void) { - btcommon_ad_handle = find_dissector("btcommon.eir_ad.ad"); - btcommon_le_channel_map_handle = find_dissector("btcommon.le_channel_map"); - btl2cap_handle = find_dissector("btl2cap"); + btcommon_ad_handle = find_dissector_add_dependency("btcommon.eir_ad.ad", proto_btle); + btcommon_le_channel_map_handle = find_dissector_add_dependency("btcommon.le_channel_map", proto_btle); + btl2cap_handle = find_dissector_add_dependency("btl2cap", proto_btle); proto_btle_rf = proto_get_id_by_filter_name("btle_rf"); diff --git a/epan/dissectors/packet-btle_rf.c b/epan/dissectors/packet-btle_rf.c index b7c2d45a82..9c50906f1d 100644 --- a/epan/dissectors/packet-btle_rf.c +++ b/epan/dissectors/packet-btle_rf.c @@ -375,7 +375,7 @@ void proto_reg_handoff_btle_rf(void) { dissector_add_uint("bluetooth.encap", WTAP_ENCAP_BLUETOOTH_LE_LL_WITH_PHDR, btle_rf_handle); - btle_handle = find_dissector("btle"); + btle_handle = find_dissector_add_dependency("btle", proto_btle_rf); } /* diff --git a/epan/dissectors/packet-btrfcomm.c b/epan/dissectors/packet-btrfcomm.c index 6bab3c8b13..84fe745b7d 100644 --- a/epan/dissectors/packet-btrfcomm.c +++ b/epan/dissectors/packet-btrfcomm.c @@ -1259,7 +1259,7 @@ proto_reg_handoff_btdun(void) dissector_add_for_decode_as("btrfcomm.dlci", btdun_handle); - ppp_handle = find_dissector("ppp_raw_hdlc"); + ppp_handle = find_dissector_add_dependency("ppp_raw_hdlc", proto_btdun); } /* Bluetooth Serial Port profile (SPP) dissection */ diff --git a/epan/dissectors/packet-btsap.c b/epan/dissectors/packet-btsap.c index bce4178f22..493fd9971c 100644 --- a/epan/dissectors/packet-btsap.c +++ b/epan/dissectors/packet-btsap.c @@ -729,9 +729,9 @@ proto_register_btsap(void) void proto_reg_handoff_btsap(void) { - gsm_sim_cmd_handle = find_dissector("gsm_sim.command"); - gsm_sim_resp_handle = find_dissector("gsm_sim.response"); - iso7816_atr_handle = find_dissector("iso7816.atr"); + gsm_sim_cmd_handle = find_dissector_add_dependency("gsm_sim.command", proto_btsap); + gsm_sim_resp_handle = find_dissector_add_dependency("gsm_sim.response", proto_btsap); + iso7816_atr_handle = find_dissector_add_dependency("iso7816.atr", proto_btsap); dissector_add_string("bluetooth.uuid", "112d", btsap_handle); diff --git a/epan/dissectors/packet-bzr.c b/epan/dissectors/packet-bzr.c index 99d0d4208f..6f8a5111f5 100644 --- a/epan/dissectors/packet-bzr.c +++ b/epan/dissectors/packet-bzr.c @@ -321,7 +321,7 @@ proto_reg_handoff_bzr(void) { dissector_handle_t bzr_handle; - bencode_handle = find_dissector("bencode"); + bencode_handle = find_dissector_add_dependency("bencode", proto_bzr); bzr_handle = find_dissector("bzr"); dissector_add_uint("tcp.port", TCP_PORT_BZR, bzr_handle); diff --git a/epan/dissectors/packet-c15ch.c b/epan/dissectors/packet-c15ch.c index 90e5461dc4..d185cb71d4 100644 --- a/epan/dissectors/packet-c15ch.c +++ b/epan/dissectors/packet-c15ch.c @@ -12281,9 +12281,9 @@ void proto_reg_handoff_c15ch(void) dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SIP_REFER, c15ch_third_level_handle); /* find external dissectors */ - general_isup_handle = find_dissector("isup"); - general_sccp_handle = find_dissector("sccp"); - general_q931_handle = find_dissector("q931"); + general_isup_handle = find_dissector_add_dependency("isup", proto_c15ch); + general_sccp_handle = find_dissector_add_dependency("sccp", proto_c15ch); + general_q931_handle = find_dissector_add_dependency("q931", proto_c15ch); } diff --git a/epan/dissectors/packet-capwap.c b/epan/dissectors/packet-capwap.c index a7923c323e..916d785d3a 100644 --- a/epan/dissectors/packet-capwap.c +++ b/epan/dissectors/packet-capwap.c @@ -5799,10 +5799,11 @@ proto_reg_handoff_capwap(void) if (!inited) { capwap_control_handle = create_dissector_handle(dissect_capwap_control, proto_capwap_control); capwap_data_handle = create_dissector_handle(dissect_capwap_data, proto_capwap_data); - dtls_handle = find_dissector("dtls"); - ieee8023_handle = find_dissector("eth_withoutfcs"); - ieee80211_handle = find_dissector("wlan_withoutfcs"); - ieee80211_bsfc_handle = find_dissector("wlan_bsfc"); + dtls_handle = find_dissector_add_dependency("dtls", proto_capwap_control); + find_dissector_add_dependency("dtls", proto_capwap_data); + ieee8023_handle = find_dissector_add_dependency("eth_withoutfcs", proto_capwap_data); + ieee80211_handle = find_dissector_add_dependency("wlan_withoutfcs", proto_capwap_data); + ieee80211_bsfc_handle = find_dissector_add_dependency("wlan_bsfc", proto_capwap_data); data_handle = find_dissector("data"); inited = TRUE; diff --git a/epan/dissectors/packet-cip.c b/epan/dissectors/packet-cip.c index bbb07fbe25..5244be1bd6 100644 --- a/epan/dissectors/packet-cip.c +++ b/epan/dissectors/packet-cip.c @@ -8043,7 +8043,7 @@ proto_reg_handoff_cip(void) /* Create and register dissector handle for Modbus Object */ cip_class_mb_handle = create_dissector_handle( dissect_cip_class_mb, proto_cip_class_mb ); dissector_add_uint( "cip.class.iface", CI_CLS_MB, cip_class_mb_handle ); - modbus_handle = find_dissector("modbus"); + modbus_handle = find_dissector_add_dependency("modbus", proto_cip_class_mb); /* Create and register dissector handle for Connection Configuration Object */ cip_class_cco_handle = create_dissector_handle( dissect_cip_class_cco, proto_cip_class_cco ); diff --git a/epan/dissectors/packet-cisco-erspan.c b/epan/dissectors/packet-cisco-erspan.c index 8aa874e47d..b925ee4f9b 100644 --- a/epan/dissectors/packet-cisco-erspan.c +++ b/epan/dissectors/packet-cisco-erspan.c @@ -331,7 +331,7 @@ proto_reg_handoff_erspan(void) { dissector_handle_t erspan_handle; - ethnofcs_handle = find_dissector("eth_withoutfcs"); + ethnofcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_erspan); erspan_handle = create_dissector_handle(dissect_erspan, proto_erspan); dissector_add_uint("gre.proto", GRE_ERSPAN_88BE, erspan_handle); diff --git a/epan/dissectors/packet-cisco-fp-mim.c b/epan/dissectors/packet-cisco-fp-mim.c index 3fcd9cbded..79f5c2a12e 100644 --- a/epan/dissectors/packet-cisco-fp-mim.c +++ b/epan/dissectors/packet-cisco-fp-mim.c @@ -413,7 +413,7 @@ proto_reg_handoff_fabricpath(void) * by the Ethernet dissector. This needs more work, so we leave this * as calling the "eth" dissector as a reminder. */ - eth_maybefcs_dissector = find_dissector( "eth_maybefcs" ); + eth_maybefcs_dissector = find_dissector_add_dependency( "eth_maybefcs", proto_fp ); prefs_initialized = TRUE; } } diff --git a/epan/dissectors/packet-cisco-metadata.c b/epan/dissectors/packet-cisco-metadata.c index a034d952ac..861c6ae25b 100644 --- a/epan/dissectors/packet-cisco-metadata.c +++ b/epan/dissectors/packet-cisco-metadata.c @@ -141,7 +141,7 @@ proto_reg_handoff_cmd(void) { dissector_handle_t cmd_handle; - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_cmd); cmd_handle = create_dissector_handle(dissect_cmd, proto_cmd); dissector_add_uint("ethertype", ETHERTYPE_CMD, cmd_handle); diff --git a/epan/dissectors/packet-cisco-sm.c b/epan/dissectors/packet-cisco-sm.c index fdf7276a44..b0cf5a68d9 100644 --- a/epan/dissectors/packet-cisco-sm.c +++ b/epan/dissectors/packet-cisco-sm.c @@ -605,9 +605,9 @@ proto_register_sm(void) void proto_reg_handoff_sm(void) { - sdp_handle = find_dissector("sdp"); - mtp3_handle = find_dissector("mtp3"); - q931_handle = find_dissector("q931"); + sdp_handle = find_dissector_add_dependency("sdp", proto_sm); + mtp3_handle = find_dissector_add_dependency("mtp3", proto_sm); + q931_handle = find_dissector_add_dependency("q931", proto_sm); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-cisco-wids.c b/epan/dissectors/packet-cisco-wids.c index 90505c383f..462ccbaa6b 100644 --- a/epan/dissectors/packet-cisco-wids.c +++ b/epan/dissectors/packet-cisco-wids.c @@ -199,7 +199,7 @@ proto_reg_handoff_cwids(void) if (!initialized) { cwids_handle = create_dissector_handle(dissect_cwids, proto_cwids); dissector_add_for_decode_as("udp.port", cwids_handle); - ieee80211_radio_handle = find_dissector("wlan_radio"); + ieee80211_radio_handle = find_dissector_add_dependency("wlan_radio", proto_cwids); initialized = TRUE; } else { if (saved_udp_port != 0) { diff --git a/epan/dissectors/packet-clip.c b/epan/dissectors/packet-clip.c index 50b0d53777..ba7af0e4b9 100644 --- a/epan/dissectors/packet-clip.c +++ b/epan/dissectors/packet-clip.c @@ -113,7 +113,7 @@ proto_reg_handoff_clip(void) /* * Get a handle for the IP dissector. */ - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_clip); clip_handle = create_dissector_handle(dissect_clip, proto_clip); /* XXX - no protocol, can't be disabled */ diff --git a/epan/dissectors/packet-clnp.c b/epan/dissectors/packet-clnp.c index c5d39ac5c7..c090de07d3 100644 --- a/epan/dissectors/packet-clnp.c +++ b/epan/dissectors/packet-clnp.c @@ -765,9 +765,9 @@ proto_register_clnp(void) void proto_reg_handoff_clnp(void) { - ositp_handle = find_dissector("ositp"); - ositp_inactive_handle = find_dissector("ositp_inactive"); - idrp_handle = find_dissector("idrp"); + ositp_handle = find_dissector_add_dependency("ositp", proto_clnp); + ositp_inactive_handle = find_dissector_add_dependency("ositp_inactive", proto_clnp); + idrp_handle = find_dissector_add_dependency("idrp", proto_clnp); data_handle = find_dissector("data"); dissector_add_uint("osinl.incl", NLPID_ISO8473_CLNP, clnp_handle); diff --git a/epan/dissectors/packet-corosync-totemnet.c b/epan/dissectors/packet-corosync-totemnet.c index 68fcdd5aff..4431aa655b 100644 --- a/epan/dissectors/packet-corosync-totemnet.c +++ b/epan/dissectors/packet-corosync-totemnet.c @@ -484,7 +484,7 @@ proto_reg_handoff_corosync_totemnet(void) { corosync_totemnet_handle = create_dissector_handle(dissect_corosynec_totemnet, proto_corosync_totemnet); - corosync_totemsrp_handle = find_dissector("corosync_totemsrp"); + corosync_totemsrp_handle = find_dissector_add_dependency("corosync_totemsrp", proto_corosync_totemnet); initialized = TRUE; } diff --git a/epan/dissectors/packet-cosine.c b/epan/dissectors/packet-cosine.c index 9359cc56a1..13da1374de 100644 --- a/epan/dissectors/packet-cosine.c +++ b/epan/dissectors/packet-cosine.c @@ -180,11 +180,11 @@ proto_reg_handoff_cosine(void) /* * Get handles for dissectors. */ - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); - ppp_hdlc_handle = find_dissector("ppp_hdlc"); - llc_handle = find_dissector("llc"); - chdlc_handle = find_dissector("chdlc"); - fr_handle = find_dissector("fr"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_cosine); + ppp_hdlc_handle = find_dissector_add_dependency("ppp_hdlc", proto_cosine); + llc_handle = find_dissector_add_dependency("llc", proto_cosine); + chdlc_handle = find_dissector_add_dependency("chdlc", proto_cosine); + fr_handle = find_dissector_add_dependency("fr", proto_cosine); data_handle = find_dissector("data"); cosine_handle = create_dissector_handle(dissect_cosine, proto_cosine); diff --git a/epan/dissectors/packet-couchbase.c b/epan/dissectors/packet-couchbase.c index b0135381a6..b3a300d36a 100644 --- a/epan/dissectors/packet-couchbase.c +++ b/epan/dissectors/packet-couchbase.c @@ -1855,7 +1855,7 @@ proto_reg_handoff_couchbase(void) tcp_port_range = range_copy(couchbase_tcp_port_range); dissector_add_uint_range("tcp.port", tcp_port_range, couchbase_tcp_handle); - json_handle = find_dissector("json"); + json_handle = find_dissector_add_dependency("json", proto_couchbase); } /* diff --git a/epan/dissectors/packet-cpfi.c b/epan/dissectors/packet-cpfi.c index 4fa98a11ca..68665772c0 100644 --- a/epan/dissectors/packet-cpfi.c +++ b/epan/dissectors/packet-cpfi.c @@ -535,7 +535,7 @@ proto_reg_handoff_cpfi(void) if ( !cpfi_init_complete ) { - fc_handle = find_dissector("fc"); + fc_handle = find_dissector_add_dependency("fc", proto_cpfi); cpfi_handle = create_dissector_handle(dissect_cpfi, proto_cpfi); cpfi_init_complete = TRUE; } diff --git a/epan/dissectors/packet-daap.c b/epan/dissectors/packet-daap.c index e617feb14c..cd670faae9 100644 --- a/epan/dissectors/packet-daap.c +++ b/epan/dissectors/packet-daap.c @@ -778,7 +778,7 @@ proto_reg_handoff_daap(void) http_port_add(TCP_PORT_DAAP); dissector_add_string("media_type", "application/x-dmap-tagged", daap_handle); - png_handle = find_dissector("png"); + png_handle = find_dissector_add_dependency("png", proto_daap); } /* diff --git a/epan/dissectors/packet-diameter.c b/epan/dissectors/packet-diameter.c index fbc15e1bce..632e1e6eee 100644 --- a/epan/dissectors/packet-diameter.c +++ b/epan/dissectors/packet-diameter.c @@ -2371,7 +2371,7 @@ proto_reg_handoff_diameter(void) proto_diameter); diameter_udp_handle = create_dissector_handle(dissect_diameter, proto_diameter); data_handle = find_dissector("data"); - eap_handle = find_dissector("eap"); + eap_handle = find_dissector_add_dependency("eap", proto_diameter); dissector_add_uint("sctp.ppi", DIAMETER_PROTOCOL_ID, diameter_sctp_handle); diff --git a/epan/dissectors/packet-diameter_3gpp.c b/epan/dissectors/packet-diameter_3gpp.c index 6d79f3c0a7..ab01818b43 100644 --- a/epan/dissectors/packet-diameter_3gpp.c +++ b/epan/dissectors/packet-diameter_3gpp.c @@ -1583,7 +1583,7 @@ proto_reg_handoff_diameter_3gpp(void) /* AVP Code: 3514 TMGI-Deallocation-Result */ dissector_add_uint("diameter.3gpp", 3514, create_dissector_handle(dissect_diameter_3gpp_tmgi_deallocation_result, proto_diameter_3gpp)); - xml_handle = find_dissector("xml"); + xml_handle = find_dissector_add_dependency("xml", proto_diameter_3gpp); } void diff --git a/epan/dissectors/packet-dis.c b/epan/dissectors/packet-dis.c index f682fb64ed..9c002741d3 100644 --- a/epan/dissectors/packet-dis.c +++ b/epan/dissectors/packet-dis.c @@ -3942,6 +3942,7 @@ static gint ett_iff_parameter_4 = -1; static gint ett_iff_parameter_5 = -1; static gint ett_iff_parameter_6 = -1; +static dissector_handle_t link16_handle; typedef int DIS_Parser_func(tvbuff_t *, packet_info *, proto_tree *, int); @@ -4403,7 +4404,7 @@ static gint parse_Link16_Message_Data(proto_tree *tree, tvbuff_t *tvb, gint offs newtvb = tvb_new_child_real_data(tvb, word, 10, 10); tvb_set_free_cb(newtvb, g_free); add_new_data_source(pinfo, newtvb, "Link 16 Word"); - call_dissector_with_data(find_dissector("link16"), newtvb, pinfo, tree, &state); + call_dissector_with_data(link16_handle, newtvb, pinfo, tree, &state); } break; } @@ -9576,6 +9577,7 @@ void proto_reg_handoff_dis(void) if (!dis_prefs_initialized) { dis_dissector_handle = create_dissector_handle(dissect_dis, proto_dis); + link16_handle = find_dissector_add_dependency("link16", proto_dis); dis_prefs_initialized = TRUE; } else diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c index 67ab22605b..47268e9e5e 100644 --- a/epan/dissectors/packet-dns.c +++ b/epan/dissectors/packet-dns.c @@ -4106,8 +4106,8 @@ proto_reg_handoff_dns(void) dissector_add_uint("sctp.ppi", DNS_PAYLOAD_PROTOCOL_ID, dns_handle); #endif stats_tree_register("dns", "dns", "DNS", 0, dns_stats_tree_packet, dns_stats_tree_init, NULL); - gssapi_handle = find_dissector("gssapi"); - ntlmssp_handle = find_dissector("ntlmssp"); + gssapi_handle = find_dissector_add_dependency("gssapi", proto_dns); + ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_dns); ssl_dissector_add(TCP_PORT_DNS_TLS, dns_handle); dtls_dissector_add(UDP_PORT_DNS_DTLS, dns_handle); Initialized = TRUE; diff --git a/epan/dissectors/packet-dpnss-link.c b/epan/dissectors/packet-dpnss-link.c index 0f00ef0c4b..3d811bedc5 100644 --- a/epan/dissectors/packet-dpnss-link.c +++ b/epan/dissectors/packet-dpnss-link.c @@ -221,7 +221,7 @@ proto_reg_handoff_dpnss_link(void) dpnss_link_handle = find_dissector("dpnss_link"); dissector_add_uint("wtap_encap", WTAP_ENCAP_DPNSS, dpnss_link_handle); - dpnss_handle = find_dissector("dpnss"); + dpnss_handle = find_dissector_add_dependency("dpnss", proto_dpnss_link); } /* diff --git a/epan/dissectors/packet-dsi.c b/epan/dissectors/packet-dsi.c index 21051dbb19..b358a30018 100644 --- a/epan/dissectors/packet-dsi.c +++ b/epan/dissectors/packet-dsi.c @@ -483,8 +483,8 @@ proto_reg_handoff_dsi(void) dissector_add_uint("tcp.port", TCP_PORT_DSI, dsi_handle); data_handle = find_dissector("data"); - afp_handle = find_dissector("afp"); - afp_server_status_handle = find_dissector("afp_server_status"); + afp_handle = find_dissector_add_dependency("afp", proto_dsi); + afp_server_status_handle = find_dissector_add_dependency("afp_server_status", proto_dsi); } /* diff --git a/epan/dissectors/packet-dua.c b/epan/dissectors/packet-dua.c index 89e954bdc1..8232a3c069 100644 --- a/epan/dissectors/packet-dua.c +++ b/epan/dissectors/packet-dua.c @@ -914,7 +914,7 @@ proto_reg_handoff_dua(void) dua_handle = find_dissector("dua"); data_handle = find_dissector("data"); - dpnss_handle = find_dissector("dpnss"); + dpnss_handle = find_dissector_add_dependency("dpnss", proto_dua); dissector_add_uint("sctp.ppi", DUA_PAYLOAD_PROTOCOL_ID, dua_handle); } diff --git a/epan/dissectors/packet-dvb-data-mpe.c b/epan/dissectors/packet-dvb-data-mpe.c index f8f445c85b..5b875f6d13 100644 --- a/epan/dissectors/packet-dvb-data-mpe.c +++ b/epan/dissectors/packet-dvb-data-mpe.c @@ -204,8 +204,8 @@ proto_reg_handoff_dvb_data_mpe(void) dvb_data_mpe_handle = create_dissector_handle(dissect_dvb_data_mpe, proto_dvb_data_mpe); dissector_add_uint("mpeg_sect.tid", DVB_DATA_MPE_TID, dvb_data_mpe_handle); - ip_handle = find_dissector("ip"); - llc_handle = find_dissector("llc"); + ip_handle = find_dissector_add_dependency("ip", proto_dvb_data_mpe); + llc_handle = find_dissector_add_dependency("llc", proto_dvb_data_mpe); } diff --git a/epan/dissectors/packet-dvb-ipdc.c b/epan/dissectors/packet-dvb-ipdc.c index 100ad16b1b..d2167e46e9 100644 --- a/epan/dissectors/packet-dvb-ipdc.c +++ b/epan/dissectors/packet-dvb-ipdc.c @@ -101,7 +101,7 @@ proto_reg_handoff_dvb_ipdc(void) { dissector_handle_t ipdc_handle; - sub_handles[DVB_IPDC_SUB_FLUTE] = find_dissector("alc"); + sub_handles[DVB_IPDC_SUB_FLUTE] = find_dissector_add_dependency("alc", proto_ipdc); ipdc_handle = create_dissector_handle(dissect_ipdc, proto_ipdc); dissector_add_uint("udp.port", UDP_PORT_IPDC_ESG_BOOTSTRAP, ipdc_handle); diff --git a/epan/dissectors/packet-dvb-s2-bb.c b/epan/dissectors/packet-dvb-s2-bb.c index 7cf48af1d2..1dc0f2fb09 100644 --- a/epan/dissectors/packet-dvb-s2-bb.c +++ b/epan/dissectors/packet-dvb-s2-bb.c @@ -1103,8 +1103,8 @@ void proto_reg_handoff_dvb_s2_modeadapt(void) if (!prefs_initialized) { heur_dissector_add("udp", dissect_dvb_s2_modeadapt, "DVB-S2 over UDP", "dvb_s2_udp", proto_dvb_s2_modeadapt, HEURISTIC_DISABLE); - ip_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); + ip_handle = find_dissector_add_dependency("ip", proto_dvb_s2_bb); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_dvb_s2_bb); prefs_initialized = TRUE; } } diff --git a/epan/dissectors/packet-dvbci.c b/epan/dissectors/packet-dvbci.c index 07f6603d2a..f63186a4cc 100644 --- a/epan/dissectors/packet-dvbci.c +++ b/epan/dissectors/packet-dvbci.c @@ -6359,9 +6359,9 @@ proto_reg_handoff_dvbci(void) dissector_add_uint("wtap_encap", WTAP_ENCAP_DVBCI, dvbci_handle); data_handle = find_dissector("data"); - mpeg_pmt_handle = find_dissector("mpeg_pmt"); - dvb_nit_handle = find_dissector("dvb_nit"); - png_handle = find_dissector("png"); + mpeg_pmt_handle = find_dissector_add_dependency("mpeg_pmt", proto_dvbci); + dvb_nit_handle = find_dissector_add_dependency("dvb_nit", proto_dvbci); + png_handle = find_dissector_add_dependency("png", proto_dvbci); tcp_dissector_table = find_dissector_table("tcp.port"); udp_dissector_table = find_dissector_table("udp.port"); diff --git a/epan/dissectors/packet-e100.c b/epan/dissectors/packet-e100.c index 7c7d5d5c75..bf2d042cee 100644 --- a/epan/dissectors/packet-e100.c +++ b/epan/dissectors/packet-e100.c @@ -217,7 +217,7 @@ proto_reg_handoff_e100(void) /* Check all UDP traffic, as the specific UDP port is configurable */ heur_dissector_add("udp", dissect_e100, "E100 over UDP", "e100_udp", proto_e100, HEURISTIC_ENABLE); /* e100 traffic encapsulates traffic from the ethernet frame on */ - eth_handle = find_dissector("eth_withoutfcs"); + eth_handle = find_dissector_add_dependency("eth_withoutfcs", proto_e100); } /* diff --git a/epan/dissectors/packet-eap.c b/epan/dissectors/packet-eap.c index 277e8ba741..666cb76c50 100644 --- a/epan/dissectors/packet-eap.c +++ b/epan/dissectors/packet-eap.c @@ -1557,7 +1557,7 @@ proto_reg_handoff_eap(void) /* * Get a handle for the SSL/TLS dissector. */ - ssl_handle = find_dissector("ssl"); + ssl_handle = find_dissector_add_dependency("ssl", proto_eap); dissector_add_uint("ppp.protocol", PPP_EAP, eap_handle); } diff --git a/epan/dissectors/packet-eapol.c b/epan/dissectors/packet-eapol.c index 8846ef7d2d..0cab0ea846 100644 --- a/epan/dissectors/packet-eapol.c +++ b/epan/dissectors/packet-eapol.c @@ -320,8 +320,8 @@ proto_reg_handoff_eapol(void) /* * Get handles for the EAP and raw data dissectors. */ - eap_handle = find_dissector("eap"); - mka_handle = find_dissector("mka"); + eap_handle = find_dissector_add_dependency("eap", proto_eapol); + mka_handle = find_dissector_add_dependency("mka", proto_eapol); data_handle = find_dissector("data"); dissector_add_uint("ethertype", ETHERTYPE_EAPOL, eapol_handle); diff --git a/epan/dissectors/packet-ecmp.c b/epan/dissectors/packet-ecmp.c index ce62167c45..8c3667fcca 100644 --- a/epan/dissectors/packet-ecmp.c +++ b/epan/dissectors/packet-ecmp.c @@ -3577,7 +3577,7 @@ void proto_reg_handoff_ecmp(void) } /* Modbus dissector hooks */ - modbus_handle = find_dissector("modbus"); + modbus_handle = find_dissector_add_dependency("modbus", proto_ecmp); proto_modbus = proto_get_id_by_filter_name( "modbus" ); } diff --git a/epan/dissectors/packet-ehdlc.c b/epan/dissectors/packet-ehdlc.c index 7ecd30ff16..c51feea282 100644 --- a/epan/dissectors/packet-ehdlc.c +++ b/epan/dissectors/packet-ehdlc.c @@ -321,8 +321,8 @@ proto_register_ehdlc(void) void proto_reg_handoff_ehdlc(void) { - sub_handles[SUB_RSL] = find_dissector("gsm_abis_rsl"); - sub_handles[SUB_OML] = find_dissector("gsm_abis_oml"); + sub_handles[SUB_RSL] = find_dissector_add_dependency("gsm_abis_rsl", proto_ehdlc); + sub_handles[SUB_OML] = find_dissector_add_dependency("gsm_abis_oml", proto_ehdlc); sub_handles[SUB_DATA] = find_dissector("data"); dissector_add_uint("l2tp.pw_type", L2TPv3_PROTOCOL_ERICSSON, ehdlc_handle); diff --git a/epan/dissectors/packet-ehs.c b/epan/dissectors/packet-ehs.c index dee39b0ea8..0f168807a3 100644 --- a/epan/dissectors/packet-ehs.c +++ b/epan/dissectors/packet-ehs.c @@ -1960,7 +1960,7 @@ void proto_reg_handoff_ehs(void) { dissector_add_for_decode_as ( "udp.port", find_dissector("ehs") ); - ccsds_handle = find_dissector ( "ccsds" ); + ccsds_handle = find_dissector_add_dependency ( "ccsds", proto_ehs ); } /* diff --git a/epan/dissectors/packet-eigrp.c b/epan/dissectors/packet-eigrp.c index 0cd4af449f..b42d23d1e3 100644 --- a/epan/dissectors/packet-eigrp.c +++ b/epan/dissectors/packet-eigrp.c @@ -3407,7 +3407,7 @@ proto_reg_handoff_eigrp(void) { dissector_handle_t eigrp_handle; - ipxsap_handle = find_dissector("ipxsap"); + ipxsap_handle = find_dissector_add_dependency("ipxsap", proto_eigrp); media_type_table = find_dissector_table("media_type"); eigrp_handle = create_dissector_handle(dissect_eigrp, proto_eigrp); diff --git a/epan/dissectors/packet-elasticsearch.c b/epan/dissectors/packet-elasticsearch.c index 0f96a769b1..81b933e742 100644 --- a/epan/dissectors/packet-elasticsearch.c +++ b/epan/dissectors/packet-elasticsearch.c @@ -746,7 +746,7 @@ void proto_reg_handoff_elasticsearch(void) { dissector_handle_t elasticsearch_handle; dissector_handle_t elasticsearch_zen_handle; - elasticsearch_http_handle = find_dissector("http"); + elasticsearch_http_handle = find_dissector_add_dependency("http", proto_elasticsearch); elasticsearch_handle = create_dissector_handle(dissect_elasticsearch, proto_elasticsearch); elasticsearch_zen_handle = create_dissector_handle(dissect_elasticsearch_zen_ping, proto_elasticsearch); diff --git a/epan/dissectors/packet-enip.c b/epan/dissectors/packet-enip.c index c76e311e4a..1b394c421c 100644 --- a/epan/dissectors/packet-enip.c +++ b/epan/dissectors/packet-enip.c @@ -4427,14 +4427,14 @@ proto_reg_handoff_enip(void) data_handle = find_dissector("data"); /* Find ARP dissector for TCP/IP object */ - arp_handle = find_dissector("arp"); + arp_handle = find_dissector_add_dependency("arp", proto_enip); /* I/O data dissectors */ cipsafety_handle = find_dissector("cipsafety"); cipmotion_handle = find_dissector("cipmotion"); /* Implicit data dissector */ - cip_implicit_handle = find_dissector("cip_implicit"); + cip_implicit_handle = find_dissector_add_dependency("cip_implicit", proto_enipio); /* Register for EtherNet/IP Device Level Ring protocol */ dlr_handle = create_dissector_handle(dissect_dlr, proto_dlr); diff --git a/epan/dissectors/packet-epon.c b/epan/dissectors/packet-epon.c index 7a2d04cb38..5bc4046dca 100644 --- a/epan/dissectors/packet-epon.c +++ b/epan/dissectors/packet-epon.c @@ -295,7 +295,7 @@ proto_reg_handoff_epon(void) epon_handle = create_dissector_handle(dissect_epon, proto_epon); dissector_add_uint("wtap_encap", WTAP_ENCAP_EPON, epon_handle); - eth_maybefcs_handle = find_dissector("eth_maybefcs"); + eth_maybefcs_handle = find_dissector_add_dependency("eth_maybefcs", proto_epon); } /* diff --git a/epan/dissectors/packet-erf.c b/epan/dissectors/packet-erf.c index 79a6308f8d..1379cd0881 100644 --- a/epan/dissectors/packet-erf.c +++ b/epan/dissectors/packet-erf.c @@ -1894,15 +1894,15 @@ proto_reg_handoff_erf(void) data_handle = find_dissector("data"); /* Get handles for serial line protocols */ - chdlc_handle = find_dissector("chdlc"); - ppp_handle = find_dissector("ppp_hdlc"); - frelay_handle = find_dissector("fr"); - mtp2_handle = find_dissector("mtp2_with_crc"); + chdlc_handle = find_dissector_add_dependency("chdlc", proto_erf); + ppp_handle = find_dissector_add_dependency("ppp_hdlc", proto_erf); + frelay_handle = find_dissector_add_dependency("fr", proto_erf); + mtp2_handle = find_dissector_add_dependency("mtp2_with_crc", proto_erf); /* Get handle for ATM dissector */ - atm_untruncated_handle = find_dissector("atm_untruncated"); + atm_untruncated_handle = find_dissector_add_dependency("atm_untruncated", proto_erf); - sdh_handle = find_dissector("sdh"); + sdh_handle = find_dissector_add_dependency("sdh", proto_erf); } /* diff --git a/epan/dissectors/packet-eth.c b/epan/dissectors/packet-eth.c index 90ad6f09a6..2475107a64 100644 --- a/epan/dissectors/packet-eth.c +++ b/epan/dissectors/packet-eth.c @@ -1041,10 +1041,10 @@ proto_reg_handoff_eth(void) dissector_handle_t eth_handle, eth_withoutfcs_handle; /* Get a handle for the Firewall-1 dissector. */ - fw1_handle = find_dissector("fw1"); + fw1_handle = find_dissector_add_dependency("fw1", proto_eth); /* Get a handle for the ethertype dissector. */ - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_eth); /* Get a handle for the generic data dissector. */ data_handle = find_dissector("data"); diff --git a/epan/dissectors/packet-etherip.c b/epan/dissectors/packet-etherip.c index becb3a9892..bc8435c8f2 100644 --- a/epan/dissectors/packet-etherip.c +++ b/epan/dissectors/packet-etherip.c @@ -133,7 +133,7 @@ proto_reg_handoff_etherip(void) { dissector_handle_t etherip_handle; - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_etherip); etherip_handle = find_dissector("etherip"); dissector_add_uint("ip.proto", IP_PROTO_ETHERIP, etherip_handle); } diff --git a/epan/dissectors/packet-etsi_card_app_toolkit.c b/epan/dissectors/packet-etsi_card_app_toolkit.c index fce40bc9fa..f6b24b738a 100644 --- a/epan/dissectors/packet-etsi_card_app_toolkit.c +++ b/epan/dissectors/packet-etsi_card_app_toolkit.c @@ -1884,7 +1884,7 @@ proto_register_card_app_toolkit(void) void proto_reg_handoff_card_app_toolkit(void) { - gsm_sms_handle = find_dissector("gsm_sms"); + gsm_sms_handle = find_dissector_add_dependency("gsm_sms", proto_cat); } diff --git a/epan/dissectors/packet-etv.c b/epan/dissectors/packet-etv.c index d160bf8e11..a02be27c8c 100644 --- a/epan/dissectors/packet-etv.c +++ b/epan/dissectors/packet-etv.c @@ -236,7 +236,8 @@ proto_reg_handoff_etv(void) etv_ddb_handle = create_dissector_handle(dissect_etv_ddb, proto_etv_ddb); dissector_add_uint("mpeg_sect.tid", ETV_TID_DII_SECTION, etv_dii_handle); dissector_add_uint("mpeg_sect.tid", ETV_TID_DDB_SECTION, etv_ddb_handle); - dsmcc_handle = find_dissector("mp2t-dsmcc"); + dsmcc_handle = find_dissector_add_dependency("mp2t-dsmcc", proto_etv_dii); + find_dissector_add_dependency("mp2t-dsmcc", proto_etv_ddb); } /* diff --git a/epan/dissectors/packet-fcels.c b/epan/dissectors/packet-fcels.c index d6c883807b..acbde217f9 100644 --- a/epan/dissectors/packet-fcels.c +++ b/epan/dissectors/packet-fcels.c @@ -2628,7 +2628,7 @@ proto_reg_handoff_fcels (void) dissector_add_uint("fc.ftype", FC_FTYPE_ELS, els_handle); data_handle = find_dissector ("data"); - fcsp_handle = find_dissector ("fcsp"); + fcsp_handle = find_dissector_add_dependency ("fcsp", proto_fcels); } diff --git a/epan/dissectors/packet-fcip.c b/epan/dissectors/packet-fcip.c index 980356e992..6e230da629 100644 --- a/epan/dissectors/packet-fcip.c +++ b/epan/dissectors/packet-fcip.c @@ -655,7 +655,7 @@ proto_reg_handoff_fcip (void) dissector_add_for_decode_as("tcp.port", fcip_handle); data_handle = find_dissector("data"); - fc_handle = find_dissector("fc"); + fc_handle = find_dissector_add_dependency("fc", proto_fcip); } /* diff --git a/epan/dissectors/packet-fcoe.c b/epan/dissectors/packet-fcoe.c index 8aa1ebf4c3..864d017d6f 100644 --- a/epan/dissectors/packet-fcoe.c +++ b/epan/dissectors/packet-fcoe.c @@ -337,7 +337,7 @@ proto_reg_handoff_fcoe(void) fcoe_handle = create_dissector_handle(dissect_fcoe, proto_fcoe); dissector_add_uint("ethertype", ETHERTYPE_FCOE, fcoe_handle); data_handle = find_dissector("data"); - fc_handle = find_dissector("fc"); + fc_handle = find_dissector_add_dependency("fc", proto_fcoe); } /* diff --git a/epan/dissectors/packet-fcoib.c b/epan/dissectors/packet-fcoib.c index c71e2f8105..b48d6f5164 100644 --- a/epan/dissectors/packet-fcoib.c +++ b/epan/dissectors/packet-fcoib.c @@ -418,7 +418,7 @@ proto_reg_handoff_fcoib(void) heur_dissector_add("infiniband.payload", dissect_fcoib, "Fibre Channel over Infiniband", "fc_infiniband", proto_fcoib, HEURISTIC_ENABLE); data_handle = find_dissector("data"); - fc_handle = find_dissector("fc"); + fc_handle = find_dissector_add_dependency("fc", proto_fcoib); initialized = TRUE; } diff --git a/epan/dissectors/packet-fcswils.c b/epan/dissectors/packet-fcswils.c index 6c7d4a3b46..9f15317153 100644 --- a/epan/dissectors/packet-fcswils.c +++ b/epan/dissectors/packet-fcswils.c @@ -2545,7 +2545,7 @@ proto_reg_handoff_fcswils(void) dissector_add_uint("fc.ftype", FC_FTYPE_SWILS, swils_handle); data_handle = find_dissector("data"); - fcsp_handle = find_dissector("fcsp"); + fcsp_handle = find_dissector_add_dependency("fcsp", proto_fcswils); } /* diff --git a/epan/dissectors/packet-fddi.c b/epan/dissectors/packet-fddi.c index c390c0e947..6230e8f8ae 100644 --- a/epan/dissectors/packet-fddi.c +++ b/epan/dissectors/packet-fddi.c @@ -538,7 +538,7 @@ proto_reg_handoff_fddi(void) /* * Get a handle for the LLC dissector. */ - llc_handle = find_dissector("llc"); + llc_handle = find_dissector_add_dependency("llc", proto_fddi); data_handle = find_dissector("data"); dissector_add_uint("wtap_encap", WTAP_ENCAP_FDDI_BITSWAPPED, diff --git a/epan/dissectors/packet-fip.c b/epan/dissectors/packet-fip.c index 194d13ba22..bfbaf867fc 100644 --- a/epan/dissectors/packet-fip.c +++ b/epan/dissectors/packet-fip.c @@ -827,7 +827,7 @@ proto_reg_handoff_fip(void) fip_handle = create_dissector_handle(dissect_fip, proto_fip); dissector_add_uint("ethertype", ETHERTYPE_FIP, fip_handle); - fc_handle = find_dissector("fc"); + fc_handle = find_dissector_add_dependency("fc", proto_fip); } /* diff --git a/epan/dissectors/packet-forces.c b/epan/dissectors/packet-forces.c index b1a56b630d..e9f129050a 100644 --- a/epan/dissectors/packet-forces.c +++ b/epan/dissectors/packet-forces.c @@ -875,7 +875,7 @@ proto_reg_handoff_forces(void) if (!inited) { forces_handle_tcp = create_dissector_handle(dissect_forces_tcp, proto_forces); forces_handle = create_dissector_handle(dissect_forces_not_tcp, proto_forces); - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_forces); inited = TRUE; } diff --git a/epan/dissectors/packet-fp_hint.c b/epan/dissectors/packet-fp_hint.c index 57340e77bb..550fdac426 100644 --- a/epan/dissectors/packet-fp_hint.c +++ b/epan/dissectors/packet-fp_hint.c @@ -602,9 +602,9 @@ proto_register_fp_hint(void) void proto_reg_handoff_fp_hint(void) { - atm_untrunc_handle = find_dissector("atm_untruncated"); + atm_untrunc_handle = find_dissector_add_dependency("atm_untruncated", proto_fp_hint); data_handle = find_dissector("data"); - ethwithfcs_handle = find_dissector("eth_withfcs"); + ethwithfcs_handle = find_dissector_add_dependency("eth_withfcs", proto_fp_hint); } diff --git a/epan/dissectors/packet-fr.c b/epan/dissectors/packet-fr.c index 7e1f976946..984c56b18a 100644 --- a/epan/dissectors/packet-fr.c +++ b/epan/dissectors/packet-fr.c @@ -1010,9 +1010,9 @@ proto_reg_handoff_fr(void) register_capture_dissector("wtap_encap", WTAP_ENCAP_FRELAY, capture_fr, proto_fr); register_capture_dissector("wtap_encap", WTAP_ENCAP_FRELAY_WITH_PHDR, capture_fr, proto_fr); - eth_withfcs_handle = find_dissector("eth_withfcs"); - gprs_ns_handle = find_dissector("gprs_ns"); - data_handle = find_dissector("data"); + eth_withfcs_handle = find_dissector_add_dependency("eth_withfcs", proto_fr); + gprs_ns_handle = find_dissector_add_dependency("gprs_ns", proto_fr); + data_handle = find_dissector_add_dependency("data", proto_fr); osinl_incl_subdissector_table = find_dissector_table("osinl.incl"); } diff --git a/epan/dissectors/packet-frame.c b/epan/dissectors/packet-frame.c index a3466505a4..24419c9c3e 100644 --- a/epan/dissectors/packet-frame.c +++ b/epan/dissectors/packet-frame.c @@ -932,7 +932,7 @@ void proto_reg_handoff_frame(void) { data_handle = find_dissector("data"); - docsis_handle = find_dissector("docsis"); + docsis_handle = find_dissector_add_dependency("docsis", proto_frame); } /* diff --git a/epan/dissectors/packet-fw1.c b/epan/dissectors/packet-fw1.c index 0d2e283975..208821a8cb 100644 --- a/epan/dissectors/packet-fw1.c +++ b/epan/dissectors/packet-fw1.c @@ -291,7 +291,7 @@ proto_register_fw1(void) void proto_reg_handoff_fw1(void) { - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_fw1); } /* diff --git a/epan/dissectors/packet-gadu-gadu.c b/epan/dissectors/packet-gadu-gadu.c index 8c63227f27..e2f594fde9 100644 --- a/epan/dissectors/packet-gadu-gadu.c +++ b/epan/dissectors/packet-gadu-gadu.c @@ -2114,7 +2114,7 @@ proto_reg_handoff_gadu_gadu(void) { dissector_add_uint("tcp.port", TCP_PORT_GADU_GADU, gadu_gadu_handle); - xml_handle = find_dissector("xml"); + xml_handle = find_dissector_add_dependency("xml", hfi_gadu_gadu->id); } /* diff --git a/epan/dissectors/packet-gmhdr.c b/epan/dissectors/packet-gmhdr.c index bde563c5d5..acc0f8b2a1 100644 --- a/epan/dissectors/packet-gmhdr.c +++ b/epan/dissectors/packet-gmhdr.c @@ -519,7 +519,7 @@ proto_reg_handoff_gmhdr(void) { dissector_handle_t gmhdr_handle; - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_gmhdr); gmhdr_handle = create_dissector_handle(dissect_gmhdr, proto_gmhdr); dissector_add_uint("ethertype", ETHERTYPE_GIGAMON, gmhdr_handle); diff --git a/epan/dissectors/packet-gmr1_dtap.c b/epan/dissectors/packet-gmr1_dtap.c index 709ebbdabd..59b7180a4d 100644 --- a/epan/dissectors/packet-gmr1_dtap.c +++ b/epan/dissectors/packet-gmr1_dtap.c @@ -185,7 +185,7 @@ proto_reg_handoff_gmr1_dtap(void) dissector_add_uint("lapsat.sapi", 0 , dtap_handle); /* LAPSat: CC/RR/MM */ dissector_add_uint("lapsat.sapi", 3 , dtap_handle); /* LAPSat: SMS/SS */ - gsm_dtap_handle = find_dissector("gsm_a_dtap"); + gsm_dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_gmr1_dtap); } /* diff --git a/epan/dissectors/packet-gprs-llc.c b/epan/dissectors/packet-gprs-llc.c index b424cfa123..1ed653ba90 100644 --- a/epan/dissectors/packet-gprs-llc.c +++ b/epan/dissectors/packet-gprs-llc.c @@ -1353,7 +1353,7 @@ proto_reg_handoff_llcgprs(void) dissector_add_uint("wtap_encap", WTAP_ENCAP_GPRS_LLC, gprs_llc_handle); data_handle = find_dissector("data"); - sndcp_xid_handle = find_dissector("sndcpxid"); + sndcp_xid_handle = find_dissector_add_dependency("sndcpxid", proto_llcgprs); } /* diff --git a/epan/dissectors/packet-gsm_a_bssmap.c b/epan/dissectors/packet-gsm_a_bssmap.c index 8517c315c9..deb8f27d1d 100644 --- a/epan/dissectors/packet-gsm_a_bssmap.c +++ b/epan/dissectors/packet-gsm_a_bssmap.c @@ -8006,10 +8006,10 @@ proto_reg_handoff_gsm_a_bssmap(void) bssmap_handle = find_dissector("gsm_a_bssmap"); dissector_add_uint("bssap.pdu_type", GSM_A_PDU_TYPE_BSSMAP, bssmap_handle); - dtap_handle = find_dissector("gsm_a_dtap"); - gsm_bsslap_handle = find_dissector("gsm_bsslap"); - bssgp_handle = find_dissector ("bssgp"); - rrc_handle = find_dissector ("rrc"); + dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_a_bssmap); + gsm_bsslap_handle = find_dissector_add_dependency("gsm_bsslap", proto_a_bssmap); + bssgp_handle = find_dissector_add_dependency("bssgp", proto_a_bssmap); + rrc_handle = find_dissector_add_dependency("rrc", proto_a_bssmap); } diff --git a/epan/dissectors/packet-gsm_a_dtap.c b/epan/dissectors/packet-gsm_a_dtap.c index 952b7e7087..f0d6cdc13d 100644 --- a/epan/dissectors/packet-gsm_a_dtap.c +++ b/epan/dissectors/packet-gsm_a_dtap.c @@ -8329,8 +8329,8 @@ proto_reg_handoff_gsm_a_dtap(void) dissector_add_uint("lapdm.sapi", 3 , dtap_handle); /* LAPDm: SMS/SS */ data_handle = find_dissector("data"); - gsm_map_handle = find_dissector("gsm_map"); - rp_handle = find_dissector("gsm_a_rp"); + gsm_map_handle = find_dissector_add_dependency("gsm_map", proto_a_dtap); + rp_handle = find_dissector_add_dependency("gsm_a_rp", proto_a_dtap); } diff --git a/epan/dissectors/packet-gsm_a_gm.c b/epan/dissectors/packet-gsm_a_gm.c index e9b2c0f753..f83a021b87 100644 --- a/epan/dissectors/packet-gsm_a_gm.c +++ b/epan/dissectors/packet-gsm_a_gm.c @@ -8693,8 +8693,8 @@ void proto_reg_handoff_gsm_a_gm(void) { data_handle = find_dissector("data"); - rrc_irat_ho_info_handle = find_dissector("rrc.irat.irat_ho_info"); - lte_rrc_ue_eutra_cap_handle = find_dissector("lte-rrc.ue_eutra_cap"); + rrc_irat_ho_info_handle = find_dissector_add_dependency("rrc.irat.irat_ho_info", proto_a_gm); + lte_rrc_ue_eutra_cap_handle = find_dissector_add_dependency("lte-rrc.ue_eutra_cap", proto_a_gm); } /* diff --git a/epan/dissectors/packet-gsm_a_rp.c b/epan/dissectors/packet-gsm_a_rp.c index 83d52158bd..dd9071be25 100644 --- a/epan/dissectors/packet-gsm_a_rp.c +++ b/epan/dissectors/packet-gsm_a_rp.c @@ -571,7 +571,7 @@ proto_reg_handoff_gsm_a_rp(void) gsm_a_rp_handle = create_dissector_handle(dissect_rp, proto_a_rp); /* Dissect messages embedded in SIP */ dissector_add_string("media_type","application/vnd.3gpp.sms", gsm_a_rp_handle); - gsm_sms_handle = find_dissector("gsm_sms"); + gsm_sms_handle = find_dissector_add_dependency("gsm_sms", proto_a_rp); } /* diff --git a/epan/dissectors/packet-gsm_a_rr.c b/epan/dissectors/packet-gsm_a_rr.c index fc32fce54e..cb08dd31cf 100644 --- a/epan/dissectors/packet-gsm_a_rr.c +++ b/epan/dissectors/packet-gsm_a_rr.c @@ -13367,8 +13367,8 @@ void proto_reg_handoff_gsm_a_rr(void) { data_handle = find_dissector("data"); - rrc_irat_ho_info_handle = find_dissector("rrc.irat.irat_ho_info"); - rrc_irat_ho_to_utran_cmd_handle = find_dissector("rrc.irat.ho_to_utran_cmd"); + rrc_irat_ho_info_handle = find_dissector_add_dependency("rrc.irat.irat_ho_info", proto_a_rr); + rrc_irat_ho_to_utran_cmd_handle = find_dissector_add_dependency("rrc.irat.ho_to_utran_cmd", proto_a_rr); rrlp_dissector = find_dissector("rrlp"); } diff --git a/epan/dissectors/packet-gsm_abis_oml.c b/epan/dissectors/packet-gsm_abis_oml.c index 543b0341eb..840d30de5f 100644 --- a/epan/dissectors/packet-gsm_abis_oml.c +++ b/epan/dissectors/packet-gsm_abis_oml.c @@ -2399,7 +2399,7 @@ proto_reg_handoff_abis_oml(void) dissector_add_uint("lapd.gsm.sapi", LAPD_GSM_SAPI_OM_PROC, abis_oml_handle); - sub_om2000 = find_dissector("gsm_abis_om2000"); + sub_om2000 = find_dissector_add_dependency("gsm_abis_om2000", proto_abis_oml); } /* diff --git a/epan/dissectors/packet-gsm_bsslap.c b/epan/dissectors/packet-gsm_bsslap.c index 317f948041..f9c894a86a 100644 --- a/epan/dissectors/packet-gsm_bsslap.c +++ b/epan/dissectors/packet-gsm_bsslap.c @@ -853,7 +853,7 @@ dissect_gsm_bsslap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* da void proto_reg_handoff_gsm_bsslap(void) { - bsslap_rrlp_handle = find_dissector("rrlp"); + bsslap_rrlp_handle = find_dissector_add_dependency("rrlp", proto_gsm_bsslap); } void diff --git a/epan/dissectors/packet-gsm_bssmap_le.c b/epan/dissectors/packet-gsm_bssmap_le.c index b49559ba2e..84e533ff6f 100644 --- a/epan/dissectors/packet-gsm_bssmap_le.c +++ b/epan/dissectors/packet-gsm_bssmap_le.c @@ -1224,7 +1224,7 @@ proto_reg_handoff_gsm_bssmap_le(void) dissector_add_uint("bssap.pdu_type", BSSAP_PDU_TYPE_BSSMAP, bssmap_le_handle); - gsm_bsslap_handle = find_dissector("gsm_bsslap"); + gsm_bsslap_handle = find_dissector_add_dependency("gsm_bsslap", proto_bssmap_le); } /* diff --git a/epan/dissectors/packet-gsm_cbch.c b/epan/dissectors/packet-gsm_cbch.c index 49258e6581..fd8bd05d63 100644 --- a/epan/dissectors/packet-gsm_cbch.c +++ b/epan/dissectors/packet-gsm_cbch.c @@ -657,7 +657,7 @@ void proto_reg_handoff_gsm_cbch(void) { data_handle = find_dissector("data"); - cbs_handle = find_dissector("gsm_cbs"); + cbs_handle = find_dissector_add_dependency("gsm_cbs", proto_cbch); } /* diff --git a/epan/dissectors/packet-gsm_ipa.c b/epan/dissectors/packet-gsm_ipa.c index 7385a9acfc..ce2d9d2a29 100644 --- a/epan/dissectors/packet-gsm_ipa.c +++ b/epan/dissectors/packet-gsm_ipa.c @@ -488,10 +488,10 @@ void proto_reg_handoff_gsm_ipa(void) static range_t *ipa_tcp_ports, *ipa_udp_ports; if (!ipa_initialized) { - sub_handles[SUB_RSL] = find_dissector("gsm_abis_rsl"); - sub_handles[SUB_OML] = find_dissector("gsm_abis_oml"); - sub_handles[SUB_SCCP] = find_dissector("sccp"); - sub_handles[SUB_MGCP] = find_dissector("mgcp"); + sub_handles[SUB_RSL] = find_dissector_add_dependency("gsm_abis_rsl", proto_ipa); + sub_handles[SUB_OML] = find_dissector_add_dependency("gsm_abis_oml", proto_ipa); + sub_handles[SUB_SCCP] = find_dissector_add_dependency("sccp", proto_ipa); + sub_handles[SUB_MGCP] = find_dissector_add_dependency("mgcp", proto_ipa); sub_handles[SUB_DATA] = find_dissector("data"); ipa_tcp_handle = create_dissector_handle(dissect_ipa_tcp, proto_ipa); diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c index 34256da4af..acb302b123 100644 --- a/epan/dissectors/packet-gsm_map.c +++ b/epan/dissectors/packet-gsm_map.c @@ -22952,10 +22952,10 @@ void proto_reg_handoff_gsm_map(void) { if (!map_prefs_initialized) { map_prefs_initialized = TRUE; data_handle = find_dissector("data"); - ranap_handle = find_dissector("ranap"); - dtap_handle = find_dissector("gsm_a_dtap"); - gsm_sms_handle = find_dissector("gsm_sms"); - bssap_handle = find_dissector("gsm_a_bssmap"); + ranap_handle = find_dissector_add_dependency("ranap", proto_gsm_map); + dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_gsm_map); + 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" ); diff --git a/epan/dissectors/packet-gsm_sim.c b/epan/dissectors/packet-gsm_sim.c index 85867cd354..4ac06b61e3 100644 --- a/epan/dissectors/packet-gsm_sim.c +++ b/epan/dissectors/packet-gsm_sim.c @@ -2937,7 +2937,7 @@ proto_reg_handoff_gsm_sim(void) sim_handle = find_dissector("gsm_sim"); dissector_add_uint("gsmtap.type", 4, sim_handle); - sub_handle_cap = find_dissector("etsi_cat"); + sub_handle_cap = find_dissector_add_dependency("etsi_cat", proto_gsm_sim); } /* diff --git a/epan/dissectors/packet-gsm_sms_ud.c b/epan/dissectors/packet-gsm_sms_ud.c index 915419ae39..6212c836c8 100644 --- a/epan/dissectors/packet-gsm_sms_ud.c +++ b/epan/dissectors/packet-gsm_sms_ud.c @@ -663,7 +663,7 @@ proto_register_gsm_sms_ud(void) void proto_reg_handoff_gsm_sms_ud(void) { - wsp_handle = find_dissector("wsp-cl"); + wsp_handle = find_dissector_add_dependency("wsp-cl", proto_gsm_sms_ud); DISSECTOR_ASSERT(wsp_handle); } diff --git a/epan/dissectors/packet-gsm_um.c b/epan/dissectors/packet-gsm_um.c index 8b29d6b616..eca32c6d27 100644 --- a/epan/dissectors/packet-gsm_um.c +++ b/epan/dissectors/packet-gsm_um.c @@ -297,8 +297,8 @@ proto_reg_handoff_gsm_um(void) { dissector_handle_t gsm_um_handle; - lapdm_handle = find_dissector("lapdm"); - dtap_handle = find_dissector("gsm_a_dtap"); + lapdm_handle = find_dissector_add_dependency("lapdm", proto_gsm_um); + dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_gsm_um); data_handle = find_dissector("data"); gsm_um_handle = create_dissector_handle(dissect_gsm_um, proto_gsm_um); diff --git a/epan/dissectors/packet-gsmtap.c b/epan/dissectors/packet-gsmtap.c index 04dc757018..4e46cd5525 100644 --- a/epan/dissectors/packet-gsmtap.c +++ b/epan/dissectors/packet-gsmtap.c @@ -785,88 +785,88 @@ proto_reg_handoff_gsmtap(void) /* TODO: some dissectors may be NULL if not loaded */ sub_handles[GSMTAP_SUB_DATA] = find_dissector("data"); - sub_handles[GSMTAP_SUB_UM] = find_dissector("gsm_a_ccch"); - sub_handles[GSMTAP_SUB_UM_LAPDM] = find_dissector("lapdm"); - sub_handles[GSMTAP_SUB_UM_RLC_MAC_UL] = find_dissector("gsm_rlcmac_ul"); - sub_handles[GSMTAP_SUB_UM_RLC_MAC_DL] = find_dissector("gsm_rlcmac_dl"); - sub_handles[GSMTAP_SUB_LLC] = find_dissector("llcgprs"); - sub_handles[GSMTAP_SUB_SNDCP] = find_dissector("sndcp"); - sub_handles[GSMTAP_SUB_ABIS] = find_dissector("gsm_a_dtap"); - sub_handles[GSMTAP_SUB_CDMA_CODE] = find_dissector("wimax_cdma_code_burst_handler"); - sub_handles[GSMTAP_SUB_FCH] = find_dissector("wimax_fch_burst_handler"); - sub_handles[GSMTAP_SUB_FFB] = find_dissector("wimax_ffb_burst_handler"); - sub_handles[GSMTAP_SUB_PDU] = find_dissector("wimax_pdu_burst_handler"); - sub_handles[GSMTAP_SUB_HACK] = find_dissector("wimax_hack_burst_handler"); - sub_handles[GSMTAP_SUB_PHY_ATTRIBUTES] = find_dissector("wimax_phy_attributes_burst_handler"); - sub_handles[GSMTAP_SUB_CBCH] = find_dissector("gsm_cbch"); - sub_handles[GSMTAP_SUB_GMR1_BCCH] = find_dissector("gmr1_bcch"); - sub_handles[GSMTAP_SUB_GMR1_CCCH] = find_dissector("gmr1_ccch"); - sub_handles[GSMTAP_SUB_GMR1_LAPSAT] = find_dissector("lapsat"); - sub_handles[GSMTAP_SUB_GMR1_RACH] = find_dissector("gmr1_rach"); - sub_handles[GSMTAP_SUB_UMTS_RRC] = find_dissector("rrc"); - - rrc_sub_handles[GSMTAP_RRC_SUB_DL_DCCH_Message] = find_dissector("rrc.dl.dcch"); - rrc_sub_handles[GSMTAP_RRC_SUB_UL_DCCH_Message] = find_dissector("rrc.ul.dcch"); - rrc_sub_handles[GSMTAP_RRC_SUB_DL_CCCH_Message] = find_dissector("rrc.dl.ccch"); - rrc_sub_handles[GSMTAP_RRC_SUB_UL_CCCH_Message] = find_dissector("rrc.ul.ccch"); - rrc_sub_handles[GSMTAP_RRC_SUB_PCCH_Message] = find_dissector("rrc.pcch"); - rrc_sub_handles[GSMTAP_RRC_SUB_DL_SHCCH_Message] = find_dissector("rrc.dl.shcch"); - rrc_sub_handles[GSMTAP_RRC_SUB_UL_SHCCH_Message] = find_dissector("rrc.ul.shcch"); - rrc_sub_handles[GSMTAP_RRC_SUB_BCCH_FACH_Message] = find_dissector("rrc.bcch.fach"); - rrc_sub_handles[GSMTAP_RRC_SUB_BCCH_BCH_Message] = find_dissector("rrc.bcch.bch"); - rrc_sub_handles[GSMTAP_RRC_SUB_MCCH_Message] = find_dissector("rrc.mcch"); - rrc_sub_handles[GSMTAP_RRC_SUB_MSCH_Message] = find_dissector("rrc.msch"); - rrc_sub_handles[GSMTAP_RRC_SUB_HandoverToUTRANCommand] = find_dissector("rrc.irat.ho_to_utran_cmd"); - rrc_sub_handles[GSMTAP_RRC_SUB_InterRATHandoverInfo] = find_dissector("rrc.irat.irat_ho_info"); - rrc_sub_handles[GSMTAP_RRC_SUB_SystemInformation_BCH] = find_dissector("rrc.sysinfo"); - rrc_sub_handles[GSMTAP_RRC_SUB_System_Information_Container] = find_dissector("rrc.sysinfo.cont"); - rrc_sub_handles[GSMTAP_RRC_SUB_UE_RadioAccessCapabilityInfo] = find_dissector("rrc.ue_radio_access_cap_info"); - rrc_sub_handles[GSMTAP_RRC_SUB_MasterInformationBlock] = find_dissector("rrc.si.mib"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType1] = find_dissector("rrc.si.sib1"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType2] = find_dissector("rrc.si.sib2"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType3] = find_dissector("rrc.si.sib3"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType4] = find_dissector("rrc.si.sib4"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType5] = find_dissector("rrc.si.sib5"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType5bis] = find_dissector("rrc.si.sib5bis"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType6] = find_dissector("rrc.si.sib6"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType7] = find_dissector("rrc.si.sib7"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType8] = find_dissector("rrc.si.sib8"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType9] = find_dissector("rrc.si.sib9"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType10] = find_dissector("rrc.si.sib10"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType11] = find_dissector("rrc.si.sib11"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType11bis] = find_dissector("rrc.si.sib11bis"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType12] = find_dissector("rrc.si.sib12"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13] = find_dissector("rrc.si.sib13"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13_1] = find_dissector("rrc.si.sib13-1"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13_2] = find_dissector("rrc.si.sib13-2"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13_3] = find_dissector("rrc.si.sib13-3"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13_4] = find_dissector("rrc.si.sib13-4"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType14] = find_dissector("rrc.si.sib14"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15] = find_dissector("rrc.si.sib15"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15bis] = find_dissector("rrc.si.sib15bis"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_1] = find_dissector("rrc.si.sib15-1"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_1bis] = find_dissector("rrc.si.sib15-1bis"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_2] = find_dissector("rrc.si.sib15-2"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_2bis] = find_dissector("rrc.si.sib15-2bis"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_2ter] = find_dissector("rrc.si.sib15-2ter"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_3] = find_dissector("rrc.si.sib15-3"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_3bis] = find_dissector("rrc.si.sib15-3bis"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_4] = find_dissector("rrc.si.sib15-4"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_5] = find_dissector("rrc.si.sib15-5"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_6] = find_dissector("rrc.si.sib15-6"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_7] = find_dissector("rrc.si.sib15-7"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_8] = find_dissector("rrc.si.sib15-8"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType16] = find_dissector("rrc.si.sib16"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType17] = find_dissector("rrc.si.sib17"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType18] = find_dissector("rrc.si.sib18"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType19] = find_dissector("rrc.si.sib19"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType20] = find_dissector("rrc.si.sib20"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType21] = find_dissector("rrc.si.sib21"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType22] = find_dissector("rrc.si.sib22"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoTypeSB1] = find_dissector("rrc.si.sb1"); - rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoTypeSB2] = find_dissector("rrc.si.sb2"); - rrc_sub_handles[GSMTAP_RRC_SUB_ToTargetRNC_Container] = find_dissector("rrc.s_to_trnc_cont"); - rrc_sub_handles[GSMTAP_RRC_SUB_TargetRNC_ToSourceRNC_Container] = find_dissector("rrc.t_to_srnc_cont"); + sub_handles[GSMTAP_SUB_UM] = find_dissector_add_dependency("gsm_a_ccch", proto_gsmtap); + sub_handles[GSMTAP_SUB_UM_LAPDM] = find_dissector_add_dependency("lapdm", proto_gsmtap); + sub_handles[GSMTAP_SUB_UM_RLC_MAC_UL] = find_dissector_add_dependency("gsm_rlcmac_ul", proto_gsmtap); + sub_handles[GSMTAP_SUB_UM_RLC_MAC_DL] = find_dissector_add_dependency("gsm_rlcmac_dl", proto_gsmtap); + sub_handles[GSMTAP_SUB_LLC] = find_dissector_add_dependency("llcgprs", proto_gsmtap); + sub_handles[GSMTAP_SUB_SNDCP] = find_dissector_add_dependency("sndcp", proto_gsmtap); + sub_handles[GSMTAP_SUB_ABIS] = find_dissector_add_dependency("gsm_a_dtap", proto_gsmtap); + sub_handles[GSMTAP_SUB_CDMA_CODE] = find_dissector_add_dependency("wimax_cdma_code_burst_handler", proto_gsmtap); + sub_handles[GSMTAP_SUB_FCH] = find_dissector_add_dependency("wimax_fch_burst_handler", proto_gsmtap); + sub_handles[GSMTAP_SUB_FFB] = find_dissector_add_dependency("wimax_ffb_burst_handler", proto_gsmtap); + sub_handles[GSMTAP_SUB_PDU] = find_dissector_add_dependency("wimax_pdu_burst_handler", proto_gsmtap); + sub_handles[GSMTAP_SUB_HACK] = find_dissector_add_dependency("wimax_hack_burst_handler", proto_gsmtap); + sub_handles[GSMTAP_SUB_PHY_ATTRIBUTES] = find_dissector_add_dependency("wimax_phy_attributes_burst_handler", proto_gsmtap); + sub_handles[GSMTAP_SUB_CBCH] = find_dissector_add_dependency("gsm_cbch", proto_gsmtap); + sub_handles[GSMTAP_SUB_GMR1_BCCH] = find_dissector_add_dependency("gmr1_bcch", proto_gsmtap); + sub_handles[GSMTAP_SUB_GMR1_CCCH] = find_dissector_add_dependency("gmr1_ccch", proto_gsmtap); + sub_handles[GSMTAP_SUB_GMR1_LAPSAT] = find_dissector_add_dependency("lapsat", proto_gsmtap); + sub_handles[GSMTAP_SUB_GMR1_RACH] = find_dissector_add_dependency("gmr1_rach", proto_gsmtap); + sub_handles[GSMTAP_SUB_UMTS_RRC] = find_dissector_add_dependency("rrc", proto_gsmtap); + + rrc_sub_handles[GSMTAP_RRC_SUB_DL_DCCH_Message] = find_dissector_add_dependency("rrc.dl.dcch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_UL_DCCH_Message] = find_dissector_add_dependency("rrc.ul.dcch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_DL_CCCH_Message] = find_dissector_add_dependency("rrc.dl.ccch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_UL_CCCH_Message] = find_dissector_add_dependency("rrc.ul.ccch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_PCCH_Message] = find_dissector_add_dependency("rrc.pcch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_DL_SHCCH_Message] = find_dissector_add_dependency("rrc.dl.shcch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_UL_SHCCH_Message] = find_dissector_add_dependency("rrc.ul.shcch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_BCCH_FACH_Message] = find_dissector_add_dependency("rrc.bcch.fach", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_BCCH_BCH_Message] = find_dissector_add_dependency("rrc.bcch.bch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_MCCH_Message] = find_dissector_add_dependency("rrc.mcch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_MSCH_Message] = find_dissector_add_dependency("rrc.msch", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_HandoverToUTRANCommand] = find_dissector_add_dependency("rrc.irat.ho_to_utran_cmd", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_InterRATHandoverInfo] = find_dissector_add_dependency("rrc.irat.irat_ho_info", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SystemInformation_BCH] = find_dissector_add_dependency("rrc.sysinfo", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_System_Information_Container] = find_dissector_add_dependency("rrc.sysinfo.cont", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_UE_RadioAccessCapabilityInfo] = find_dissector_add_dependency("rrc.ue_radio_access_cap_info", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_MasterInformationBlock] = find_dissector_add_dependency("rrc.si.mib", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType1] = find_dissector_add_dependency("rrc.si.sib1", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType2] = find_dissector_add_dependency("rrc.si.sib2", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType3] = find_dissector_add_dependency("rrc.si.sib3", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType4] = find_dissector_add_dependency("rrc.si.sib4", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType5] = find_dissector_add_dependency("rrc.si.sib5", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType5bis] = find_dissector_add_dependency("rrc.si.sib5bis", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType6] = find_dissector_add_dependency("rrc.si.sib6", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType7] = find_dissector_add_dependency("rrc.si.sib7", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType8] = find_dissector_add_dependency("rrc.si.sib8", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType9] = find_dissector_add_dependency("rrc.si.sib9", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType10] = find_dissector_add_dependency("rrc.si.sib10", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType11] = find_dissector_add_dependency("rrc.si.sib11", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType11bis] = find_dissector_add_dependency("rrc.si.sib11bis", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType12] = find_dissector_add_dependency("rrc.si.sib12", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13] = find_dissector_add_dependency("rrc.si.sib13", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13_1] = find_dissector_add_dependency("rrc.si.sib13-1", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13_2] = find_dissector_add_dependency("rrc.si.sib13-2", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13_3] = find_dissector_add_dependency("rrc.si.sib13-3", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType13_4] = find_dissector_add_dependency("rrc.si.sib13-4", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType14] = find_dissector_add_dependency("rrc.si.sib14", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15] = find_dissector_add_dependency("rrc.si.sib15", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15bis] = find_dissector_add_dependency("rrc.si.sib15bis", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_1] = find_dissector_add_dependency("rrc.si.sib15-1", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_1bis] = find_dissector_add_dependency("rrc.si.sib15-1bis", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_2] = find_dissector_add_dependency("rrc.si.sib15-2", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_2bis] = find_dissector_add_dependency("rrc.si.sib15-2bis", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_2ter] = find_dissector_add_dependency("rrc.si.sib15-2ter", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_3] = find_dissector_add_dependency("rrc.si.sib15-3", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_3bis] = find_dissector_add_dependency("rrc.si.sib15-3bis", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_4] = find_dissector_add_dependency("rrc.si.sib15-4", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_5] = find_dissector_add_dependency("rrc.si.sib15-5", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_6] = find_dissector_add_dependency("rrc.si.sib15-6", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_7] = find_dissector_add_dependency("rrc.si.sib15-7", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType15_8] = find_dissector_add_dependency("rrc.si.sib15-8", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType16] = find_dissector_add_dependency("rrc.si.sib16", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType17] = find_dissector_add_dependency("rrc.si.sib17", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType18] = find_dissector_add_dependency("rrc.si.sib18", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType19] = find_dissector_add_dependency("rrc.si.sib19", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType20] = find_dissector_add_dependency("rrc.si.sib20", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType21] = find_dissector_add_dependency("rrc.si.sib21", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoType22] = find_dissector_add_dependency("rrc.si.sib22", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoTypeSB1] = find_dissector_add_dependency("rrc.si.sb1", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_SysInfoTypeSB2] = find_dissector_add_dependency("rrc.si.sb2", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_ToTargetRNC_Container] = find_dissector_add_dependency("rrc.s_to_trnc_cont", proto_gsmtap); + rrc_sub_handles[GSMTAP_RRC_SUB_TargetRNC_ToSourceRNC_Container] = find_dissector_add_dependency("rrc.t_to_srnc_cont", proto_gsmtap); gsmtap_handle = create_dissector_handle(dissect_gsmtap, proto_gsmtap); dissector_add_uint("udp.port", GSMTAP_UDP_PORT, gsmtap_handle); diff --git a/epan/dissectors/packet-gssapi.c b/epan/dissectors/packet-gssapi.c index c9dc7fccd5..bcf8991637 100644 --- a/epan/dissectors/packet-gssapi.c +++ b/epan/dissectors/packet-gssapi.c @@ -709,11 +709,11 @@ proto_reg_handoff_gssapi(void) { dissector_handle_t gssapi_handle; - ntlmssp_handle = find_dissector("ntlmssp"); - ntlmssp_payload_handle = find_dissector("ntlmssp_payload"); - ntlmssp_verf_handle = find_dissector("ntlmssp_verf"); - ntlmssp_data_only_handle = find_dissector("ntlmssp_data_only"); - spnego_krb5_wrap_handle = find_dissector("spnego-krb5-wrap"); + ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_gssapi); + ntlmssp_payload_handle = find_dissector_add_dependency("ntlmssp_payload", proto_gssapi); + ntlmssp_verf_handle = find_dissector_add_dependency("ntlmssp_verf", proto_gssapi); + ntlmssp_data_only_handle = find_dissector_add_dependency("ntlmssp_data_only", proto_gssapi); + spnego_krb5_wrap_handle = find_dissector_add_dependency("spnego-krb5-wrap", proto_gssapi); register_dcerpc_auth_subdissector(DCE_C_AUTHN_LEVEL_CONNECT, DCE_C_RPC_AUTHN_PROTOCOL_SPNEGO, diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c index 87e6516eca..418eb410a5 100644 --- a/epan/dissectors/packet-gtp.c +++ b/epan/dissectors/packet-gtp.c @@ -10188,15 +10188,15 @@ proto_reg_handoff_gtp(void) - ip_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); - ppp_handle = find_dissector("ppp"); - sync_handle = find_dissector("sync"); - gtpcdr_handle = find_dissector("gtpcdr"); - sndcpxid_handle = find_dissector("sndcpxid"); + ip_handle = find_dissector_add_dependency("ip", proto_gtp); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_gtp); + ppp_handle = find_dissector_add_dependency("ppp", proto_gtp); + sync_handle = find_dissector_add_dependency("sync", proto_gtp); + gtpcdr_handle = find_dissector_add_dependency("gtpcdr", proto_gtp); + sndcpxid_handle = find_dissector_add_dependency("sndcpxid", proto_gtp); data_handle = find_dissector("data"); - gtpv2_handle = find_dissector("gtpv2"); - bssgp_handle = find_dissector("bssgp"); + gtpv2_handle = find_dissector_add_dependency("gtpv2", proto_gtp); + bssgp_handle = find_dissector_add_dependency("bssgp", proto_gtp); bssap_pdu_type_table = find_dissector_table("bssap.pdu_type"); /* AVP Code: 5 3GPP-GPRS Negotiated QoS profile */ dissector_add_uint("diameter.3gpp", 5, create_dissector_handle(dissect_diameter_3gpp_qosprofile, proto_gtp)); diff --git a/epan/dissectors/packet-gtpv2.c b/epan/dissectors/packet-gtpv2.c index c1afd34497..d6ed0b380e 100644 --- a/epan/dissectors/packet-gtpv2.c +++ b/epan/dissectors/packet-gtpv2.c @@ -8564,7 +8564,7 @@ void proto_register_gtpv2(void) void proto_reg_handoff_gtpv2(void) { - nas_eps_handle = find_dissector("nas-eps"); + nas_eps_handle = find_dissector_add_dependency("nas-eps", proto_gtpv2); } /* diff --git a/epan/dissectors/packet-h248.c b/epan/dissectors/packet-h248.c index 29a2c55753..770d03c14f 100644 --- a/epan/dissectors/packet-h248.c +++ b/epan/dissectors/packet-h248.c @@ -6997,7 +6997,7 @@ void proto_reg_handoff_h248(void) { 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("h248term"); + h248_term_handle = find_dissector_add_dependency("h248term", proto_h248); initialized = TRUE; } else { if (udp_port != 0) diff --git a/epan/dissectors/packet-h248_q1950.c b/epan/dissectors/packet-h248_q1950.c index 2f534c2114..d6e330fbe9 100644 --- a/epan/dissectors/packet-h248_q1950.c +++ b/epan/dissectors/packet-h248_q1950.c @@ -454,7 +454,7 @@ static h248_package_t h248_pkg_bcg = { void proto_reg_handoff_q1950(void) { - bctp_dissector = find_dissector("bctp"); + bctp_dissector = find_dissector_add_dependency("bctp", proto_q1950); } diff --git a/epan/dissectors/packet-h283.c b/epan/dissectors/packet-h283.c index 4689d78dfc..2dc15e82fc 100644 --- a/epan/dissectors/packet-h283.c +++ b/epan/dissectors/packet-h283.c @@ -767,8 +767,8 @@ void proto_reg_handoff_h283(void) h283_udp_handle = find_dissector(PFNAME); dissector_add_for_decode_as("udp.port", h283_udp_handle); - rdc_pdu_handle = find_dissector("rdc"); - rdc_device_list_handle = find_dissector("rdc.device_list"); + rdc_pdu_handle = find_dissector_add_dependency("rdc", proto_h283); + rdc_device_list_handle = find_dissector_add_dependency("rdc.device_list", proto_h283); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-h460.c b/epan/dissectors/packet-h460.c index ef195c3bcb..976da85af1 100644 --- a/epan/dissectors/packet-h460.c +++ b/epan/dissectors/packet-h460.c @@ -2995,8 +2995,8 @@ void proto_reg_handoff_h460(void) h460_feature_t *ftr; dissector_handle_t h460_name_handle; - q931_ie_handle = find_dissector("q931.ie"); - h225_ras_handle = find_dissector("h225.ras"); + q931_ie_handle = find_dissector_add_dependency("q931.ie", proto_h460); + h225_ras_handle = find_dissector_add_dependency("h225.ras", proto_h460); h460_name_handle = create_dissector_handle(dissect_h460_name, proto_h460); for (ftr=h460_feature_tab; ftr->id; ftr++) { diff --git a/epan/dissectors/packet-hci_mon.c b/epan/dissectors/packet-hci_mon.c index bcd84f082b..7854f31d9f 100644 --- a/epan/dissectors/packet-hci_mon.c +++ b/epan/dissectors/packet-hci_mon.c @@ -313,10 +313,10 @@ proto_register_hci_mon(void) void proto_reg_handoff_hci_mon(void) { - bthci_cmd_handle = find_dissector("bthci_cmd"); - bthci_evt_handle = find_dissector("bthci_evt"); - bthci_acl_handle = find_dissector("bthci_acl"); - bthci_sco_handle = find_dissector("bthci_sco"); + bthci_cmd_handle = find_dissector_add_dependency("bthci_cmd", proto_hci_mon); + bthci_evt_handle = find_dissector_add_dependency("bthci_evt", proto_hci_mon); + bthci_acl_handle = find_dissector_add_dependency("bthci_acl", proto_hci_mon); + bthci_sco_handle = find_dissector_add_dependency("bthci_sco", proto_hci_mon); dissector_add_uint("bluetooth.encap", WTAP_ENCAP_BLUETOOTH_LINUX_MONITOR, hci_mon_handle); } diff --git a/epan/dissectors/packet-hci_usb.c b/epan/dissectors/packet-hci_usb.c index f464be73d1..66bdc163b5 100644 --- a/epan/dissectors/packet-hci_usb.c +++ b/epan/dissectors/packet-hci_usb.c @@ -380,10 +380,10 @@ proto_register_hci_usb(void) void proto_reg_handoff_hci_usb(void) { - bthci_cmd_handle = find_dissector("bthci_cmd"); - bthci_evt_handle = find_dissector("bthci_evt"); - bthci_acl_handle = find_dissector("bthci_acl"); - bthci_sco_handle = find_dissector("bthci_sco"); + bthci_cmd_handle = find_dissector_add_dependency("bthci_cmd", proto_hci_usb); + bthci_evt_handle = find_dissector_add_dependency("bthci_evt", proto_hci_usb); + bthci_acl_handle = find_dissector_add_dependency("bthci_acl", proto_hci_usb); + bthci_sco_handle = find_dissector_add_dependency("bthci_sco", proto_hci_usb); } /* diff --git a/epan/dissectors/packet-hdmi.c b/epan/dissectors/packet-hdmi.c index 872a3ccfac..979a99192b 100644 --- a/epan/dissectors/packet-hdmi.c +++ b/epan/dissectors/packet-hdmi.c @@ -266,7 +266,7 @@ proto_reg_handoff_hdmi(void) { dissector_handle_t hdmi_handle; - hdcp_handle = find_dissector("hdcp"); + hdcp_handle = find_dissector_add_dependency("hdcp", proto_hdmi); hdmi_handle = create_dissector_handle( dissect_hdmi, proto_hdmi ); dissector_add_for_decode_as("i2c.message", hdmi_handle ); diff --git a/epan/dissectors/packet-hp-erm.c b/epan/dissectors/packet-hp-erm.c index a0779b67e5..73255703b0 100644 --- a/epan/dissectors/packet-hp-erm.c +++ b/epan/dissectors/packet-hp-erm.c @@ -172,7 +172,7 @@ proto_reg_handoff_hp_erm(void) static gboolean initialized = FALSE; if (!initialized) { - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_hp_erm); hp_erm_handle = create_dissector_handle(dissect_hp_erm, proto_hp_erm); initialized = TRUE; } else { diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c index 7665b91f57..9c56704b09 100644 --- a/epan/dissectors/packet-http.c +++ b/epan/dissectors/packet-http.c @@ -3570,8 +3570,8 @@ proto_reg_handoff_http(void) dissector_handle_t ssdp_handle; data_handle = find_dissector("data"); - media_handle = find_dissector("media"); - websocket_handle = find_dissector("websocket"); + media_handle = find_dissector_add_dependency("media", proto_http); + websocket_handle = find_dissector_add_dependency("websocket", proto_http); http2_handle = find_dissector("http2"); /* * XXX - is there anything to dissect in the body of an SSDP @@ -3580,9 +3580,9 @@ proto_reg_handoff_http(void) ssdp_handle = create_dissector_handle(dissect_ssdp, proto_ssdp); dissector_add_uint("udp.port", UDP_PORT_SSDP, ssdp_handle); - ntlmssp_handle = find_dissector("ntlmssp"); - gssapi_handle = find_dissector("gssapi"); - sstp_handle = find_dissector("sstp"); + ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_http); + gssapi_handle = find_dissector_add_dependency("gssapi", proto_http); + sstp_handle = find_dissector_add_dependency("sstp", proto_http); stats_tree_register("http", "http", "HTTP/Packet Counter", 0, http_stats_tree_packet, http_stats_tree_init, NULL ); stats_tree_register("http", "http_req", "HTTP/Requests", 0, http_req_stats_tree_packet, http_req_stats_tree_init, NULL ); diff --git a/epan/dissectors/packet-icap.c b/epan/dissectors/packet-icap.c index 809e6dc19b..35d3a0a229 100644 --- a/epan/dissectors/packet-icap.c +++ b/epan/dissectors/packet-icap.c @@ -322,7 +322,7 @@ proto_reg_handoff_icap(void) dissector_handle_t icap_handle; data_handle = find_dissector("data"); - http_handle = find_dissector("http"); + http_handle = find_dissector_add_dependency("http", proto_icap); icap_handle = create_dissector_handle(dissect_icap, proto_icap); dissector_add_uint("tcp.port", TCP_PORT_ICAP, icap_handle); diff --git a/epan/dissectors/packet-icmp.c b/epan/dissectors/packet-icmp.c index 8c66961d16..e12875566c 100644 --- a/epan/dissectors/packet-icmp.c +++ b/epan/dissectors/packet-icmp.c @@ -2046,7 +2046,7 @@ void proto_reg_handoff_icmp(void) /* * Get handle for the IP dissector. */ - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_icmp); icmp_handle = find_dissector("icmp"); data_handle = find_dissector("data"); diff --git a/epan/dissectors/packet-icmpv6.c b/epan/dissectors/packet-icmpv6.c index 4774453386..d60239dfa9 100644 --- a/epan/dissectors/packet-icmpv6.c +++ b/epan/dissectors/packet-icmpv6.c @@ -5370,7 +5370,7 @@ proto_reg_handoff_icmpv6(void) /* * Get a handle for the IPv6 dissector. */ - ipv6_handle = find_dissector("ipv6"); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_icmpv6); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-ieee80211-netmon.c b/epan/dissectors/packet-ieee80211-netmon.c index 8943f51a96..b2d9bddc2a 100644 --- a/epan/dissectors/packet-ieee80211-netmon.c +++ b/epan/dissectors/packet-ieee80211-netmon.c @@ -393,7 +393,7 @@ proto_reg_handoff_netmon_802_11(void) dissector_handle_t netmon_802_11_handle; /* handle for 802.11+radio information dissector */ - ieee80211_radio_handle = find_dissector("wlan_radio"); + ieee80211_radio_handle = find_dissector_add_dependency("wlan_radio", proto_netmon_802_11); netmon_802_11_handle = create_dissector_handle(dissect_netmon_802_11, proto_netmon_802_11); dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE_802_11_NETMON, netmon_802_11_handle); diff --git a/epan/dissectors/packet-ieee80211-prism.c b/epan/dissectors/packet-ieee80211-prism.c index d40a14f19e..9b804f6f91 100644 --- a/epan/dissectors/packet-ieee80211-prism.c +++ b/epan/dissectors/packet-ieee80211-prism.c @@ -563,9 +563,9 @@ void proto_register_ieee80211_prism(void) void proto_reg_handoff_ieee80211_prism(void) { dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE_802_11_PRISM, prism_handle); - ieee80211_handle = find_dissector("wlan"); - ieee80211_radio_handle = find_dissector("wlan_radio"); - wlancap_handle = find_dissector("wlancap"); + ieee80211_handle = find_dissector_add_dependency("wlan", proto_prism); + ieee80211_radio_handle = find_dissector_add_dependency("wlan_radio", proto_prism); + wlancap_handle = find_dissector_add_dependency("wlancap", proto_prism); register_capture_dissector("wtap_encap", WTAP_ENCAP_IEEE_802_11_PRISM, capture_prism, proto_prism); } diff --git a/epan/dissectors/packet-ieee80211-radio.c b/epan/dissectors/packet-ieee80211-radio.c index 90ddbd84c0..088eacaf6e 100644 --- a/epan/dissectors/packet-ieee80211-radio.c +++ b/epan/dissectors/packet-ieee80211-radio.c @@ -1079,7 +1079,7 @@ void proto_reg_handoff_ieee80211_radio(void) /* Register handoff to radio-header dissectors */ dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE_802_11_WITH_RADIO, wlan_radio_handle); - ieee80211_handle = find_dissector("wlan"); + ieee80211_handle = find_dissector_add_dependency("wlan", proto_wlan_radio); } /* diff --git a/epan/dissectors/packet-ieee80211-radiotap.c b/epan/dissectors/packet-ieee80211-radiotap.c index 8145e149ab..3d4d6d560b 100644 --- a/epan/dissectors/packet-ieee80211-radiotap.c +++ b/epan/dissectors/packet-ieee80211-radiotap.c @@ -2687,9 +2687,9 @@ void proto_reg_handoff_radiotap(void) dissector_handle_t radiotap_handle; /* handle for 802.11+radio information dissector */ - ieee80211_radio_handle = find_dissector("wlan_radio"); + ieee80211_radio_handle = find_dissector_add_dependency("wlan_radio", proto_radiotap); - radiotap_handle = find_dissector("radiotap"); + radiotap_handle = find_dissector_add_dependency("radiotap", proto_radiotap); dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE_802_11_RADIOTAP, radiotap_handle); diff --git a/epan/dissectors/packet-ieee80211-wlancap.c b/epan/dissectors/packet-ieee80211-wlancap.c index 13a2f6fac4..56245b9366 100644 --- a/epan/dissectors/packet-ieee80211-wlancap.c +++ b/epan/dissectors/packet-ieee80211-wlancap.c @@ -846,7 +846,7 @@ void proto_register_ieee80211_wlancap(void) void proto_reg_handoff_ieee80211_wlancap(void) { - ieee80211_radio_handle = find_dissector("wlan_radio"); + ieee80211_radio_handle = find_dissector_add_dependency("wlan_radio", proto_wlancap); register_capture_dissector("wtap_encap", WTAP_ENCAP_IEEE_802_11_AVS, capture_wlancap, proto_wlancap); } diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index 051a784f3d..a260d1e773 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -27384,9 +27384,9 @@ proto_reg_handoff_ieee80211(void) /* * Get handles for the LLC, IPX and Ethernet dissectors. */ - llc_handle = find_dissector("llc"); - ipx_handle = find_dissector("ipx"); - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + llc_handle = find_dissector_add_dependency("llc", proto_wlan); + ipx_handle = find_dissector_add_dependency("ipx", proto_wlan); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_wlan); data_handle = find_dissector("data"); ieee80211_handle = find_dissector("wlan"); diff --git a/epan/dissectors/packet-ieee8021ah.c b/epan/dissectors/packet-ieee8021ah.c index 1d3f41c51f..921003072e 100644 --- a/epan/dissectors/packet-ieee8021ah.c +++ b/epan/dissectors/packet-ieee8021ah.c @@ -430,7 +430,8 @@ proto_reg_handoff_ieee8021ah(void) ieee8021ad_handle = create_dissector_handle(dissect_ieee8021ad, proto_ieee8021ad); dissector_add_uint("ethertype", ETHERTYPE_IEEE_802_1AD, ieee8021ad_handle); - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_ieee8021ah); + find_dissector_add_dependency("ethertype", proto_ieee8021ad); register_capture_dissector("ethertype", ETHERTYPE_IEEE_802_1AD, capture_ieee8021ah, proto_ieee8021ah); register_capture_dissector("ethertype", ETHERTYPE_IEEE_802_1AH, capture_ieee8021ah, proto_ieee8021ah); diff --git a/epan/dissectors/packet-ifcp.c b/epan/dissectors/packet-ifcp.c index 8401a26202..c6b42d48fb 100644 --- a/epan/dissectors/packet-ifcp.c +++ b/epan/dissectors/packet-ifcp.c @@ -614,7 +614,7 @@ proto_reg_handoff_ifcp (void) dissector_add_for_decode_as("tcp.port", ifcp_handle); data_handle = find_dissector("data"); - fc_handle = find_dissector("fc_ifcp"); + fc_handle = find_dissector_add_dependency("fc_ifcp", proto_ifcp); } /* diff --git a/epan/dissectors/packet-ilp.c b/epan/dissectors/packet-ilp.c index af4c6f61df..f4fdc5f728 100644 --- a/epan/dissectors/packet-ilp.c +++ b/epan/dissectors/packet-ilp.c @@ -5888,10 +5888,10 @@ proto_reg_handoff_ilp(void) static guint local_ilp_port; if (!initialized) { - ilp_handle = find_dissector("ilp"); + ilp_handle = find_dissector_add_dependency("ilp", proto_ilp); dissector_add_string("media_type","application/oma-supl-ilp", ilp_handle); - rrlp_handle = find_dissector("rrlp"); - lpp_handle = find_dissector("lpp"); + rrlp_handle = find_dissector_add_dependency("rrlp", proto_ilp); + lpp_handle = find_dissector_add_dependency("lpp", proto_ilp); initialized = TRUE; } else { dissector_delete_uint("tcp.port", local_ilp_port, ilp_handle); diff --git a/epan/dissectors/packet-inap.c b/epan/dissectors/packet-inap.c index 4d30298e25..58eea988df 100644 --- a/epan/dissectors/packet-inap.c +++ b/epan/dissectors/packet-inap.c @@ -1517,7 +1517,7 @@ dissect_inap_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, static int dissect_inap_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 211 "./asn1/inap/inap.cnf" +#line 218 "./asn1/inap/inap.cnf" proto_tree *ext_tree; ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_inap_extension_data, NULL, "Extension Data"); if (obj_id){ @@ -1544,7 +1544,7 @@ static const ber_sequence_t ExtensionField_sequence[] = { static int dissect_inap_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 206 "./asn1/inap/inap.cnf" +#line 213 "./asn1/inap/inap.cnf" obj_id = NULL; @@ -2198,7 +2198,7 @@ dissect_inap_BCSMEvent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_inap_T_bearerCap(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 244 "./asn1/inap/inap.cnf" +#line 251 "./asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; @@ -2353,7 +2353,7 @@ dissect_inap_CalledPartyBusinessGroupID(gboolean implicit_tag _U_, tvbuff_t *tvb static int dissect_inap_CalledPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 223 "./asn1/inap/inap.cnf" +#line 230 "./asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -2404,7 +2404,7 @@ dissect_inap_CallingPartyBusinessGroupID(gboolean implicit_tag _U_, tvbuff_t *tv static int dissect_inap_CallingPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 233 "./asn1/inap/inap.cnf" +#line 240 "./asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -2507,7 +2507,7 @@ dissect_inap_Carrier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U static int dissect_inap_Cause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 302 "./asn1/inap/inap.cnf" +#line 309 "./asn1/inap/inap.cnf" /* * -- Indicates the cause for interface related information. Refer to the Q.763 Cause parameter for encoding * -- For the use of cause and location values refer to Q.850. @@ -4560,7 +4560,7 @@ dissect_inap_GlobalCallReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i int dissect_inap_HighLayerCompatibility(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 288 "./asn1/inap/inap.cnf" +#line 295 "./asn1/inap/inap.cnf" /* * -- Indicates the teleservice. For encoding, DSS1 (Q.931) is used. */ @@ -4734,7 +4734,7 @@ dissect_inap_NumberingPlan(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off static int dissect_inap_OriginalCalledPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 266 "./asn1/inap/inap.cnf" +#line 273 "./asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; @@ -4798,7 +4798,7 @@ dissect_inap_Reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_ static int dissect_inap_RedirectingPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 277 "./asn1/inap/inap.cnf" +#line 284 "./asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; @@ -4820,7 +4820,7 @@ dissect_inap_RedirectingPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in int dissect_inap_RedirectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 255 "./asn1/inap/inap.cnf" +#line 262 "./asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; @@ -5184,7 +5184,7 @@ dissect_inap_T_triggerId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse static int dissect_inap_T_triggerPar(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 192 "./asn1/inap/inap.cnf" +#line 199 "./asn1/inap/inap.cnf" /* FIX ME */ @@ -7762,7 +7762,7 @@ dissect_inap_MessageReceivedArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static int dissect_inap_T_uIScriptSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 198 "./asn1/inap/inap.cnf" +#line 205 "./asn1/inap/inap.cnf" /* FIX ME */ @@ -7791,7 +7791,7 @@ dissect_inap_ScriptCloseArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_inap_T_uIScriptResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 195 "./asn1/inap/inap.cnf" +#line 202 "./asn1/inap/inap.cnf" /* FIX ME */ @@ -7821,7 +7821,7 @@ dissect_inap_ScriptEventArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_inap_T_uIScriptSpecificInfo_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 201 "./asn1/inap/inap.cnf" +#line 208 "./asn1/inap/inap.cnf" /* FIX ME */ @@ -7849,7 +7849,7 @@ dissect_inap_ScriptInformationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_inap_T_uIScriptSpecificInfo_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 203 "./asn1/inap/inap.cnf" +#line 210 "./asn1/inap/inap.cnf" /* FIX ME */ @@ -8080,7 +8080,8 @@ dissect_inap_T_linkedId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_inap_T_argument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 180 "./asn1/inap/inap.cnf" +#line 184 "./asn1/inap/inap.cnf" + offset = dissect_invokeData(tree, tvb, offset, actx); @@ -8100,6 +8101,7 @@ static const ber_sequence_t Invoke_sequence[] = { static int dissect_inap_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 168 "./asn1/inap/inap.cnf" + inap_opcode_type=INAP_OPCODE_INVOKE; @@ -8113,7 +8115,8 @@ dissect_inap_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_ static int dissect_inap_ResultArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 183 "./asn1/inap/inap.cnf" +#line 188 "./asn1/inap/inap.cnf" + offset = dissect_returnResultData(tree, tvb, offset, actx); @@ -8145,7 +8148,8 @@ static const ber_sequence_t ReturnResult_sequence[] = { static int dissect_inap_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 171 "./asn1/inap/inap.cnf" +#line 172 "./asn1/inap/inap.cnf" + inap_opcode_type=INAP_OPCODE_RETURN_RESULT; @@ -8159,7 +8163,8 @@ dissect_inap_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs static int dissect_inap_T_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 186 "./asn1/inap/inap.cnf" +#line 192 "./asn1/inap/inap.cnf" + offset = dissect_returnErrorData(tree, tvb, offset, actx); @@ -8179,7 +8184,8 @@ static const ber_sequence_t ReturnError_sequence[] = { static int dissect_inap_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 174 "./asn1/inap/inap.cnf" +#line 176 "./asn1/inap/inap.cnf" + inap_opcode_type=INAP_OPCODE_RETURN_ERROR; @@ -8299,7 +8305,8 @@ static const ber_sequence_t Reject_sequence[] = { static int dissect_inap_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 177 "./asn1/inap/inap.cnf" +#line 180 "./asn1/inap/inap.cnf" + inap_opcode_type=INAP_OPCODE_REJECT; diff --git a/epan/dissectors/packet-infiniband.c b/epan/dissectors/packet-infiniband.c index bb977b31c9..9edcdc7623 100644 --- a/epan/dissectors/packet-infiniband.c +++ b/epan/dissectors/packet-infiniband.c @@ -7439,7 +7439,7 @@ void proto_reg_handoff_infiniband(void) static guint prev_rroce_udp_port; dissector_handle_t roce_handle, rroce_handle; - ipv6_handle = find_dissector("ipv6"); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_infiniband); data_handle = find_dissector("data"); /* diff --git a/epan/dissectors/packet-ipdc.c b/epan/dissectors/packet-ipdc.c index 04612d7361..fb569ad83b 100644 --- a/epan/dissectors/packet-ipdc.c +++ b/epan/dissectors/packet-ipdc.c @@ -1097,7 +1097,7 @@ proto_reg_handoff_ipdc(void) } else { ipdc_tcp_handle = create_dissector_handle(dissect_ipdc_tcp, proto_ipdc); - q931_handle = find_dissector("q931"); + q931_handle = find_dissector_add_dependency("q931", proto_ipdc); } last_ipdc_port_pref = ipdc_port_pref; diff --git a/epan/dissectors/packet-ipfc.c b/epan/dissectors/packet-ipfc.c index 190e2acd4d..efceca2bdb 100644 --- a/epan/dissectors/packet-ipfc.c +++ b/epan/dissectors/packet-ipfc.c @@ -126,7 +126,7 @@ proto_reg_handoff_ipfc (void) ipfc_handle = create_dissector_handle (dissect_ipfc, proto_ipfc); dissector_add_uint("wtap_encap", WTAP_ENCAP_IP_OVER_FC, ipfc_handle); - llc_handle = find_dissector ("llc"); + llc_handle = find_dissector_add_dependency("llc", proto_ipfc); register_capture_dissector("wtap_encap", WTAP_ENCAP_IP_OVER_FC, capture_ipfc, proto_ipfc); } diff --git a/epan/dissectors/packet-ipmi-session.c b/epan/dissectors/packet-ipmi-session.c index d7805aba90..0c984a2ca9 100644 --- a/epan/dissectors/packet-ipmi-session.c +++ b/epan/dissectors/packet-ipmi-session.c @@ -318,7 +318,7 @@ proto_reg_handoff_ipmi_session(void) dissector_add_uint("rmcp.class", RMCP_CLASS_IPMI, ipmi_session_handle); data_handle = find_dissector("data"); - ipmi_handle = find_dissector("ipmi"); + ipmi_handle = find_dissector_add_dependency("ipmi", proto_ipmi_session); } /* diff --git a/epan/dissectors/packet-ipnet.c b/epan/dissectors/packet-ipnet.c index 6d4ff97f2d..069dd8b5cb 100644 --- a/epan/dissectors/packet-ipnet.c +++ b/epan/dissectors/packet-ipnet.c @@ -148,8 +148,8 @@ proto_reg_handoff_ipnet(void) /* * Get handles for the IP and IPv6 dissectors. */ - ip_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); + ip_handle = find_dissector_add_dependency("ip", proto_ipnet); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_ipnet); ipnet_handle = create_dissector_handle(dissect_ipnet, proto_ipnet); dissector_add_uint("wtap_encap", WTAP_ENCAP_IPNET, ipnet_handle); diff --git a/epan/dissectors/packet-ipoib.c b/epan/dissectors/packet-ipoib.c index 7f3ddf36d6..7d8c527ac1 100644 --- a/epan/dissectors/packet-ipoib.c +++ b/epan/dissectors/packet-ipoib.c @@ -113,9 +113,9 @@ proto_reg_handoff_ipoib(void) /* * Get handles for the ARP, IP and IPv6 dissectors. */ - arp_handle = find_dissector("arp"); - ip_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); + arp_handle = find_dissector_add_dependency("arp", proto_ipoib); + ip_handle = find_dissector_add_dependency("ip", proto_ipoib); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_ipoib); ipoib_handle = create_dissector_handle(dissect_ipoib, proto_ipoib); dissector_add_uint("wtap_encap", WTAP_ENCAP_IP_OVER_IB, ipoib_handle); diff --git a/epan/dissectors/packet-ipos.c b/epan/dissectors/packet-ipos.c index 663035d141..6b74461aa0 100644 --- a/epan/dissectors/packet-ipos.c +++ b/epan/dissectors/packet-ipos.c @@ -161,7 +161,7 @@ void proto_reg_handoff_ipos(void) { ipos_handle = find_dissector("ipos"); - redback_handle = find_dissector("redback"); + redback_handle = find_dissector_add_dependency("redback", proto_ipos); data_handle = find_dissector("data"); /*dissector_add_uint("wtap_encap", WTAP_ENCAP_IPOS, ipos_handle); */ diff --git a/epan/dissectors/packet-ipsec-tcp.c b/epan/dissectors/packet-ipsec-tcp.c index 7561f7e20f..9941c269a7 100644 --- a/epan/dissectors/packet-ipsec-tcp.c +++ b/epan/dissectors/packet-ipsec-tcp.c @@ -245,8 +245,8 @@ proto_reg_handoff_tcpencap(void) if (!initialized) { tcpencap_handle = create_dissector_handle(dissect_tcpencap, proto_tcpencap); - esp_handle = find_dissector("esp"); - udp_handle = find_dissector("udp"); + esp_handle = find_dissector_add_dependency("esp", proto_tcpencap); + udp_handle = find_dissector_add_dependency("udp", proto_tcpencap); heur_dissector_add("tcp", dissect_tcpencap_heur, "TCP Encapsulation of IPsec Packets", "ipsec_tcp", proto_tcpencap, HEURISTIC_ENABLE); diff --git a/epan/dissectors/packet-ipsec-udp.c b/epan/dissectors/packet-ipsec-udp.c index 08527bbff3..0463066b9b 100644 --- a/epan/dissectors/packet-ipsec-udp.c +++ b/epan/dissectors/packet-ipsec-udp.c @@ -104,8 +104,8 @@ proto_reg_handoff_udpencap(void) { dissector_handle_t udpencap_handle; - esp_handle = find_dissector("esp"); - isakmp_handle = find_dissector("isakmp"); + esp_handle = find_dissector_add_dependency("esp", proto_udpencap); + isakmp_handle = find_dissector_add_dependency("isakmp", proto_udpencap); udpencap_handle = create_dissector_handle(dissect_udpencap, proto_udpencap); dissector_add_uint("udp.port", 4500, udpencap_handle); diff --git a/epan/dissectors/packet-isakmp.c b/epan/dissectors/packet-isakmp.c index e29e680ab5..d3a0213b45 100644 --- a/epan/dissectors/packet-isakmp.c +++ b/epan/dissectors/packet-isakmp.c @@ -6607,7 +6607,7 @@ proto_reg_handoff_isakmp(void) dissector_handle_t isakmp_handle; isakmp_handle = find_dissector("isakmp"); - eap_handle = find_dissector("eap"); + eap_handle = find_dissector_add_dependency("eap", proto_isakmp); dissector_add_uint("udp.port", UDP_PORT_ISAKMP, isakmp_handle); dissector_add_uint("tcp.port", TCP_PORT_ISAKMP, isakmp_handle); } diff --git a/epan/dissectors/packet-iser.c b/epan/dissectors/packet-iser.c index 9e577e9082..27bc15d4a9 100644 --- a/epan/dissectors/packet-iser.c +++ b/epan/dissectors/packet-iser.c @@ -399,8 +399,8 @@ proto_reg_handoff_iser(void) manual_addr_data[0] = wmem_alloc(wmem_epan_scope(), GID_SIZE); manual_addr_data[1] = wmem_alloc(wmem_epan_scope(), GID_SIZE); - iscsi_handler = find_dissector("iscsi"); - ib_handler = find_dissector("infiniband"); + iscsi_handler = find_dissector_add_dependency("iscsi", proto_iser); + ib_handler = find_dissector_add_dependency("infiniband", proto_iser); proto_ib = dissector_handle_get_protocol_index(ib_handler); initialized = TRUE; diff --git a/epan/dissectors/packet-isl.c b/epan/dissectors/packet-isl.c index 5f6b5b1924..e1bdeb8aef 100644 --- a/epan/dissectors/packet-isl.c +++ b/epan/dissectors/packet-isl.c @@ -409,8 +409,8 @@ proto_reg_handoff_isl(void) /* * Get handles for the Ethernet and Token Ring dissectors. */ - eth_withfcs_handle = find_dissector("eth_withfcs"); - tr_handle = find_dissector("tr"); + eth_withfcs_handle = find_dissector_add_dependency("eth_withfcs", proto_isl); + tr_handle = find_dissector_add_dependency("tr", proto_isl); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-isup.c b/epan/dissectors/packet-isup.c index 4e7499ae22..8291afa9b2 100644 --- a/epan/dissectors/packet-isup.c +++ b/epan/dissectors/packet-isup.c @@ -12466,8 +12466,8 @@ proto_register_bicc(void) void proto_reg_handoff_bicc(void) { - sdp_handle = find_dissector("sdp"); - q931_ie_handle = find_dissector("q931.ie"); + sdp_handle = find_dissector_add_dependency("sdp", proto_isup); + q931_ie_handle = find_dissector_add_dependency("q931.ie", proto_isup); dissector_add_uint("mtp3.service_indicator", MTP_SI_BICC, bicc_handle); dissector_add_uint("sctp.ppi", BICC_PAYLOAD_PROTOCOL_ID, bicc_handle); diff --git a/epan/dissectors/packet-iua.c b/epan/dissectors/packet-iua.c index 1568c5e512..bbdc4f7173 100644 --- a/epan/dissectors/packet-iua.c +++ b/epan/dissectors/packet-iua.c @@ -987,8 +987,8 @@ proto_reg_handoff_iua(void) dissector_handle_t iua_handle; iua_handle = find_dissector("iua"); - q931_handle = find_dissector("q931"); - x25_handle = find_dissector("x.25"); + q931_handle = find_dissector_add_dependency("q931", proto_iua); + x25_handle = find_dissector_add_dependency("x.25", proto_iua); dissector_add_uint("sctp.port", SCTP_PORT_IUA, iua_handle); dissector_add_uint("sctp.ppi", IUA_PAYLOAD_PROTOCOL_ID, iua_handle); diff --git a/epan/dissectors/packet-iwarp-mpa.c b/epan/dissectors/packet-iwarp-mpa.c index 1a0f23e76f..2ac662757d 100644 --- a/epan/dissectors/packet-iwarp-mpa.c +++ b/epan/dissectors/packet-iwarp-mpa.c @@ -980,7 +980,7 @@ proto_reg_handoff_mpa(void) * port, try this dissector whenever there is TCP traffic. */ heur_dissector_add("tcp", dissect_iwarp_mpa, "IWARP_MPA over TCP", "iwarp_mpa_tcp", proto_iwarp_mpa, HEURISTIC_ENABLE); - ddp_rdmap_handle = find_dissector("iwarp_ddp_rdmap"); + ddp_rdmap_handle = find_dissector_add_dependency("iwarp_ddp_rdmap", proto_iwarp_mpa); } /* diff --git a/epan/dissectors/packet-ixveriwave.c b/epan/dissectors/packet-ixveriwave.c index 66139151f6..d50f4dd782 100644 --- a/epan/dissectors/packet-ixveriwave.c +++ b/epan/dissectors/packet-ixveriwave.c @@ -1679,9 +1679,9 @@ framing signal deasserted. this is caused by software setting the drain all reg void proto_reg_handoff_ixveriwave(void) { /* handle for ethertype dissector */ - ethernet_handle = find_dissector("eth_withoutfcs"); + ethernet_handle = find_dissector_add_dependency("eth_withoutfcs", proto_ixveriwave); /* handle for 802.11+radio information dissector */ - ieee80211_radio_handle = find_dissector("wlan_radio"); + ieee80211_radio_handle = find_dissector_add_dependency("wlan_radio", proto_ixveriwave); dissector_add_uint("wtap_encap", WTAP_ENCAP_IXVERIWAVE, ixveriwave_handle); } diff --git a/epan/dissectors/packet-json.c b/epan/dissectors/packet-json.c index d6d5cee690..2e37f8fd24 100644 --- a/epan/dissectors/packet-json.c +++ b/epan/dissectors/packet-json.c @@ -655,7 +655,7 @@ proto_reg_handoff_json(void) dissector_add_string("media_type", "application/jsonrequest", json_handle); /* JSON-RPC over HTTP */ dissector_add_string("media_type", "application/dds-web+json", json_handle); /* DDS Web Integration Service over HTTP */ - text_lines_handle = find_dissector("data-text-lines"); + text_lines_handle = find_dissector_add_dependency("data-text-lines", proto_json); } /* diff --git a/epan/dissectors/packet-juniper.c b/epan/dissectors/packet-juniper.c index 5d067dc7d6..41b1b1be80 100644 --- a/epan/dissectors/packet-juniper.c +++ b/epan/dissectors/packet-juniper.c @@ -1436,7 +1436,7 @@ proto_reg_handoff_juniper(void) dissector_handle_t juniper_vp_handle; dissector_handle_t juniper_svcs_handle; - ipv4_handle = find_dissector("ip"); + ipv4_handle = find_dissector_add_dependency("ip", proto_juniper); data_handle = find_dissector("data"); juniper_atm2_handle = create_dissector_handle(dissect_juniper_atm2, proto_juniper); diff --git a/epan/dissectors/packet-jxta.c b/epan/dissectors/packet-jxta.c index 6be32b8b2a..15ae9aa580 100644 --- a/epan/dissectors/packet-jxta.c +++ b/epan/dissectors/packet-jxta.c @@ -76,6 +76,7 @@ static dissector_table_t media_type_dissector_table = NULL; static dissector_handle_t media_handle = NULL; static dissector_handle_t data_handle = NULL; static dissector_handle_t stream_jxta_handle = NULL; +static dissector_handle_t ssl_handle = NULL; static int hf_uri_addr = -1; static int hf_uri_src = -1; @@ -2076,7 +2077,6 @@ static int dissect_media( const gchar* fullmediatype, tvbuff_t * tvb, packet_inf if (0 == strcmp("application/x-jxta-tls-block", mediatype)) { /* If we recognize it as a TLS packet then we shuffle it off to ssl dissector. */ - dissector_handle_t ssl_handle = find_dissector("ssl"); if (NULL != ssl_handle) { dissected = call_dissector(ssl_handle, tvb, pinfo, tree); } @@ -2400,9 +2400,10 @@ void proto_reg_handoff_jxta(void) stream_jxta_handle = find_dissector("jxta.stream"); media_type_dissector_table = find_dissector_table("media_type"); + ssl_handle = find_dissector_add_dependency("ssl", proto_jxta); data_handle = find_dissector("data"); - media_handle = find_dissector("media"); + media_handle = find_dissector_add_dependency("media", proto_jxta); init_done = TRUE; } diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c index 1d2210c44f..9ea86d3d58 100644 --- a/epan/dissectors/packet-kerberos.c +++ b/epan/dissectors/packet-kerberos.c @@ -5563,7 +5563,7 @@ proto_reg_handoff_kerberos(void) { dissector_handle_t kerberos_handle_tcp; - krb4_handle = find_dissector("krb4"); + krb4_handle = find_dissector_add_dependency("krb4", proto_kerberos); kerberos_handle_udp = create_dissector_handle(dissect_kerberos_udp, proto_kerberos); diff --git a/epan/dissectors/packet-l2tp.c b/epan/dissectors/packet-l2tp.c index 207b5f3e30..3d1209ec34 100644 --- a/epan/dissectors/packet-l2tp.c +++ b/epan/dissectors/packet-l2tp.c @@ -3472,8 +3472,8 @@ proto_reg_handoff_l2tp(void) /* * Get a handle for the PPP-in-HDLC-like-framing dissector. */ - ppp_hdlc_handle = find_dissector("ppp_hdlc"); - ppp_lcp_options_handle = find_dissector("ppp_lcp_options"); + ppp_hdlc_handle = find_dissector_add_dependency("ppp_hdlc", proto_l2tp); + ppp_lcp_options_handle = find_dissector_add_dependency("ppp_lcp_options", proto_l2tp); /* Register vendor AVP dissector(s)*/ dissector_add_uint("l2tp.vendor_avp", VENDOR_CABLELABS, create_dissector_handle(dissect_l2tp_vnd_cablelabs_avps, proto_l2tp)); @@ -3482,8 +3482,8 @@ proto_reg_handoff_l2tp(void) /* * Get a handle for the dissectors used in v3. */ - atm_oam_handle = find_dissector("atm_oam_cell"); - llc_handle = find_dissector("llc"); + atm_oam_handle = find_dissector_add_dependency("atm_oam_cell", proto_l2tp); + llc_handle = find_dissector_add_dependency("llc", proto_l2tp); data_handle = find_dissector("data"); atm_oam_llc_handle = create_dissector_handle( dissect_atm_oam_llc, proto_l2tp ); diff --git a/epan/dissectors/packet-lapb.c b/epan/dissectors/packet-lapb.c index 954a587f1a..65bcdbca40 100644 --- a/epan/dissectors/packet-lapb.c +++ b/epan/dissectors/packet-lapb.c @@ -227,8 +227,8 @@ proto_reg_handoff_lapb(void) * pseudo-header for LAPB-over-Ethernet, but we do get it * for raw LAPB. */ - x25_dir_handle = find_dissector("x.25_dir"); - x25_handle = find_dissector("x.25"); + x25_dir_handle = find_dissector_add_dependency("x.25_dir", proto_lapb); + x25_handle = find_dissector_add_dependency("x.25", proto_lapb); lapb_handle = find_dissector("lapb"); dissector_add_uint("wtap_encap", WTAP_ENCAP_LAPB, lapb_handle); diff --git a/epan/dissectors/packet-lapbether.c b/epan/dissectors/packet-lapbether.c index 9e018b4166..6de872c116 100644 --- a/epan/dissectors/packet-lapbether.c +++ b/epan/dissectors/packet-lapbether.c @@ -95,7 +95,7 @@ proto_reg_handoff_lapbether(void) /* * Get a handle for the LAPB dissector. */ - lapb_handle = find_dissector("lapb"); + lapb_handle = find_dissector_add_dependency("lapb", proto_lapbether); lapbether_handle = create_dissector_handle(dissect_lapbether, proto_lapbether); diff --git a/epan/dissectors/packet-lcsap.c b/epan/dissectors/packet-lcsap.c index 8a147bfef3..9149a282da 100644 --- a/epan/dissectors/packet-lcsap.c +++ b/epan/dissectors/packet-lcsap.c @@ -2285,8 +2285,8 @@ proto_reg_handoff_lcsap(void) if (!Initialized) { lcsap_handle = find_dissector("lcsap"); - lpp_handle = find_dissector("lpp"); - lppa_handle = find_dissector("lppa"); + 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" */ dissector_add_uint("sctp.ppi", LCS_AP_PAYLOAD_PROTOCOL_ID, lcsap_handle); Initialized=TRUE; diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c index 6d0e827272..4431492732 100644 --- a/epan/dissectors/packet-ldap.c +++ b/epan/dissectors/packet-ldap.c @@ -5839,13 +5839,13 @@ proto_reg_handoff_ldap(void) cldap_handle = create_dissector_handle(dissect_mscldap, proto_cldap); dissector_add_uint("udp.port", UDP_PORT_CLDAP, cldap_handle); - gssapi_handle = find_dissector("gssapi"); - gssapi_wrap_handle = find_dissector("gssapi_verf"); - spnego_handle = find_dissector("spnego"); + gssapi_handle = find_dissector_add_dependency("gssapi", proto_ldap); + gssapi_wrap_handle = find_dissector_add_dependency("gssapi_verf", proto_ldap); + spnego_handle = find_dissector_add_dependency("spnego", proto_ldap); - ntlmssp_handle = find_dissector("ntlmssp"); + ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_ldap); - ssl_handle = find_dissector("ssl"); + ssl_handle = find_dissector_add_dependency("ssl", proto_ldap); prefs_register_ldap(); diff --git a/epan/dissectors/packet-lge_monitor.c b/epan/dissectors/packet-lge_monitor.c index beabbaf2ad..f51f0fef7f 100644 --- a/epan/dissectors/packet-lge_monitor.c +++ b/epan/dissectors/packet-lge_monitor.c @@ -123,10 +123,10 @@ proto_reg_handoff_lge_monitor(void) if (!lge_monitor_prefs_initialized) { lge_monitor_handle = create_dissector_handle(dissect_lge_monitor, proto_lge_monitor); dissector_add_for_decode_as("udp.port", lge_monitor_handle); - mtp3_handle = find_dissector("mtp3"); - m3ua_handle = find_dissector("m3ua"); - sccp_handle = find_dissector("sccp"); - sctp_handle = find_dissector("sctp"); + mtp3_handle = find_dissector_add_dependency("mtp3", proto_lge_monitor); + m3ua_handle = find_dissector_add_dependency("m3ua", proto_lge_monitor); + sccp_handle = find_dissector_add_dependency("sccp", proto_lge_monitor); + sctp_handle = find_dissector_add_dependency("sctp", proto_lge_monitor); lge_monitor_prefs_initialized = TRUE; } else { diff --git a/epan/dissectors/packet-lisp-data.c b/epan/dissectors/packet-lisp-data.c index 924c38b64c..28669ade6e 100644 --- a/epan/dissectors/packet-lisp-data.c +++ b/epan/dissectors/packet-lisp-data.c @@ -290,9 +290,9 @@ proto_reg_handoff_lisp_data(void) lisp_data_handle = create_dissector_handle(dissect_lisp_data, proto_lisp_data); dissector_add_uint("udp.port", LISP_DATA_PORT, lisp_data_handle); - ipv4_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); - lisp_handle = find_dissector("lisp"); + ipv4_handle = find_dissector_add_dependency("ip", proto_lisp_data); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_lisp_data); + lisp_handle = find_dissector_add_dependency("lisp", proto_lisp_data); } /* diff --git a/epan/dissectors/packet-lisp.c b/epan/dissectors/packet-lisp.c index 681fbdcbd1..2ecde37a2a 100644 --- a/epan/dissectors/packet-lisp.c +++ b/epan/dissectors/packet-lisp.c @@ -3625,8 +3625,8 @@ void proto_reg_handoff_lisp(void) { dissector_add_uint("udp.port", LISP_CONTROL_PORT, lisp_handle); - ipv4_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); + ipv4_handle = find_dissector_add_dependency("ip", proto_lisp); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_lisp); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-llc.c b/epan/dissectors/packet-llc.c index 6cf7df684e..0a5365dee1 100644 --- a/epan/dissectors/packet-llc.c +++ b/epan/dissectors/packet-llc.c @@ -871,13 +871,13 @@ proto_reg_handoff_llc(void) * Get handles for the BPDU, Ethernet, FDDI, Token Ring and * Turbocell dissectors. */ - bpdu_handle = find_dissector("bpdu"); - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); - eth_withfcs_handle = find_dissector("eth_withfcs"); - fddi_handle = find_dissector("fddi"); - tr_handle = find_dissector("tr"); - turbo_handle = find_dissector("turbocell"); - mesh_handle = find_dissector("mesh"); + bpdu_handle = find_dissector_add_dependency("bpdu", proto_llc); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_llc); + eth_withfcs_handle = find_dissector_add_dependency("eth_withfcs", proto_llc); + fddi_handle = find_dissector_add_dependency("fddi", proto_llc); + tr_handle = find_dissector_add_dependency("tr", proto_llc); + turbo_handle = find_dissector_add_dependency("turbocell", proto_llc); + mesh_handle = find_dissector_add_dependency("mesh", proto_llc); data_handle = find_dissector("data"); /* diff --git a/epan/dissectors/packet-logcat.c b/epan/dissectors/packet-logcat.c index 0905dddba8..92279ccb58 100644 --- a/epan/dissectors/packet-logcat.c +++ b/epan/dissectors/packet-logcat.c @@ -305,7 +305,7 @@ proto_register_logcat(void) void proto_reg_handoff_logcat(void) { - data_text_lines_handle = find_dissector("data-text-lines"); + data_text_lines_handle = find_dissector_add_dependency("data-text-lines", proto_logcat); dissector_add_uint("wtap_encap", WTAP_ENCAP_LOGCAT, logcat_handle); diff --git a/epan/dissectors/packet-lpp.c b/epan/dissectors/packet-lpp.c index 59d3bb2c6f..f20fdf719e 100644 --- a/epan/dissectors/packet-lpp.c +++ b/epan/dissectors/packet-lpp.c @@ -17501,7 +17501,7 @@ void proto_register_lpp(void) { void proto_reg_handoff_lpp(void) { - lppe_handle = find_dissector("lppe"); + lppe_handle = find_dissector_add_dependency("lppe", proto_lpp); } diff --git a/epan/dissectors/packet-ltp.c b/epan/dissectors/packet-ltp.c index bc5382751a..d73f64f557 100644 --- a/epan/dissectors/packet-ltp.c +++ b/epan/dissectors/packet-ltp.c @@ -993,7 +993,7 @@ proto_reg_handoff_ltp(void) if (!initialized) { ltp_handle = create_dissector_handle(dissect_ltp, proto_ltp); - bundle_handle = find_dissector("bundle"); + bundle_handle = find_dissector_add_dependency("bundle", proto_ltp); initialized = TRUE; } else { dissector_delete_uint("udp.port", currentPort, ltp_handle); diff --git a/epan/dissectors/packet-lwapp.c b/epan/dissectors/packet-lwapp.c index 8737e86a7b..7e3c70fc97 100644 --- a/epan/dissectors/packet-lwapp.c +++ b/epan/dissectors/packet-lwapp.c @@ -543,9 +543,9 @@ proto_reg_handoff_lwapp(void) /* * Get handles for the Ethernet and wireless dissectors. */ - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); - wlan_handle = find_dissector("wlan_withoutfcs"); - wlan_bsfc_handle = find_dissector("wlan_bsfc"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_lwapp); + wlan_handle = find_dissector_add_dependency("wlan_withoutfcs", proto_lwapp); + wlan_bsfc_handle = find_dissector_add_dependency("wlan_bsfc", proto_lwapp); data_handle = find_dissector("data"); /* This dissector assumes lwapp packets in an 802.3 frame */ diff --git a/epan/dissectors/packet-m2pa.c b/epan/dissectors/packet-m2pa.c index fe650a0bd1..a9b343b0cd 100644 --- a/epan/dissectors/packet-m2pa.c +++ b/epan/dissectors/packet-m2pa.c @@ -594,7 +594,7 @@ proto_reg_handoff_m2pa(void) /* Port preferences code shamelessly copied from packet-beep.c */ if (!prefs_initialized) { m2pa_handle = find_dissector("m2pa"); - mtp3_handle = find_dissector("mtp3"); + mtp3_handle = find_dissector_add_dependency("mtp3", proto_m2pa); dissector_add_uint("sctp.ppi", M2PA_PAYLOAD_PROTOCOL_ID, m2pa_handle); diff --git a/epan/dissectors/packet-m2tp.c b/epan/dissectors/packet-m2tp.c index 80eea7567e..f00f08d189 100644 --- a/epan/dissectors/packet-m2tp.c +++ b/epan/dissectors/packet-m2tp.c @@ -655,7 +655,7 @@ void proto_reg_handoff_m2tp(void) { dissector_handle_t m2tp_handle; - mtp2_handle = find_dissector("mtp2"); + mtp2_handle = find_dissector_add_dependency("mtp2", proto_m2tp); m2tp_handle = create_dissector_handle(dissect_m2tp, proto_m2tp); dissector_add_uint("sctp.ppi", M2TP_PAYLOAD_PROTOCOL_ID, m2tp_handle); dissector_add_uint("sctp.port", SCTP_PORT_M2TP, m2tp_handle); diff --git a/epan/dissectors/packet-m2ua.c b/epan/dissectors/packet-m2ua.c index 78ee7fbea1..2b7ad32403 100644 --- a/epan/dissectors/packet-m2ua.c +++ b/epan/dissectors/packet-m2ua.c @@ -1142,7 +1142,7 @@ proto_reg_handoff_m2ua(void) { dissector_handle_t m2ua_handle; - mtp3_handle = find_dissector("mtp3"); + mtp3_handle = find_dissector_add_dependency("mtp3", proto_m2ua); m2ua_handle = create_dissector_handle(dissect_m2ua, proto_m2ua); dissector_add_uint("sctp.ppi", M2UA_PAYLOAD_PROTOCOL_ID, m2ua_handle); dissector_add_uint("sctp.port", SCTP_PORT_M2UA, m2ua_handle); diff --git a/epan/dissectors/packet-m3ua.c b/epan/dissectors/packet-m3ua.c index a29fb16912..ea1e356fcb 100644 --- a/epan/dissectors/packet-m3ua.c +++ b/epan/dissectors/packet-m3ua.c @@ -2153,7 +2153,7 @@ proto_reg_handoff_m3ua(void) /* * Get a handle for the MTP3 dissector. */ - mtp3_handle = find_dissector("mtp3"); + mtp3_handle = find_dissector_add_dependency("mtp3", proto_m3ua); data_handle = find_dissector("data"); m3ua_handle = find_dissector("m3ua"); dissector_add_uint("sctp.ppi", M3UA_PAYLOAD_PROTOCOL_ID, m3ua_handle); diff --git a/epan/dissectors/packet-mac-lte.c b/epan/dissectors/packet-mac-lte.c index 127ac02a40..84fca1037f 100644 --- a/epan/dissectors/packet-mac-lte.c +++ b/epan/dissectors/packet-mac-lte.c @@ -8737,14 +8737,14 @@ void proto_reg_handoff_mac_lte(void) /* Add as a heuristic UDP dissector */ heur_dissector_add("udp", dissect_mac_lte_heur, "MAC-LTE over UDP", "mac_lte_udp", proto_mac_lte, HEURISTIC_DISABLE); - rlc_lte_handle = find_dissector("rlc-lte"); - lte_rrc_bcch_dl_sch_handle = find_dissector("lte_rrc.bcch_dl_sch"); - lte_rrc_bcch_bch_handle = find_dissector("lte_rrc.bcch_bch"); - lte_rrc_pcch_handle = find_dissector("lte_rrc.pcch"); - lte_rrc_ul_ccch_handle = find_dissector("lte_rrc.ul_ccch"); - lte_rrc_dl_ccch_handle = find_dissector("lte_rrc.dl_ccch"); - lte_rrc_sbcch_sl_bch_handle = find_dissector("lte_rrc.sbcch_sl_bch"); - lte_rrc_sc_mcch_handle = find_dissector("lte_rrc.sc_mcch"); + rlc_lte_handle = find_dissector_add_dependency("rlc-lte", proto_mac_lte); + lte_rrc_bcch_dl_sch_handle = find_dissector_add_dependency("lte_rrc.bcch_dl_sch", proto_mac_lte); + lte_rrc_bcch_bch_handle = find_dissector_add_dependency("lte_rrc.bcch_bch", proto_mac_lte); + lte_rrc_pcch_handle = find_dissector_add_dependency("lte_rrc.pcch", proto_mac_lte); + lte_rrc_ul_ccch_handle = find_dissector_add_dependency("lte_rrc.ul_ccch", proto_mac_lte); + lte_rrc_dl_ccch_handle = find_dissector_add_dependency("lte_rrc.dl_ccch", proto_mac_lte); + lte_rrc_sbcch_sl_bch_handle = find_dissector_add_dependency("lte_rrc.sbcch_sl_bch", proto_mac_lte); + lte_rrc_sc_mcch_handle = find_dissector_add_dependency("lte_rrc.sc_mcch", proto_mac_lte); } /* diff --git a/epan/dissectors/packet-mbim.c b/epan/dissectors/packet-mbim.c index 35d19592bf..09a52c8a7d 100644 --- a/epan/dissectors/packet-mbim.c +++ b/epan/dissectors/packet-mbim.c @@ -8022,13 +8022,13 @@ proto_reg_handoff_mbim(void) if (!initialized) { dissector_handle_t mbim_decode_as_handle = create_dissector_handle(dissect_mbim_decode_as, proto_mbim); - bertlv_handle = find_dissector("gsm_sim.bertlv"); - etsi_cat_handle = find_dissector("etsi_cat"); - gsm_sms_handle = find_dissector("gsm_sms"); - cdma_sms_handle = find_dissector("ansi_637_trans"); - eth_handle = find_dissector("eth_withoutfcs"); - eth_fcs_handle = find_dissector("eth_withfcs"); - ip_handle = find_dissector("ip"); + bertlv_handle = find_dissector_add_dependency("gsm_sim.bertlv", proto_mbim); + etsi_cat_handle = find_dissector_add_dependency("etsi_cat", proto_mbim); + gsm_sms_handle = find_dissector_add_dependency("gsm_sms", proto_mbim); + cdma_sms_handle = find_dissector_add_dependency("ansi_637_trans", proto_mbim); + eth_handle = find_dissector_add_dependency("eth_withoutfcs", proto_mbim); + eth_fcs_handle = find_dissector_add_dependency("eth_withfcs", proto_mbim); + ip_handle = find_dissector_add_dependency("ip", proto_mbim); data_handle = find_dissector("data"); heur_dissector_add("usb.bulk", dissect_mbim_bulk_heur, "MBIM USB bulk endpoint", "mbim_usb_bulk", proto_mbim, HEURISTIC_ENABLE); dissector_add_for_decode_as("usb.device", mbim_decode_as_handle); diff --git a/epan/dissectors/packet-mdshdr.c b/epan/dissectors/packet-mdshdr.c index d8e9fe3dd5..9272d5670a 100644 --- a/epan/dissectors/packet-mdshdr.c +++ b/epan/dissectors/packet-mdshdr.c @@ -323,7 +323,7 @@ proto_reg_handoff_mdshdr(void) mdshdr_handle = create_dissector_handle(dissect_mdshdr, proto_mdshdr); dissector_add_uint("ethertype", ETHERTYPE_FCFT, mdshdr_handle); data_handle = find_dissector("data"); - fc_dissector_handle = find_dissector("fc"); + fc_dissector_handle = find_dissector_add_dependency("fc", proto_mdshdr); mdshdr_prefs_initialized = TRUE; } diff --git a/epan/dissectors/packet-megaco.c b/epan/dissectors/packet-megaco.c index 6963b9e178..df5e752c40 100644 --- a/epan/dissectors/packet-megaco.c +++ b/epan/dissectors/packet-megaco.c @@ -3834,10 +3834,10 @@ proto_reg_handoff_megaco(void) #endif if (!megaco_prefs_initialized) { - sdp_handle = find_dissector("sdp"); - h245_handle = find_dissector("h245dg"); - h248_handle = find_dissector("h248"); - h248_otp_handle = find_dissector("h248_otp"); + sdp_handle = find_dissector_add_dependency("sdp", proto_megaco); + h245_handle = find_dissector_add_dependency("h245dg", proto_megaco); + h248_handle = find_dissector_add_dependency("h248", proto_megaco); + h248_otp_handle = find_dissector_add_dependency("h248_otp", proto_megaco); data_handle = find_dissector("data"); megaco_text_handle = find_dissector("megaco"); diff --git a/epan/dissectors/packet-meta.c b/epan/dissectors/packet-meta.c index f0e093c189..76e3850666 100644 --- a/epan/dissectors/packet-meta.c +++ b/epan/dissectors/packet-meta.c @@ -810,14 +810,14 @@ proto_reg_handoff_meta(void) dissector_add_uint("wtap_encap", WTAP_ENCAP_META, meta_handle); #endif data_handle = find_dissector("data"); - alcap_handle = find_dissector("alcap"); - atm_untrunc_handle = find_dissector("atm_untruncated"); - nbap_handle = find_dissector("nbap"); - sscf_nni_handle = find_dissector("sscf-nni"); - ethwithfcs_handle = find_dissector("eth_withfcs"); - ethwithoutfcs_handle = find_dissector("eth_withoutfcs"); - fphint_handle = find_dissector("fp_hint"); - mtp2_handle = find_dissector("mtp2"); + alcap_handle = find_dissector_add_dependency("alcap", proto_meta); + atm_untrunc_handle = find_dissector_add_dependency("atm_untruncated", proto_meta); + nbap_handle = find_dissector_add_dependency("nbap", proto_meta); + sscf_nni_handle = find_dissector_add_dependency("sscf-nni", proto_meta); + ethwithfcs_handle = find_dissector_add_dependency("eth_withfcs", proto_meta); + ethwithoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_meta); + fphint_handle = find_dissector_add_dependency("fp_hint", proto_meta); + mtp2_handle = find_dissector_add_dependency("mtp2", proto_meta); } /* diff --git a/epan/dissectors/packet-mgcp.c b/epan/dissectors/packet-mgcp.c index 1e3c2f515c..a582d59c66 100644 --- a/epan/dissectors/packet-mgcp.c +++ b/epan/dissectors/packet-mgcp.c @@ -2376,7 +2376,7 @@ void proto_reg_handoff_mgcp(void) if (!mgcp_prefs_initialized) { /* Get a handle for the SDP dissector. */ - sdp_handle = find_dissector("sdp"); + sdp_handle = find_dissector_add_dependency("sdp", proto_mgcp); mgcp_tpkt_handle = create_dissector_handle(dissect_tpkt_mgcp, proto_mgcp); mgcp_prefs_initialized = TRUE; } diff --git a/epan/dissectors/packet-mint.c b/epan/dissectors/packet-mint.c index 5e5770b93e..8c3b34c68a 100644 --- a/epan/dissectors/packet-mint.c +++ b/epan/dissectors/packet-mint.c @@ -740,7 +740,7 @@ proto_reg_handoff_mint(void) dissector_add_uint("udp.port", PORT_MINT_DATA_TUNNEL, mint_data_handle); dissector_add_uint("ethertype", ETHERTYPE_MINT, mint_eth_handle); - eth_handle = find_dissector("eth_withoutfcs"); + eth_handle = find_dissector_add_dependency("eth_withoutfcs", hfi_mint->id); } /* diff --git a/epan/dissectors/packet-mip.c b/epan/dissectors/packet-mip.c index d25a013f13..5f61009bb0 100644 --- a/epan/dissectors/packet-mip.c +++ b/epan/dissectors/packet-mip.c @@ -1480,7 +1480,7 @@ proto_reg_handoff_mip(void) dissector_handle_t mip_handle; mip_handle = find_dissector("mip"); - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_mip); dissector_add_uint("udp.port", UDP_PORT_MIP, mip_handle); /* Register as dissector for 3GPP2 NVSE */ diff --git a/epan/dissectors/packet-mpls.c b/epan/dissectors/packet-mpls.c index 5d1cf705b3..f51b82a8f2 100644 --- a/epan/dissectors/packet-mpls.c +++ b/epan/dissectors/packet-mpls.c @@ -651,9 +651,9 @@ proto_reg_handoff_mpls(void) dissector_add_uint( "mpls.label", MPLS_LABEL_INVALID, mpls_pwcw_handle ); dissector_data = find_dissector("data"); - dissector_ipv6 = find_dissector("ipv6"); - dissector_ip = find_dissector("ip"); - dissector_pw_eth_heuristic = find_dissector("pw_eth_heuristic"); + dissector_ipv6 = find_dissector_add_dependency("ipv6", proto_pw_mcw ); + dissector_ip = find_dissector_add_dependency("ip", proto_pw_mcw ); + dissector_pw_eth_heuristic = find_dissector_add_dependency("pw_eth_heuristic", proto_pw_mcw); dissector_pw_ach = create_dissector_handle(dissect_pw_ach, proto_pw_ach ); } diff --git a/epan/dissectors/packet-msdp.c b/epan/dissectors/packet-msdp.c index 604118d7c1..9a76c31d28 100644 --- a/epan/dissectors/packet-msdp.c +++ b/epan/dissectors/packet-msdp.c @@ -588,7 +588,7 @@ proto_reg_handoff_msdp(void) msdp_handle = create_dissector_handle(dissect_msdp, proto_msdp); dissector_add_uint("tcp.port", 639, msdp_handle); - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_msdp); } /* diff --git a/epan/dissectors/packet-mtp2.c b/epan/dissectors/packet-mtp2.c index 447e2475ba..76fb4be073 100644 --- a/epan/dissectors/packet-mtp2.c +++ b/epan/dissectors/packet-mtp2.c @@ -442,7 +442,7 @@ proto_reg_handoff_mtp2(void) dissector_add_uint("wtap_encap", WTAP_ENCAP_MTP2_WITH_PHDR, mtp2_with_phdr_handle); - mtp3_handle = find_dissector("mtp3"); + mtp3_handle = find_dissector_add_dependency("mtp3", proto_mtp2); } /* diff --git a/epan/dissectors/packet-multipart.c b/epan/dissectors/packet-multipart.c index 3870b6f677..aa9da5975d 100644 --- a/epan/dissectors/packet-multipart.c +++ b/epan/dissectors/packet-multipart.c @@ -1198,8 +1198,8 @@ proto_reg_handoff_multipart(void) * When there is no dissector for the given media, call the media dissector. */ data_handle = find_dissector("data"); - media_handle = find_dissector("media"); - gssapi_handle = find_dissector("gssapi"); + media_handle = find_dissector_add_dependency("media", proto_multipart); + gssapi_handle = find_dissector_add_dependency("gssapi", proto_multipart); /* * Get the content type and Internet media type table diff --git a/epan/dissectors/packet-mux27010.c b/epan/dissectors/packet-mux27010.c index 4460b93799..8ac557783f 100644 --- a/epan/dissectors/packet-mux27010.c +++ b/epan/dissectors/packet-mux27010.c @@ -1440,7 +1440,7 @@ proto_reg_handoff_mux27010(void) /*Initialization of dissector*/ dissector_add_uint("wtap_encap", WTAP_ENCAP_MUX27010, mux27010_handle); - ppp_handle = find_dissector("ppp"); + ppp_handle = find_dissector_add_dependency("ppp", proto_mux27010); } diff --git a/epan/dissectors/packet-nas_eps.c b/epan/dissectors/packet-nas_eps.c index 4021b93eef..2ab60b0bcd 100644 --- a/epan/dissectors/packet-nas_eps.c +++ b/epan/dissectors/packet-nas_eps.c @@ -6046,8 +6046,8 @@ proto_register_nas_eps(void) void proto_reg_handoff_nas_eps(void) { - gsm_a_dtap_handle = find_dissector("gsm_a_dtap"); - lpp_handle = find_dissector("lpp"); + gsm_a_dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_nas_eps); + lpp_handle = find_dissector_add_dependency("lpp", proto_nas_eps); } /* diff --git a/epan/dissectors/packet-nasdaq-soup.c b/epan/dissectors/packet-nasdaq-soup.c index 1062785580..2645ab0d52 100644 --- a/epan/dissectors/packet-nasdaq-soup.c +++ b/epan/dissectors/packet-nasdaq-soup.c @@ -291,7 +291,7 @@ void proto_reg_handoff_nasdaq_soup(void) { nasdaq_soup_handle = create_dissector_handle(dissect_nasdaq_soup, proto_nasdaq_soup); - nasdaq_itch_handle = find_dissector("nasdaq-itch"); + nasdaq_itch_handle = find_dissector_add_dependency("nasdaq-itch", proto_nasdaq_soup); dissector_add_for_decode_as("tcp.port", nasdaq_soup_handle); } diff --git a/epan/dissectors/packet-nb_rtpmux.c b/epan/dissectors/packet-nb_rtpmux.c index c1a2ba18f1..a378f4a6fd 100644 --- a/epan/dissectors/packet-nb_rtpmux.c +++ b/epan/dissectors/packet-nb_rtpmux.c @@ -299,7 +299,7 @@ proto_reg_handoff_nb_rtpmux(void) /* Allow 'decode-as' for UDP ports */ dissector_add_for_decode_as("udp.port", nb_rtpmux_handle); - rtpdissector = find_dissector("rtp"); + rtpdissector = find_dissector_add_dependency("rtp", proto_nb_rtpmux); } /* diff --git a/epan/dissectors/packet-netanalyzer.c b/epan/dissectors/packet-netanalyzer.c index b9c471cffa..cb515276d4 100644 --- a/epan/dissectors/packet-netanalyzer.c +++ b/epan/dissectors/packet-netanalyzer.c @@ -461,7 +461,7 @@ void proto_reg_handoff_netanalyzer(void) dissector_handle_t netana_handle; dissector_handle_t netana_handle_transparent; - eth_dissector_handle = find_dissector("eth_withfcs"); + eth_dissector_handle = find_dissector_add_dependency("eth_withfcs", proto_netanalyzer); data_dissector_handle = find_dissector("data"); netana_handle = create_dissector_handle(dissect_netanalyzer, proto_netanalyzer); diff --git a/epan/dissectors/packet-netlink-netfilter.c b/epan/dissectors/packet-netlink-netfilter.c index 3752b77ea9..2421b32066 100644 --- a/epan/dissectors/packet-netlink-netfilter.c +++ b/epan/dissectors/packet-netlink-netfilter.c @@ -229,7 +229,7 @@ proto_reg_handoff_netlink_netfilter(void) { dissector_add_uint("netlink.protocol", WS_NETLINK_NETFILTER, netlink_netfilter); - nflog_handle = find_dissector("nflog"); + nflog_handle = find_dissector_add_dependency("nflog", hfi_netlink_netfilter->id); } /* diff --git a/epan/dissectors/packet-netrom.c b/epan/dissectors/packet-netrom.c index 80cead4433..79a8426486 100644 --- a/epan/dissectors/packet-netrom.c +++ b/epan/dissectors/packet-netrom.c @@ -619,7 +619,7 @@ proto_reg_handoff_netrom(void) dissector_add_uint( "ax25.pid", AX25_P_NETROM, create_dissector_handle( dissect_netrom, proto_netrom ) ); register_capture_dissector("ax25.pid", AX25_P_NETROM, capture_netrom, proto_netrom); - ip_handle = find_dissector( "ip" ); + ip_handle = find_dissector_add_dependency( "ip", proto_netrom ); data_handle = find_dissector( "data" ); } diff --git a/epan/dissectors/packet-nettl.c b/epan/dissectors/packet-nettl.c index ca60a9b53d..75d74a8fcf 100644 --- a/epan/dissectors/packet-nettl.c +++ b/epan/dissectors/packet-nettl.c @@ -342,13 +342,13 @@ proto_reg_handoff_nettl(void) /* * Get handles for various dissectors and dissector tables. */ - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); - tr_handle = find_dissector("tr"); - fddi_bitswapped_handle = find_dissector("fddi_bitswapped"); - lapb_handle = find_dissector("lapb"); - x25_handle = find_dissector("x.25"); - sctp_handle = find_dissector("sctp"); - raw_ip_handle = find_dissector("raw_ip"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_nettl); + tr_handle = find_dissector_add_dependency("tr", proto_nettl); + fddi_bitswapped_handle = find_dissector_add_dependency("fddi_bitswapped", proto_nettl); + lapb_handle = find_dissector_add_dependency("lapb", proto_nettl); + x25_handle = find_dissector_add_dependency("x.25", proto_nettl); + sctp_handle = find_dissector_add_dependency("sctp", proto_nettl); + raw_ip_handle = find_dissector_add_dependency("raw_ip", proto_nettl); data_handle = find_dissector("data"); ip_proto_dissector_table = find_dissector_table("ip.proto"); tcp_subdissector_table = find_dissector_table("tcp.port"); diff --git a/epan/dissectors/packet-nflog.c b/epan/dissectors/packet-nflog.c index ef62ed6e65..589973ab50 100644 --- a/epan/dissectors/packet-nflog.c +++ b/epan/dissectors/packet-nflog.c @@ -297,8 +297,8 @@ proto_reg_handoff_nflog(void) { dissector_handle_t nflog_handle; - ip_handle = find_dissector("ip"); - ip6_handle = find_dissector("ipv6"); + ip_handle = find_dissector_add_dependency("ip", hfi_nflog->id); + ip6_handle = find_dissector_add_dependency("ipv6", hfi_nflog->id); data_handle = find_dissector("data"); nflog_handle = find_dissector("nflog"); diff --git a/epan/dissectors/packet-nsh.c b/epan/dissectors/packet-nsh.c index 590ac61020..e52668c1f0 100644 --- a/epan/dissectors/packet-nsh.c +++ b/epan/dissectors/packet-nsh.c @@ -361,9 +361,9 @@ proto_reg_handoff_nsh(void) nsh_handle = create_dissector_handle(dissect_nsh, proto_nsh); dissector_add_uint("gre.proto", ETHERTYPE_NSH, nsh_handle); - dissector_ip = find_dissector("ip"); - dissector_ipv6 = find_dissector("ipv6"); - dissector_eth = find_dissector("eth_maybefcs"); + dissector_ip = find_dissector_add_dependency("ip", proto_nsh); + dissector_ipv6 = find_dissector_add_dependency("ipv6", proto_nsh); + dissector_eth = find_dissector_add_dependency("eth_maybefcs", proto_nsh); } diff --git a/epan/dissectors/packet-nsip.c b/epan/dissectors/packet-nsip.c index ac697ad508..93b9ce68a5 100644 --- a/epan/dissectors/packet-nsip.c +++ b/epan/dissectors/packet-nsip.c @@ -1169,8 +1169,8 @@ proto_reg_handoff_nsip(void) { static range_t *nsip_udp_port_range; if (!nsip_prefs_initialized) { - nsip_handle = find_dissector("gprs_ns"); - bssgp_handle = find_dissector("bssgp"); + nsip_handle = find_dissector_add_dependency("gprs_ns", proto_nsip); + bssgp_handle = find_dissector_add_dependency("bssgp", proto_nsip); nsip_prefs_initialized = TRUE; } else { dissector_delete_uint_range("udp.port", nsip_udp_port_range, nsip_handle); diff --git a/epan/dissectors/packet-nstrace.c b/epan/dissectors/packet-nstrace.c index ce82163fe6..1d06450a4e 100644 --- a/epan/dissectors/packet-nstrace.c +++ b/epan/dissectors/packet-nstrace.c @@ -388,6 +388,8 @@ static const value_string ns_httpabortcode_vals[] = { }; static dissector_handle_t eth_withoutfcs_handle; +static dissector_handle_t http_handle; + void add35records(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree *ns_tree); @@ -605,10 +607,8 @@ void add35records(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tre case NSREC_HTTP: /* Call HTTP dissector */ { - dissector_handle_t http_handle; tvbuff_t *next_tvb_http_client; morerecs=0; - http_handle = find_dissector("http"); next_tvb_http_client = tvb_new_subset_remaining(tvb, offset); call_dissector(http_handle, next_tvb_http_client, pinfo, tree); } @@ -1139,7 +1139,8 @@ void proto_reg_handoff_ns(void) { dissector_handle_t nstrace_handle; - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_nstrace); + http_handle = find_dissector_add_dependency("http", proto_nstrace); nstrace_handle = create_dissector_handle(dissect_nstrace, proto_nstrace); dissector_add_uint("wtap_encap", WTAP_ENCAP_NSTRACE_1_0, nstrace_handle); diff --git a/epan/dissectors/packet-null.c b/epan/dissectors/packet-null.c index 0c2ce19424..277bc20255 100644 --- a/epan/dissectors/packet-null.c +++ b/epan/dissectors/packet-null.c @@ -538,7 +538,7 @@ proto_reg_handoff_null(void) * Get a handle for the PPP-in-HDLC-like-framing dissector and * the "I don't know what this is" dissector. */ - ppp_hdlc_handle = find_dissector("ppp_hdlc"); + ppp_hdlc_handle = find_dissector_add_dependency("ppp_hdlc", proto_null); data_handle = find_dissector("data"); ethertype_dissector_table = find_dissector_table("ethertype"); diff --git a/epan/dissectors/packet-nwmtp.c b/epan/dissectors/packet-nwmtp.c index 082c4b4dbd..c42386ca27 100644 --- a/epan/dissectors/packet-nwmtp.c +++ b/epan/dissectors/packet-nwmtp.c @@ -164,7 +164,7 @@ void proto_register_mwmtp(void) void proto_reg_handoff_nwmtp(void) { dissector_add_for_decode_as("udp.port", nwmtp_handle); - mtp_handle = find_dissector("mtp3"); + mtp_handle = find_dissector_add_dependency("mtp3", proto_nwmtp); } /* diff --git a/epan/dissectors/packet-obex.c b/epan/dissectors/packet-obex.c index 59c0664a73..52f8ce7bf5 100644 --- a/epan/dissectors/packet-obex.c +++ b/epan/dissectors/packet-obex.c @@ -3887,8 +3887,8 @@ proto_reg_handoff_obex(void) dissector_add_string("bluetooth.uuid", "1133", obex_handle); dissector_add_string("bluetooth.uuid", "1134", obex_handle); - http_handle = find_dissector("http"); - xml_handle = find_dissector("xml"); + http_handle = find_dissector_add_dependency("http", proto_obex); + xml_handle = find_dissector_add_dependency("xml", proto_obex); data_handle = find_dissector("data"); data_text_lines_handle = find_dissector("data-text-lines"); diff --git a/epan/dissectors/packet-openflow.c b/epan/dissectors/packet-openflow.c index 9328616bbf..825fa473f6 100644 --- a/epan/dissectors/packet-openflow.c +++ b/epan/dissectors/packet-openflow.c @@ -201,9 +201,9 @@ proto_reg_handoff_openflow(void) dissector_add_uint("tcp.port", currentPort, openflow_handle); - openflow_v1_handle = find_dissector("openflow_v1"); - openflow_v4_handle = find_dissector("openflow_v4"); - openflow_v5_handle = find_dissector("openflow_v5"); + openflow_v1_handle = find_dissector_add_dependency("openflow_v1", proto_openflow); + openflow_v4_handle = find_dissector_add_dependency("openflow_v4", proto_openflow); + openflow_v5_handle = find_dissector_add_dependency("openflow_v5", proto_openflow); } /* diff --git a/epan/dissectors/packet-openflow_v1.c b/epan/dissectors/packet-openflow_v1.c index 32929defe0..d77776a9ec 100644 --- a/epan/dissectors/packet-openflow_v1.c +++ b/epan/dissectors/packet-openflow_v1.c @@ -30,6 +30,7 @@ #include void proto_register_openflow_v1(void); +void proto_reg_handoff_openflow_v1(void); static dissector_handle_t eth_withoutfcs_handle; @@ -1452,8 +1453,6 @@ proto_register_openflow_v1(void) register_dissector("openflow_v1", dissect_openflow_v1, proto_openflow_v1); - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); - /* Required function calls to register the header fields and subtrees */ proto_register_field_array(proto_openflow_v1, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -1461,6 +1460,12 @@ proto_register_openflow_v1(void) expert_register_field_array(expert_openflow_v1, ei, array_length(ei)); } +void +proto_reg_handoff_openflow_v1(void) +{ + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_openflow_v1); +} + /* * Editor modelines - http://www.wireshark.org/tools/modelines.html * diff --git a/epan/dissectors/packet-openflow_v4.c b/epan/dissectors/packet-openflow_v4.c index cb525a7a0a..97efeb322e 100644 --- a/epan/dissectors/packet-openflow_v4.c +++ b/epan/dissectors/packet-openflow_v4.c @@ -32,6 +32,7 @@ #include void proto_register_openflow_v4(void); +void proto_reg_handoff_openflow_v4(void); static dissector_handle_t eth_withoutfcs_handle; @@ -7866,8 +7867,6 @@ proto_register_openflow_v4(void) register_dissector("openflow_v4", dissect_openflow_v4, proto_openflow_v4); - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); - /* Required function calls to register the header fields and subtrees */ proto_register_field_array(proto_openflow_v4, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -7875,6 +7874,12 @@ proto_register_openflow_v4(void) expert_register_field_array(expert_openflow_v4, ei, array_length(ei)); } +void +proto_reg_handoff_openflow_v4(void) +{ + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_openflow_v4); +} + /* * Editor modelines - http://www.wireshark.org/tools/modelines.html * diff --git a/epan/dissectors/packet-openflow_v5.c b/epan/dissectors/packet-openflow_v5.c index 7e12a42eab..b9a4e5a04b 100644 --- a/epan/dissectors/packet-openflow_v5.c +++ b/epan/dissectors/packet-openflow_v5.c @@ -32,6 +32,7 @@ #include void proto_register_openflow_v5(void); +void proto_reg_handoff_openflow_v5(void); static dissector_handle_t eth_withoutfcs_handle; @@ -9818,8 +9819,6 @@ proto_register_openflow_v5(void) register_dissector("openflow_v5", dissect_openflow_v5, proto_openflow_v5); - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); - /* Required function calls to register the header fields and subtrees */ proto_register_field_array(proto_openflow_v5, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -9827,6 +9826,12 @@ proto_register_openflow_v5(void) expert_register_field_array(expert_openflow_v5, ei, array_length(ei)); } +void +proto_reg_handoff_openflow_v5(void) +{ + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_openflow_v5); +} + /* * Editor modelines - http://www.wireshark.org/tools/modelines.html * diff --git a/epan/dissectors/packet-openvpn.c b/epan/dissectors/packet-openvpn.c index efc0fec8e7..b3781674df 100644 --- a/epan/dissectors/packet-openvpn.c +++ b/epan/dissectors/packet-openvpn.c @@ -666,7 +666,7 @@ proto_reg_handoff_openvpn(void) static gboolean initialized = FALSE; if (! initialized) { - ssl_handle = find_dissector("ssl"); + ssl_handle = find_dissector_add_dependency("ssl", proto_openvpn); initialized = TRUE; } else { if (tcp_port > 0) diff --git a/epan/dissectors/packet-pana.c b/epan/dissectors/packet-pana.c index b17f3d5af2..b06cde6bef 100644 --- a/epan/dissectors/packet-pana.c +++ b/epan/dissectors/packet-pana.c @@ -892,7 +892,7 @@ proto_reg_handoff_pana(void) pana_handle = create_dissector_handle(dissect_pana, proto_pana); dissector_add_for_decode_as("udp.port", pana_handle); - eap_handle = find_dissector("eap"); + eap_handle = find_dissector_add_dependency("eap", proto_pana); } diff --git a/epan/dissectors/packet-pdc.c b/epan/dissectors/packet-pdc.c index 76aa99f63a..eba89fab7a 100644 --- a/epan/dissectors/packet-pdc.c +++ b/epan/dissectors/packet-pdc.c @@ -596,7 +596,7 @@ void proto_reg_handoff_pdc(void) if (! initialized) { - asterix_handle = find_dissector("asterix"); + asterix_handle = find_dissector_add_dependency("asterix", proto_pdc); pdc_tcp_handle = create_dissector_handle(tcp_dissect_pdc, proto_pdc); dissector_add_for_decode_as("tcp.port", pdc_tcp_handle); initialized = TRUE; diff --git a/epan/dissectors/packet-pdcp-lte.c b/epan/dissectors/packet-pdcp-lte.c index 854cd36a3b..e9dc58d885 100644 --- a/epan/dissectors/packet-pdcp-lte.c +++ b/epan/dissectors/packet-pdcp-lte.c @@ -2781,9 +2781,9 @@ void proto_reg_handoff_pdcp_lte(void) /* Add as a heuristic UDP dissector */ heur_dissector_add("udp", dissect_pdcp_lte_heur, "PDCP-LTE over UDP", "pdcp_lte_udp", proto_pdcp_lte, HEURISTIC_DISABLE); - ip_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); - rohc_handle = find_dissector("rohc"); + ip_handle = find_dissector_add_dependency("ip", proto_pdcp_lte); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_pdcp_lte); + rohc_handle = find_dissector_add_dependency("rohc", proto_pdcp_lte); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-peekremote.c b/epan/dissectors/packet-peekremote.c index 36e988125d..d497582b62 100644 --- a/epan/dissectors/packet-peekremote.c +++ b/epan/dissectors/packet-peekremote.c @@ -686,7 +686,7 @@ proto_register_peekremote(void) void proto_reg_handoff_peekremote(void) { - wlan_radio_handle = find_dissector("wlan_radio"); + wlan_radio_handle = find_dissector_add_dependency("wlan_radio", proto_peekremote); dissector_add_uint("udp.port", 5000, peekremote_handle); diff --git a/epan/dissectors/packet-pflog.c b/epan/dissectors/packet-pflog.c index f26a44b15d..21bc61b941 100644 --- a/epan/dissectors/packet-pflog.c +++ b/epan/dissectors/packet-pflog.c @@ -414,8 +414,8 @@ proto_reg_handoff_pflog(void) { dissector_handle_t pflog_handle; - ip_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); + ip_handle = find_dissector_add_dependency("ip", proto_pflog); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_pflog); data_handle = find_dissector("data"); pflog_handle = create_dissector_handle(dissect_pflog, proto_pflog); diff --git a/epan/dissectors/packet-pim.c b/epan/dissectors/packet-pim.c index 920b3baefb..9c9a7d2f23 100644 --- a/epan/dissectors/packet-pim.c +++ b/epan/dissectors/packet-pim.c @@ -1871,8 +1871,8 @@ proto_reg_handoff_pim(void) /* * Get handles for the IPv4 and IPv6 dissectors. */ - ip_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); + ip_handle = find_dissector_add_dependency("ip", proto_pim); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_pim); } /* diff --git a/epan/dissectors/packet-pktap.c b/epan/dissectors/packet-pktap.c index dcc82abe1f..a886f8e9d1 100644 --- a/epan/dissectors/packet-pktap.c +++ b/epan/dissectors/packet-pktap.c @@ -276,7 +276,7 @@ proto_reg_handoff_pktap(void) { dissector_add_uint("wtap_encap", WTAP_ENCAP_PKTAP, pktap_handle); - pcap_pktdata_handle = find_dissector("pcap_pktdata"); + pcap_pktdata_handle = find_dissector_add_dependency("pcap_pktdata", proto_pktap); /* XXX - WTAP_ENCAP_USER2 to handle Mavericks' botch wherein it uses DLT_USER2 for PKTAP; if you are using DLT_USER2 for your diff --git a/epan/dissectors/packet-pmproxy.c b/epan/dissectors/packet-pmproxy.c index 3d956714e6..615ffa2256 100644 --- a/epan/dissectors/packet-pmproxy.c +++ b/epan/dissectors/packet-pmproxy.c @@ -256,7 +256,7 @@ void proto_register_pmproxy(void) { void proto_reg_handoff_pmproxy(void) { pmproxy_handle = create_dissector_handle(dissect_pmproxy, proto_pmproxy); - pcp_handle = find_dissector("pcp"); + pcp_handle = find_dissector_add_dependency("pcp", proto_pmproxy); dissector_add_uint("tcp.port", PMPROXY_PORT, pmproxy_handle); diff --git a/epan/dissectors/packet-pop.c b/epan/dissectors/packet-pop.c index adce23484e..eb457be21f 100644 --- a/epan/dissectors/packet-pop.c +++ b/epan/dissectors/packet-pop.c @@ -475,10 +475,10 @@ proto_reg_handoff_pop(void) data_handle = find_dissector("data"); /* find the IMF dissector */ - imf_handle = find_dissector("imf"); + imf_handle = find_dissector_add_dependency("imf", proto_pop); /* find the SSL dissector */ - ssl_handle = find_dissector("ssl"); + ssl_handle = find_dissector_add_dependency("ssl", proto_pop); } /* diff --git a/epan/dissectors/packet-ppcap.c b/epan/dissectors/packet-ppcap.c index ef0d8b1d73..d736449089 100644 --- a/epan/dissectors/packet-ppcap.c +++ b/epan/dissectors/packet-ppcap.c @@ -688,16 +688,16 @@ module_t *ppcap_module; void proto_reg_handoff_ppcap(void) { - ppcap_handle = find_dissector("ppcap"); - mtp3_handle = find_dissector("mtp3"); /* calling the protocol MTP3 */ - tcap_handle = find_dissector("tcap"); /* calling the protocol TCAP */ - bssap_handle = find_dissector("bssap"); /* calling the protocol BSSAP */ - ranap_handle = find_dissector("ranap"); /* calling the protocol RANAP */ - h248_handle = find_dissector("h248"); /* calling the protocol H248 */ - sip_handle = find_dissector("sip"); /* calling the protocol SIP */ - sccp_handle = find_dissector("sccp"); /* calling the protocol SCCP */ - sgsap_handle = find_dissector("sgsap"); /* calling the protocol SGSAP */ - gtpv2_handle = find_dissector("gtpv2"); /* calling the protocol GTPv2 */ + ppcap_handle = find_dissector_add_dependency("ppcap", proto_ppcap); + mtp3_handle = find_dissector_add_dependency("mtp3", proto_ppcap); /* calling the protocol MTP3 */ + tcap_handle = find_dissector_add_dependency("tcap", proto_ppcap); /* calling the protocol TCAP */ + bssap_handle = find_dissector_add_dependency("bssap", proto_ppcap); /* calling the protocol BSSAP */ + ranap_handle = find_dissector_add_dependency("ranap", proto_ppcap); /* calling the protocol RANAP */ + h248_handle = find_dissector_add_dependency("h248", proto_ppcap); /* calling the protocol H248 */ + sip_handle = find_dissector_add_dependency("sip", proto_ppcap); /* calling the protocol SIP */ + sccp_handle = find_dissector_add_dependency("sccp", proto_ppcap); /* calling the protocol SCCP */ + sgsap_handle = find_dissector_add_dependency("sgsap", proto_ppcap); /* calling the protocol SGSAP */ + gtpv2_handle = find_dissector_add_dependency("gtpv2", proto_ppcap); /* calling the protocol GTPv2 */ data_handle = find_dissector("data"); /* calling the protocol DATA */ sccp_ssn_dissector_table = find_dissector_table("sccp.ssn"); diff --git a/epan/dissectors/packet-ppi.c b/epan/dissectors/packet-ppi.c index 8dc8d69f76..9dba8bc99b 100644 --- a/epan/dissectors/packet-ppi.c +++ b/epan/dissectors/packet-ppi.c @@ -1499,13 +1499,13 @@ void proto_reg_handoff_ppi(void) { data_handle = find_dissector("data"); - ieee80211_radio_handle = find_dissector("wlan_radio"); - pcap_pktdata_handle = find_dissector("pcap_pktdata"); - ppi_gps_handle = find_dissector("ppi_gps"); - ppi_vector_handle = find_dissector("ppi_vector"); - ppi_sensor_handle = find_dissector("ppi_sensor"); - ppi_antenna_handle = find_dissector("ppi_antenna"); - ppi_fnet_handle = find_dissector("ppi_fnet"); + ieee80211_radio_handle = find_dissector_add_dependency("wlan_radio", proto_ppi); + pcap_pktdata_handle = find_dissector_add_dependency("pcap_pktdata", proto_ppi); + ppi_gps_handle = find_dissector_add_dependency("ppi_gps", proto_ppi); + ppi_vector_handle = find_dissector_add_dependency("ppi_vector", proto_ppi); + ppi_sensor_handle = find_dissector_add_dependency("ppi_sensor", proto_ppi); + ppi_antenna_handle = find_dissector_add_dependency("ppi_antenna", proto_ppi); + ppi_fnet_handle = find_dissector_add_dependency("ppi_fnet", proto_ppi); dissector_add_uint("wtap_encap", WTAP_ENCAP_PPI, ppi_handle); register_capture_dissector("wtap_encap", WTAP_ENCAP_PPI, capture_ppi, proto_ppi); diff --git a/epan/dissectors/packet-ppp.c b/epan/dissectors/packet-ppp.c index 8940e38bbc..6c796dbdf3 100644 --- a/epan/dissectors/packet-ppp.c +++ b/epan/dissectors/packet-ppp.c @@ -5964,7 +5964,7 @@ proto_reg_handoff_ppp(void) /* * Get a handle for the CHDLC dissector. */ - chdlc_handle = find_dissector("chdlc"); + chdlc_handle = find_dissector_add_dependency("chdlc", proto_ppp); data_handle = find_dissector("data"); ppp_handle = find_dissector("ppp"); @@ -6603,8 +6603,8 @@ proto_reg_handoff_bcp_bpdu(void) { dissector_handle_t bcp_bpdu_handle; - eth_withfcs_handle = find_dissector("eth_withfcs"); - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + eth_withfcs_handle = find_dissector_add_dependency("eth_withfcs", proto_bcp_bpdu); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_bcp_bpdu); bcp_bpdu_handle = create_dissector_handle(dissect_bcp_bpdu, proto_bcp_bpdu); diff --git a/epan/dissectors/packet-pppoe.c b/epan/dissectors/packet-pppoe.c index ac3dbe538c..f13391a2ad 100644 --- a/epan/dissectors/packet-pppoe.c +++ b/epan/dissectors/packet-pppoe.c @@ -1296,7 +1296,7 @@ void proto_reg_handoff_pppoes(void) dissector_add_uint("wtap_encap", WTAP_ENCAP_PPP_ETHER, pppoes_handle); /* Get a handle for the PPP dissector */ - ppp_handle = find_dissector("ppp"); + ppp_handle = find_dissector_add_dependency("ppp", proto_pppoes); } /* diff --git a/epan/dissectors/packet-pw-cesopsn.c b/epan/dissectors/packet-pw-cesopsn.c index 2f5737843a..8d347d25e2 100644 --- a/epan/dissectors/packet-pw-cesopsn.c +++ b/epan/dissectors/packet-pw-cesopsn.c @@ -453,7 +453,7 @@ void proto_reg_handoff_pw_cesopsn(void) dissector_handle_t pw_cesopsn_mpls_handle; data_handle = find_dissector("data"); - pw_padding_handle = find_dissector("pw_padding"); + pw_padding_handle = find_dissector_add_dependency("pw_padding", proto); /* For Decode As */ pw_cesopsn_mpls_handle = create_dissector_handle( dissect_pw_cesopsn_mpls, proto ); diff --git a/epan/dissectors/packet-pw-eth.c b/epan/dissectors/packet-pw-eth.c index 247edcc1b9..04057d3cbb 100644 --- a/epan/dissectors/packet-pw-eth.c +++ b/epan/dissectors/packet-pw-eth.c @@ -201,7 +201,7 @@ proto_reg_handoff_pw_eth(void) { dissector_handle_t pw_eth_handle_heuristic; - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_pw_eth_cw); pw_eth_handle_cw = create_dissector_handle( dissect_pw_eth_cw, proto_pw_eth_cw ); dissector_add_for_decode_as("mpls.label", pw_eth_handle_cw); diff --git a/epan/dissectors/packet-pw-fr.c b/epan/dissectors/packet-pw-fr.c index db2089c3ca..b7134f9878 100644 --- a/epan/dissectors/packet-pw-fr.c +++ b/epan/dissectors/packet-pw-fr.c @@ -316,7 +316,7 @@ proto_reg_handoff_pw_fr(void) pw_fr_mpls_handle = create_dissector_handle( dissect_pw_fr, proto_encaps ); dissector_add_for_decode_as("mpls.label", pw_fr_mpls_handle); - fr_stripped_address_handle = find_dissector("fr_stripped_address"); + fr_stripped_address_handle = find_dissector_add_dependency("fr_stripped_address", proto_encaps); } /* diff --git a/epan/dissectors/packet-pw-hdlc.c b/epan/dissectors/packet-pw-hdlc.c index e0c1776641..d323b7c328 100644 --- a/epan/dissectors/packet-pw-hdlc.c +++ b/epan/dissectors/packet-pw-hdlc.c @@ -230,8 +230,8 @@ void proto_reg_handoff_pw_hdlc(void) pw_ppp_handle = create_dissector_handle( dissect_pw_hdlc_nocw_hdlc_ppp, proto_pw_hdlc_nocw_hdlc_ppp ); dissector_add_for_decode_as( "mpls.label", pw_ppp_handle ); - ppp_handle = find_dissector( "ppp" ); - fr_handle = find_dissector( "fr" ); + ppp_handle = find_dissector_add_dependency( "ppp", proto_pw_hdlc_nocw_hdlc_ppp ); + fr_handle = find_dissector_add_dependency( "fr", proto_pw_hdlc_nocw_fr ); } /* diff --git a/epan/dissectors/packet-pw-satop.c b/epan/dissectors/packet-pw-satop.c index b35533f673..db676a35c5 100644 --- a/epan/dissectors/packet-pw-satop.c +++ b/epan/dissectors/packet-pw-satop.c @@ -469,7 +469,7 @@ void proto_reg_handoff_pw_satop(void) dissector_handle_t pw_satop_mpls_handle; data_handle = find_dissector("data"); - pw_padding_handle = find_dissector("pw_padding"); + pw_padding_handle = find_dissector_add_dependency("pw_padding", proto); /* For Decode As */ pw_satop_mpls_handle = create_dissector_handle( dissect_pw_satop_mpls, proto ); diff --git a/epan/dissectors/packet-q931.c b/epan/dissectors/packet-q931.c index fbe317b3f4..412b9608b3 100644 --- a/epan/dissectors/packet-q931.c +++ b/epan/dissectors/packet-q931.c @@ -4010,7 +4010,7 @@ proto_reg_handoff_q931(void) * dissect putatively-H.255 Call Signaling stuff as User * Information. */ - h225_handle = find_dissector("h225"); + h225_handle = find_dissector_add_dependency("h225", proto_q931); data_handle = find_dissector("data"); diff --git a/epan/dissectors/packet-q932.c b/epan/dissectors/packet-q932.c index 92a748e031..054864a439 100644 --- a/epan/dissectors/packet-q932.c +++ b/epan/dissectors/packet-q932.c @@ -1128,7 +1128,7 @@ void proto_reg_handoff_q932(void) { dissector_add_uint("q931.ie", (0x00 << 8) | Q932_IE_FACILITY, q932_ie_handle); /* Notification indicator */ dissector_add_uint("q931.ie", (0x00 << 8) | Q932_IE_NOTIFICATION_INDICATOR, q932_ie_handle); - q932_ros_handle = find_dissector("q932.ros"); + q932_ros_handle = find_dissector_add_dependency("q932.ros", proto_q932); } if(g_facility_encoding == FACILITY_QSIG){ diff --git a/epan/dissectors/packet-qllc.c b/epan/dissectors/packet-qllc.c index 3c6272f5e7..2554ac9ffc 100644 --- a/epan/dissectors/packet-qllc.c +++ b/epan/dissectors/packet-qllc.c @@ -173,7 +173,7 @@ proto_register_qllc(void) void proto_reg_handoff_qllc(void) { - sna_handle = find_dissector("sna"); + sna_handle = find_dissector_add_dependency("sna", proto_qllc); } /* diff --git a/epan/dissectors/packet-qsig.c b/epan/dissectors/packet-qsig.c index c0644b5097..33b2e884e1 100644 --- a/epan/dissectors/packet-qsig.c +++ b/epan/dissectors/packet-qsig.c @@ -16397,8 +16397,8 @@ void proto_reg_handoff_qsig(void) { dissector_handle_t qsig_err_handle; dissector_handle_t qsig_ie_handle; - q931_handle = find_dissector("q931"); - q931_ie_handle = find_dissector("q931.ie"); + q931_handle = find_dissector_add_dependency("q931", proto_qsig); + q931_ie_handle = find_dissector_add_dependency("q931.ie", proto_qsig); qsig_arg_handle = create_dissector_handle(dissect_qsig_arg, proto_qsig); qsig_res_handle = create_dissector_handle(dissect_qsig_res, proto_qsig); diff --git a/epan/dissectors/packet-radius.c b/epan/dissectors/packet-radius.c index c037943e08..97ae20e8d7 100644 --- a/epan/dissectors/packet-radius.c +++ b/epan/dissectors/packet-radius.c @@ -2676,7 +2676,7 @@ proto_reg_handoff_radius(void) if (!initialized) { radius_handle = find_dissector("radius"); - eap_handle = find_dissector("eap"); + eap_handle = find_dissector_add_dependency("eap", proto_radius); initialized = TRUE; } else { diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c index f548699a67..6ffd10cf69 100644 --- a/epan/dissectors/packet-ranap.c +++ b/epan/dissectors/packet-ranap.c @@ -16528,8 +16528,8 @@ proto_reg_handoff_ranap(void) if (!initialized) { ranap_handle = find_dissector("ranap"); - rrc_s_to_trnc_handle = find_dissector("rrc.s_to_trnc_cont"); - rrc_t_to_srnc_handle = find_dissector("rrc.t_to_srnc_cont"); + 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"); initialized = TRUE; diff --git a/epan/dissectors/packet-raw.c b/epan/dissectors/packet-raw.c index 9a3d20a1d7..60bb3a035b 100644 --- a/epan/dissectors/packet-raw.c +++ b/epan/dissectors/packet-raw.c @@ -184,10 +184,10 @@ proto_reg_handoff_raw(void) * Get handles for the IP, IPv6, undissected-data, and * PPP-in-HDLC-like-framing dissectors. */ - ip_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); + ip_handle = find_dissector_add_dependency("ip", proto_raw); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_raw); data_handle = find_dissector("data"); - ppp_hdlc_handle = find_dissector("ppp_hdlc"); + ppp_hdlc_handle = find_dissector_add_dependency("ppp_hdlc", proto_raw); dissector_add_uint("wtap_encap", WTAP_ENCAP_RAW_IP, raw_handle); register_capture_dissector("wtap_encap", WTAP_ENCAP_RAW_IP, capture_raw, proto_raw); } diff --git a/epan/dissectors/packet-redback.c b/epan/dissectors/packet-redback.c index 7c8736c02d..4f5b5aa5b7 100644 --- a/epan/dissectors/packet-redback.c +++ b/epan/dissectors/packet-redback.c @@ -236,14 +236,14 @@ proto_reg_handoff_redback(void) osinl_incl_subdissector_table = find_dissector_table("osinl.incl"); osinl_excl_subdissector_table = find_dissector_table("osinl.excl"); - ipv4_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); + ipv4_handle = find_dissector_add_dependency("ip", hfi_redback->id); + ipv6_handle = find_dissector_add_dependency("ipv6", hfi_redback->id); data_handle = find_dissector("data"); - ethnofcs_handle = find_dissector("eth_withoutfcs"); - clnp_handle = find_dissector("clnp"); - arp_handle = find_dissector("arp"); - ppp_handle = find_dissector("ppp"); - ppphdlc_handle = find_dissector("ppp_hdlc"); + ethnofcs_handle = find_dissector_add_dependency("eth_withoutfcs", hfi_redback->id); + clnp_handle = find_dissector_add_dependency("clnp", hfi_redback->id); + arp_handle = find_dissector_add_dependency("arp", hfi_redback->id); + ppp_handle = find_dissector_add_dependency("ppp", hfi_redback->id); + ppphdlc_handle = find_dissector_add_dependency("ppp_hdlc", hfi_redback->id); dissector_add_uint("wtap_encap", WTAP_ENCAP_REDBACK, redback_handle); } diff --git a/epan/dissectors/packet-redbackli.c b/epan/dissectors/packet-redbackli.c index 38766db9a1..ac64c51f9f 100644 --- a/epan/dissectors/packet-redbackli.c +++ b/epan/dissectors/packet-redbackli.c @@ -288,7 +288,7 @@ void proto_register_redbackli(void) { void proto_reg_handoff_redbackli(void) { dissector_handle_t redbackli_handle; - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_redbackli); redbackli_handle = find_dissector("redbackli"); dissector_add_for_decode_as("udp.port", redbackli_handle); diff --git a/epan/dissectors/packet-reload-framing.c b/epan/dissectors/packet-reload-framing.c index ca8d7a129c..f8c3a19a0f 100644 --- a/epan/dissectors/packet-reload-framing.c +++ b/epan/dissectors/packet-reload-framing.c @@ -594,7 +594,7 @@ proto_reg_handoff_reload_framing(void) reload_framing_tcp_handle = create_dissector_handle(dissect_reload_framing_tcp, proto_reload_framing); reload_framing_udp_handle = create_dissector_handle(dissect_reload_framing, proto_reload_framing); - reload_handle = find_dissector("reload"); + reload_handle = find_dissector_add_dependency("reload", proto_reload_framing); dissector_add_uint("tcp.port", TCP_PORT_RELOAD, reload_framing_tcp_handle); dissector_add_uint("udp.port", UDP_PORT_RELOAD, reload_framing_udp_handle); diff --git a/epan/dissectors/packet-reload.c b/epan/dissectors/packet-reload.c index fba66de830..3a6c2c7460 100644 --- a/epan/dissectors/packet-reload.c +++ b/epan/dissectors/packet-reload.c @@ -5939,7 +5939,7 @@ proto_reg_handoff_reload(void) { data_handle = find_dissector("data"); - xml_handle = find_dissector("xml"); + xml_handle = find_dissector_add_dependency("xml", proto_reload); heur_dissector_add("udp", dissect_reload_heur, "RELOAD over UDP", "reload_udp", proto_reload, HEURISTIC_ENABLE); heur_dissector_add("tcp", dissect_reload_heur, "RELOAD over TCP", "reload_tcp", proto_reload, HEURISTIC_ENABLE); diff --git a/epan/dissectors/packet-rfc2190.c b/epan/dissectors/packet-rfc2190.c index e6a87bff5c..dc43395454 100644 --- a/epan/dissectors/packet-rfc2190.c +++ b/epan/dissectors/packet-rfc2190.c @@ -250,7 +250,7 @@ proto_reg_handoff_rfc2190(void) dissector_add_uint("rtp.pt", PT_H263, rfc2190_handle); dissector_add_uint("iax2.codec", AST_FORMAT_H263, rfc2190_handle); - h263_handle = find_dissector("h263data"); + h263_handle = find_dissector_add_dependency("h263data", proto_rfc2190); } diff --git a/epan/dissectors/packet-rfid-pn532-hci.c b/epan/dissectors/packet-rfid-pn532-hci.c index 89f44ff442..d85b3ed283 100644 --- a/epan/dissectors/packet-rfid-pn532-hci.c +++ b/epan/dissectors/packet-rfid-pn532-hci.c @@ -280,7 +280,7 @@ proto_register_pn532_hci(void) void proto_reg_handoff_pn532_hci(void) { - pn532_handle = find_dissector("pn532"); + pn532_handle = find_dissector_add_dependency("pn532", proto_pn532_hci); dissector_add_uint("usb.product", (0x04e6 << 16) | 0x5591, pn532_hci_handle); diff --git a/epan/dissectors/packet-rfid-pn532.c b/epan/dissectors/packet-rfid-pn532.c index 0b9c004c1c..f200c1a9eb 100644 --- a/epan/dissectors/packet-rfid-pn532.c +++ b/epan/dissectors/packet-rfid-pn532.c @@ -2334,9 +2334,9 @@ void proto_register_pn532(void) void proto_reg_handoff_pn532(void) { sub_handles[SUB_DATA] = find_dissector("data"); - sub_handles[SUB_FELICA] = find_dissector("felica"); - sub_handles[SUB_MIFARE] = find_dissector("mifare"); - sub_handles[SUB_ISO7816] = find_dissector("iso7816"); + sub_handles[SUB_FELICA] = find_dissector_add_dependency("felica", proto_pn532); + sub_handles[SUB_MIFARE] = find_dissector_add_dependency("mifare", proto_pn532); + sub_handles[SUB_ISO7816] = find_dissector_add_dependency("iso7816", proto_pn532); } /* diff --git a/epan/dissectors/packet-rlc-lte.c b/epan/dissectors/packet-rlc-lte.c index 54d88ffa61..aab7cfe832 100644 --- a/epan/dissectors/packet-rlc-lte.c +++ b/epan/dissectors/packet-rlc-lte.c @@ -3705,8 +3705,8 @@ void proto_reg_handoff_rlc_lte(void) /* Add as a heuristic UDP dissector */ heur_dissector_add("udp", dissect_rlc_lte_heur, "RLC-LTE over UDP", "rlc_lte_udp", proto_rlc_lte, HEURISTIC_DISABLE); - pdcp_lte_handle = find_dissector("pdcp-lte"); - ip_handle = find_dissector("ip"); + pdcp_lte_handle = find_dissector_add_dependency("pdcp-lte", proto_rlc_lte); + ip_handle = find_dissector_add_dependency("ip", proto_rlc_lte); } /* diff --git a/epan/dissectors/packet-rlc.c b/epan/dissectors/packet-rlc.c index 70e178ef32..281e5a3386 100644 --- a/epan/dissectors/packet-rlc.c +++ b/epan/dissectors/packet-rlc.c @@ -3005,9 +3005,9 @@ proto_register_rlc(void) void proto_reg_handoff_rlc(void) { - rrc_handle = find_dissector("rrc"); - ip_handle = find_dissector("ip"); - bmc_handle = find_dissector("bmc"); + rrc_handle = find_dissector_add_dependency("rrc", proto_rlc); + ip_handle = find_dissector_add_dependency("ip", proto_rlc); + bmc_handle = find_dissector_add_dependency("bmc", proto_rlc); /* Add as a heuristic UDP dissector */ heur_dissector_add("udp", dissect_rlc_heur, "RLC over UDP", "rlc_udp", proto_rlc, HEURISTIC_DISABLE); } diff --git a/epan/dissectors/packet-rmt-alc.c b/epan/dissectors/packet-rmt-alc.c index 25f8a83069..68de96c4d0 100644 --- a/epan/dissectors/packet-rmt-alc.c +++ b/epan/dissectors/packet-rmt-alc.c @@ -237,9 +237,9 @@ void proto_reg_handoff_alc(void) preferences_initialized = TRUE; handle = create_dissector_handle(dissect_alc, proto_rmt_alc); dissector_add_for_decode_as("udp.port", handle); - xml_handle = find_dissector("xml"); - rmt_lct_handle = find_dissector("rmt-lct"); - rmt_fec_handle = find_dissector("rmt-fec"); + xml_handle = find_dissector_add_dependency("xml", proto_rmt_alc); + rmt_lct_handle = find_dissector_add_dependency("rmt-lct", proto_rmt_alc); + rmt_fec_handle = find_dissector_add_dependency("rmt-fec", proto_rmt_alc); } /* Register UDP port for dissection */ diff --git a/epan/dissectors/packet-rmt-norm.c b/epan/dissectors/packet-rmt-norm.c index 56606a70e1..ffdb6e877c 100644 --- a/epan/dissectors/packet-rmt-norm.c +++ b/epan/dissectors/packet-rmt-norm.c @@ -980,7 +980,7 @@ void proto_reg_handoff_norm(void) dissector_add_for_decode_as("udp.port", handle); heur_dissector_add("udp", dissect_norm_heur, "NORM over UDP", "rmt_norm_udp", proto_rmt_norm, HEURISTIC_DISABLE); - rmt_fec_handle = find_dissector("rmt-fec"); + rmt_fec_handle = find_dissector_add_dependency("rmt-fec", proto_rmt_norm); } /* diff --git a/epan/dissectors/packet-rnsap.c b/epan/dissectors/packet-rnsap.c index af8cbeabf0..ade1f6a737 100644 --- a/epan/dissectors/packet-rnsap.c +++ b/epan/dissectors/packet-rnsap.c @@ -55368,7 +55368,7 @@ proto_reg_handoff_rnsap(void) dissector_handle_t rnsap_handle; rnsap_handle = find_dissector("rnsap"); - rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch"); + rrc_dl_dcch_handle = find_dissector_add_dependency("rrc.dl.dcch", proto_rnsap); dissector_add_uint("sccp.ssn", SCCP_SSN_RNSAP, rnsap_handle); /* Add heuristic dissector */ diff --git a/epan/dissectors/packet-rohc.c b/epan/dissectors/packet-rohc.c index 4663fa0c0b..f67a9df6af 100644 --- a/epan/dissectors/packet-rohc.c +++ b/epan/dissectors/packet-rohc.c @@ -2997,8 +2997,8 @@ proto_reg_handoff_rohc(void) { dissector_add_uint("ethertype", ETHERTYPE_ROHC, rohc_handle); - ip_handle = find_dissector("ip"); - ipv6_handle = find_dissector("ipv6"); + ip_handle = find_dissector_add_dependency("ip", proto_rohc); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_rohc); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-roofnet.c b/epan/dissectors/packet-roofnet.c index 2104bcef6d..236f496075 100644 --- a/epan/dissectors/packet-roofnet.c +++ b/epan/dissectors/packet-roofnet.c @@ -357,7 +357,7 @@ void proto_reg_handoff_roofnet(void) /* Until now there is no other option than having an IPv4 payload (maybe * extended one day to IPv6 or other?) */ - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_roofnet); roofnet_handle = create_dissector_handle(dissect_roofnet, proto_roofnet); /* I did not put the type numbers in the ethertypes.h as they only are * experimental and not official */ diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c index 1225d11ab7..b7c4b2193a 100644 --- a/epan/dissectors/packet-rpc.c +++ b/epan/dissectors/packet-rpc.c @@ -4439,8 +4439,8 @@ proto_reg_handoff_rpc(void) heur_dissector_add("tcp", dissect_rpc_tcp_heur, "RPC over TCP", "rpc_tcp", proto_rpc, HEURISTIC_ENABLE); heur_dissector_add("udp", dissect_rpc_heur, "RPC over UDP", "rpc_udp", proto_rpc, HEURISTIC_ENABLE); - gssapi_handle = find_dissector("gssapi"); - spnego_krb5_wrap_handle = find_dissector("spnego-krb5-wrap"); + gssapi_handle = find_dissector_add_dependency("gssapi", proto_rpc); + spnego_krb5_wrap_handle = find_dissector_add_dependency("spnego-krb5-wrap", proto_rpc); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-rpcap.c b/epan/dissectors/packet-rpcap.c index b1b598e481..26ff59a0e6 100644 --- a/epan/dissectors/packet-rpcap.c +++ b/epan/dissectors/packet-rpcap.c @@ -1483,7 +1483,7 @@ proto_reg_handoff_rpcap (void) static gboolean rpcap_prefs_initialized = FALSE; if (!rpcap_prefs_initialized) { - pcap_pktdata_handle = find_dissector ("pcap_pktdata"); + pcap_pktdata_handle = find_dissector_add_dependency("pcap_pktdata", proto_rpcap); data_handle = find_dissector ("data"); rpcap_prefs_initialized = TRUE; diff --git a/epan/dissectors/packet-rpcrdma.c b/epan/dissectors/packet-rpcrdma.c index 51e7b9e891..ca716972fc 100644 --- a/epan/dissectors/packet-rpcrdma.c +++ b/epan/dissectors/packet-rpcrdma.c @@ -593,8 +593,8 @@ proto_reg_handoff_rpcordma(void) manual_addr_data[1] = wmem_alloc(wmem_epan_scope(), GID_SIZE); data_handler = find_dissector("data"); - rpc_handler = find_dissector("rpc"); - ib_handler = find_dissector("infiniband"); + rpc_handler = find_dissector_add_dependency("rpc", proto_rpcordma); + ib_handler = find_dissector_add_dependency("infiniband", proto_rpcordma); proto_ib = dissector_handle_get_protocol_index(ib_handler); initialized = TRUE; diff --git a/epan/dissectors/packet-rrc.c b/epan/dissectors/packet-rrc.c index 661bcdc5b1..8195c7d4c4 100644 --- a/epan/dissectors/packet-rrc.c +++ b/epan/dissectors/packet-rrc.c @@ -210088,7 +210088,7 @@ void proto_register_rrc(void) { void proto_reg_handoff_rrc(void) { - gsm_a_dtap_handle = find_dissector("gsm_a_dtap"); + gsm_a_dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_rrc); rrc_pcch_handle = find_dissector("rrc.pcch"); rrc_ul_ccch_handle = find_dissector("rrc.ul.ccch"); rrc_dl_ccch_handle = find_dissector("rrc.dl.ccch"); @@ -210096,10 +210096,10 @@ proto_reg_handoff_rrc(void) rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch"); rrc_ue_radio_access_cap_info_handle = find_dissector("rrc.ue_radio_access_cap_info"); rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch"); - lte_rrc_ue_eutra_cap_handle = find_dissector("lte-rrc.ue_eutra_cap"); - lte_rrc_dl_dcch_handle = find_dissector("lte-rrc.dl.dcch"); + lte_rrc_ue_eutra_cap_handle = find_dissector_add_dependency("lte-rrc.ue_eutra_cap", proto_rrc); + lte_rrc_dl_dcch_handle = find_dissector_add_dependency("lte-rrc.dl.dcch", proto_rrc); rrc_bcch_fach_handle = find_dissector("rrc.bcch.fach"); - gsm_rlcmac_dl_handle = find_dissector("gsm_rlcmac_dl"); + gsm_rlcmac_dl_handle = find_dissector_add_dependency("gsm_rlcmac_dl", proto_rrc); } diff --git a/epan/dissectors/packet-rsl.c b/epan/dissectors/packet-rsl.c index c397eb2250..593ea63016 100644 --- a/epan/dissectors/packet-rsl.c +++ b/epan/dissectors/packet-rsl.c @@ -4465,11 +4465,11 @@ proto_reg_handoff_rsl(void) { dissector_add_uint("lapd.gsm.sapi", LAPD_GSM_SAPI_RA_SIG_PROC, rsl_handle); - gsm_cbch_handle = find_dissector("gsm_cbch"); - gsm_cbs_handle = find_dissector("gsm_cbs"); - gsm_a_ccch_handle = find_dissector("gsm_a_ccch"); - gsm_a_dtap_handle = find_dissector("gsm_a_dtap"); - gsm_a_sacch_handle = find_dissector("gsm_a_sacch"); + gsm_cbch_handle = find_dissector_add_dependency("gsm_cbch", proto_rsl); + gsm_cbs_handle = find_dissector_add_dependency("gsm_cbs", proto_rsl); + gsm_a_ccch_handle = find_dissector_add_dependency("gsm_a_ccch", proto_rsl); + gsm_a_dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_rsl); + gsm_a_sacch_handle = find_dissector_add_dependency("gsm_a_sacch", proto_rsl); } /* diff --git a/epan/dissectors/packet-rtp.c b/epan/dissectors/packet-rtp.c index adaeaff29b..6780bbfbbb 100644 --- a/epan/dissectors/packet-rtp.c +++ b/epan/dissectors/packet-rtp.c @@ -3745,23 +3745,23 @@ proto_reg_handoff_rtp(void) dissector_add_for_decode_as("flip.payload", rtp_handle ); - rtcp_handle = find_dissector("rtcp"); + rtcp_handle = find_dissector_add_dependency("rtcp", proto_rtp); data_handle = find_dissector("data"); - stun_handle = find_dissector("stun-udp"); - classicstun_handle = find_dissector("classicstun"); - classicstun_heur_handle = find_dissector("classicstun-heur"); - stun_heur_handle = find_dissector("stun-heur"); - t38_handle = find_dissector("t38_udp"); - zrtp_handle = find_dissector("zrtp"); - - sprt_handle = find_dissector("sprt"); + stun_handle = find_dissector_add_dependency("stun-udp", proto_rtp); + classicstun_handle = find_dissector_add_dependency("classicstun", proto_rtp); + classicstun_heur_handle = find_dissector_add_dependency("classicstun-heur", proto_rtp); + stun_heur_handle = find_dissector_add_dependency("stun-heur", proto_rtp); + t38_handle = find_dissector_add_dependency("t38_udp", proto_rtp); + zrtp_handle = find_dissector_add_dependency("zrtp", proto_rtp); + + sprt_handle = find_dissector_add_dependency("sprt", proto_rtp); v150fw_handle = find_dissector("v150fw"); - bta2dp_content_protection_header_scms_t = find_dissector("bta2dp_content_protection_header_scms_t"); - btvdp_content_protection_header_scms_t = find_dissector("btvdp_content_protection_header_scms_t"); - bta2dp_handle = find_dissector("bta2dp"); - btvdp_handle = find_dissector("btvdp"); - sbc_handle = find_dissector("sbc"); + bta2dp_content_protection_header_scms_t = find_dissector_add_dependency("bta2dp_content_protection_header_scms_t", proto_rtp); + btvdp_content_protection_header_scms_t = find_dissector_add_dependency("btvdp_content_protection_header_scms_t", proto_rtp); + bta2dp_handle = find_dissector_add_dependency("bta2dp", proto_rtp); + btvdp_handle = find_dissector_add_dependency("btvdp", proto_rtp); + sbc_handle = find_dissector_add_dependency("sbc", proto_rtp); dissector_add_string("rtp_dyn_payload_type", "v150fw", v150fw_handle); diff --git a/epan/dissectors/packet-rtpproxy.c b/epan/dissectors/packet-rtpproxy.c index e782a78129..e75f713acb 100644 --- a/epan/dissectors/packet-rtpproxy.c +++ b/epan/dissectors/packet-rtpproxy.c @@ -1511,10 +1511,10 @@ proto_reg_handoff_rtpproxy(void) dissector_add_uint("udp.port", rtpproxy_udp_port, rtpproxy_udp_handle); old_rtpproxy_udp_port = rtpproxy_udp_port; - rtcp_handle = find_dissector("rtcp"); - rtp_events_handle = find_dissector("rtpevent"); - rtp_handle = find_dissector("rtp"); - bencode_handle = find_dissector("bencode"); + rtcp_handle = find_dissector_add_dependency("rtcp", proto_rtpproxy); + rtp_events_handle = find_dissector_add_dependency("rtpevent", proto_rtpproxy); + rtp_handle = find_dissector_add_dependency("rtp", proto_rtpproxy); + bencode_handle = find_dissector_add_dependency("bencode", proto_rtpproxy); /* Calculate nstime_t struct for the timeout from the rtpproxy_timeout value in milliseconds */ rtpproxy_timeout_ns.secs = (rtpproxy_timeout - rtpproxy_timeout % 1000) / 1000; diff --git a/epan/dissectors/packet-rua.c b/epan/dissectors/packet-rua.c index ff51a56b7c..6c56da31e9 100644 --- a/epan/dissectors/packet-rua.c +++ b/epan/dissectors/packet-rua.c @@ -1764,7 +1764,7 @@ proto_reg_handoff_rua(void) if (!initialized) { rua_handle = find_dissector("rua"); - ranap_handle = find_dissector("ranap"); + 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-rudp.c b/epan/dissectors/packet-rudp.c index 3b3c32c6ce..b6dd6d8ef7 100644 --- a/epan/dissectors/packet-rudp.c +++ b/epan/dissectors/packet-rudp.c @@ -247,7 +247,7 @@ proto_reg_handoff_rudp(void) { if (!initialized) { rudp_handle = create_dissector_handle(dissect_rudp, proto_rudp); dissector_add_for_decode_as("udp.port", rudp_handle); - sm_handle = find_dissector("sm"); + sm_handle = find_dissector_add_dependency("sm", proto_rudp); data_handle = find_dissector("data"); initialized = TRUE; } else { diff --git a/epan/dissectors/packet-rx.c b/epan/dissectors/packet-rx.c index b225101c8f..0d514b9022 100644 --- a/epan/dissectors/packet-rx.c +++ b/epan/dissectors/packet-rx.c @@ -760,7 +760,7 @@ proto_reg_handoff_rx(void) /* * Get handle for the AFS dissector. */ - afs_handle = find_dissector("afs"); + afs_handle = find_dissector_add_dependency("afs", proto_rx); /* Ports in the range UDP_PORT_RX_LOW to UDP_PORT_RX_HIGH are all used for various AFS services. */ diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c index f0976cd9ab..3bcc1e484e 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -11890,12 +11890,12 @@ proto_reg_handoff_s1ap(void) static guint SctpPort; s1ap_handle = find_dissector("s1ap"); - gcsna_handle = find_dissector("gcsna"); + gcsna_handle = find_dissector_add_dependency("gcsna", proto_s1ap); if (!Initialized) { - nas_eps_handle = find_dissector("nas-eps"); - lppa_handle = find_dissector("lppa"); - bssgp_handle = find_dissector("bssgp"); + nas_eps_handle = find_dissector_add_dependency("nas-eps", proto_s1ap); + lppa_handle = find_dissector_add_dependency("lppa", proto_s1ap); + bssgp_handle = find_dissector_add_dependency("bssgp", proto_s1ap); dissector_add_for_decode_as("sctp.port", s1ap_handle); dissector_add_uint("sctp.ppi", S1AP_PAYLOAD_PROTOCOL_ID, s1ap_handle); Initialized=TRUE; diff --git a/epan/dissectors/packet-sap.c b/epan/dissectors/packet-sap.c index 60ee0e3c55..7701627724 100644 --- a/epan/dissectors/packet-sap.c +++ b/epan/dissectors/packet-sap.c @@ -388,7 +388,7 @@ proto_reg_handoff_sap(void) /* * Get a handle for the SDP dissector. */ - sdp_handle = find_dissector("sdp"); + sdp_handle = find_dissector_add_dependency("sdp", proto_sap); } /* diff --git a/epan/dissectors/packet-sccp.c b/epan/dissectors/packet-sccp.c index 2c791ddfda..77bf4ed545 100644 --- a/epan/dissectors/packet-sccp.c +++ b/epan/dissectors/packet-sccp.c @@ -4156,12 +4156,12 @@ proto_reg_handoff_sccp(void) dissector_add_string("tali.opcode", "sccp", sccp_handle); data_handle = find_dissector("data"); - tcap_handle = find_dissector("tcap"); - ranap_handle = find_dissector("ranap"); - bssap_handle = find_dissector("bssap"); - gsmmap_handle = find_dissector("gsm_map_sccp"); - camel_handle = find_dissector("camel"); - inap_handle = find_dissector("inap"); + tcap_handle = find_dissector_add_dependency("tcap", proto_sccp); + ranap_handle = find_dissector_add_dependency("ranap", proto_sccp); + bssap_handle = find_dissector_add_dependency("bssap", proto_sccp); + gsmmap_handle = find_dissector_add_dependency("gsm_map_sccp", proto_sccp); + camel_handle = find_dissector_add_dependency("camel", proto_sccp); + inap_handle = find_dissector_add_dependency("inap", proto_sccp); initialised = TRUE; } diff --git a/epan/dissectors/packet-scop.c b/epan/dissectors/packet-scop.c index 1e7d9772e5..8456393a89 100644 --- a/epan/dissectors/packet-scop.c +++ b/epan/dissectors/packet-scop.c @@ -403,7 +403,7 @@ void proto_reg_handoff_scop(void) if (!inited){ scop_udp_handle = find_dissector("scop.udp"); scop_tcp_handle = find_dissector("scop.tcp"); - ieee802154_handle = find_dissector("wpan_nofcs"); + ieee802154_handle = find_dissector_add_dependency("wpan_nofcs", proto_scop); data_handle = find_dissector("data"); inited = TRUE; } else { diff --git a/epan/dissectors/packet-sdlc.c b/epan/dissectors/packet-sdlc.c index 27be134ba0..aa67910ca7 100644 --- a/epan/dissectors/packet-sdlc.c +++ b/epan/dissectors/packet-sdlc.c @@ -200,7 +200,7 @@ proto_reg_handoff_sdlc(void) /* * Get handle for the SNA dissector. */ - sna_handle = find_dissector("sna"); + sna_handle = find_dissector_add_dependency("sna", proto_sdlc); data_handle = find_dissector("data"); sdlc_handle = create_dissector_handle(dissect_sdlc, proto_sdlc); diff --git a/epan/dissectors/packet-sdp.c b/epan/dissectors/packet-sdp.c index aa7a30d368..9d61558427 100644 --- a/epan/dissectors/packet-sdp.c +++ b/epan/dissectors/packet-sdp.c @@ -3113,11 +3113,11 @@ proto_reg_handoff_sdp(void) { dissector_handle_t sdp_handle; - rtcp_handle = find_dissector("rtcp"); - msrp_handle = find_dissector("msrp"); - sprt_handle = find_dissector("sprt"); - h264_handle = find_dissector("h264"); - mp4ves_config_handle = find_dissector("mp4ves_config"); + rtcp_handle = find_dissector_add_dependency("rtcp", proto_sdp); + msrp_handle = find_dissector_add_dependency("msrp", proto_sdp); + sprt_handle = find_dissector_add_dependency("sprt", proto_sdp); + h264_handle = find_dissector_add_dependency("h264", proto_sdp); + mp4ves_config_handle = find_dissector_add_dependency("mp4ves_config", proto_sdp); proto_sprt = dissector_handle_get_protocol_index(find_dissector("sprt")); diff --git a/epan/dissectors/packet-ses.c b/epan/dissectors/packet-ses.c index 5a6b880259..c597bc3574 100644 --- a/epan/dissectors/packet-ses.c +++ b/epan/dissectors/packet-ses.c @@ -1916,7 +1916,7 @@ proto_reg_handoff_ses(void) data_handle = find_dissector("data"); /* define sub dissector */ - pres_handle = find_dissector("pres"); + pres_handle = find_dissector_add_dependency("pres", proto_ses); /* add our session dissector to cotp dissector list * and cotp_is dissector list*/ diff --git a/epan/dissectors/packet-sgsap.c b/epan/dissectors/packet-sgsap.c index 0b4e6407d3..392e43a575 100644 --- a/epan/dissectors/packet-sgsap.c +++ b/epan/dissectors/packet-sgsap.c @@ -1733,7 +1733,7 @@ proto_reg_handoff_sgsap(void) static range_t *sgsap_port_range; sgsap_handle = find_dissector("sgsap"); - gsm_a_dtap_handle = find_dissector("gsm_a_dtap"); + gsm_a_dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_sgsap); if (!Initialized) { dissector_add_for_decode_as("sctp.port", sgsap_handle); diff --git a/epan/dissectors/packet-sigcomp.c b/epan/dissectors/packet-sigcomp.c index 3e9b6c616d..654381114d 100644 --- a/epan/dissectors/packet-sigcomp.c +++ b/epan/dissectors/packet-sigcomp.c @@ -6790,7 +6790,7 @@ proto_reg_handoff_sigcomp(void) if (!Initialized) { sigcomp_handle = find_dissector("sigcomp"); sigcomp_tcp_handle = create_dissector_handle(dissect_sigcomp_tcp,proto_sigcomp); - sip_handle = find_dissector("sip"); + sip_handle = find_dissector_add_dependency("sip",proto_sigcomp); Initialized=TRUE; } else { dissector_delete_uint("udp.port", udp_port1, sigcomp_handle); diff --git a/epan/dissectors/packet-simple.c b/epan/dissectors/packet-simple.c index 12ff3dba5f..3ac7754a31 100644 --- a/epan/dissectors/packet-simple.c +++ b/epan/dissectors/packet-simple.c @@ -700,7 +700,7 @@ void proto_reg_handoff_simple(void) simple_dissector_handle = create_dissector_handle(dissect_simple, proto_simple); dissector_add_for_decode_as("udp.port", simple_dissector_handle); - link16_handle = find_dissector("link16"); + link16_handle = find_dissector_add_dependency("link16", proto_simple); } /* diff --git a/epan/dissectors/packet-sip.c b/epan/dissectors/packet-sip.c index 5b33a7cc3f..5e06d28fc7 100644 --- a/epan/dissectors/packet-sip.c +++ b/epan/dissectors/packet-sip.c @@ -6434,7 +6434,7 @@ proto_reg_handoff_sip(void) dissector_handle_t sip_handle; sip_handle = find_dissector("sip"); sip_tcp_handle = find_dissector("sip.tcp"); - sigcomp_handle = find_dissector("sigcomp"); + sigcomp_handle = find_dissector_add_dependency("sigcomp", proto_sip); sip_diag_handle = find_dissector("sip.diagnostic"); sip_uri_userinfo_handle = find_dissector("sip.uri_userinfo"); /* SIP content type and internet media type used by other dissectors are the same */ diff --git a/epan/dissectors/packet-sll.c b/epan/dissectors/packet-sll.c index 642378cb5c..76463a3787 100644 --- a/epan/dissectors/packet-sll.c +++ b/epan/dissectors/packet-sll.c @@ -353,8 +353,8 @@ proto_reg_handoff_sll(void) */ gre_dissector_table = find_dissector_table("gre.proto"); data_handle = find_dissector("data"); - ethertype_handle = find_dissector("ethertype"); - netlink_handle = find_dissector("netlink"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_sll); + netlink_handle = find_dissector_add_dependency("netlink", proto_sll); dissector_add_uint("wtap_encap", WTAP_ENCAP_SLL, sll_handle); register_capture_dissector("wtap_encap", WTAP_ENCAP_SLL, capture_sll, hfi_sll->id); diff --git a/epan/dissectors/packet-smb-mailslot.c b/epan/dissectors/packet-smb-mailslot.c index 81ab388b25..b402edc20b 100644 --- a/epan/dissectors/packet-smb-mailslot.c +++ b/epan/dissectors/packet-smb-mailslot.c @@ -252,9 +252,9 @@ proto_register_smb_mailslot(void) void proto_reg_handoff_smb_mailslot(void) { - mailslot_browse_handle = find_dissector("mailslot_browse"); - mailslot_lanman_handle = find_dissector("mailslot_lanman"); - netlogon_handle = find_dissector("smb_netlogon"); + mailslot_browse_handle = find_dissector_add_dependency("mailslot_browse", proto_smb_msp); + mailslot_lanman_handle = find_dissector_add_dependency("mailslot_lanman", proto_smb_msp); + netlogon_handle = find_dissector_add_dependency("smb_netlogon", proto_smb_msp); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c index 4f84e5c2f0..f804c9638f 100644 --- a/epan/dissectors/packet-smb.c +++ b/epan/dissectors/packet-smb.c @@ -20546,8 +20546,8 @@ proto_reg_handoff_smb(void) { dissector_handle_t smb_handle; - gssapi_handle = find_dissector("gssapi"); - ntlmssp_handle = find_dissector("ntlmssp"); + gssapi_handle = find_dissector_add_dependency("gssapi", proto_smb); + ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_smb); heur_dissector_add("netbios", dissect_smb_heur, "SMB over Netbios", "smb_netbios", proto_smb, HEURISTIC_ENABLE); heur_dissector_add("smb_direct", dissect_smb_heur, "SMB over SMB Direct", "smb_smb_direct", proto_smb, HEURISTIC_ENABLE); diff --git a/epan/dissectors/packet-smb2.c b/epan/dissectors/packet-smb2.c index 69dc90e740..41a058b598 100644 --- a/epan/dissectors/packet-smb2.c +++ b/epan/dissectors/packet-smb2.c @@ -9683,9 +9683,9 @@ proto_register_smb2(void) void proto_reg_handoff_smb2(void) { - gssapi_handle = find_dissector("gssapi"); - ntlmssp_handle = find_dissector("ntlmssp"); - rsvd_handle = find_dissector("rsvd"); + gssapi_handle = find_dissector_add_dependency("gssapi", proto_smb2); + ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_smb2); + rsvd_handle = find_dissector_add_dependency("rsvd", proto_smb2); data_handle = find_dissector("data"); heur_dissector_add("netbios", dissect_smb2_heur, "SMB2 over Netbios", "smb2_netbios", proto_smb2, HEURISTIC_ENABLE); heur_dissector_add("smb_direct", dissect_smb2_heur, "SMB2 over SMB Direct", "smb2_smb_direct", proto_smb2, HEURISTIC_ENABLE); diff --git a/epan/dissectors/packet-smpp.c b/epan/dissectors/packet-smpp.c index 8918463cc1..b9f8418d83 100644 --- a/epan/dissectors/packet-smpp.c +++ b/epan/dissectors/packet-smpp.c @@ -3802,7 +3802,7 @@ proto_reg_handoff_smpp(void) /* Required for call_dissector() */ DebugLog(("Finding gsm_sms_ud subdissector\n")); - gsm_sms_handle = find_dissector("gsm_sms_ud"); + gsm_sms_handle = find_dissector_add_dependency("gsm_sms_ud", proto_smpp); DISSECTOR_ASSERT(gsm_sms_handle); /* Tapping setup */ diff --git a/epan/dissectors/packet-smtp.c b/epan/dissectors/packet-smtp.c index 06c31f2d2d..d6147f43cb 100644 --- a/epan/dissectors/packet-smtp.c +++ b/epan/dissectors/packet-smtp.c @@ -1321,13 +1321,13 @@ proto_reg_handoff_smtp(void) dissector_add_uint("tcp.port", TCP_PORT_SUBMISSION, smtp_handle); /* find the IMF dissector */ - imf_handle = find_dissector("imf"); + imf_handle = find_dissector_add_dependency("imf", proto_smtp); /* find the SSL dissector */ - ssl_handle = find_dissector("ssl"); + ssl_handle = find_dissector_add_dependency("ssl", proto_smtp); /* find the NTLM dissector */ - ntlmssp_handle = find_dissector("ntlmssp"); + ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_smtp); } /* diff --git a/epan/dissectors/packet-snaeth.c b/epan/dissectors/packet-snaeth.c index 19fa5b88e2..da1cfb4543 100644 --- a/epan/dissectors/packet-snaeth.c +++ b/epan/dissectors/packet-snaeth.c @@ -106,7 +106,7 @@ proto_reg_handoff_snaeth(void) /* * Get handle for the LLC dissector. */ - llc_handle = find_dissector("llc"); + llc_handle = find_dissector_add_dependency("llc", proto_snaeth); snaeth_handle = create_dissector_handle(dissect_snaeth, proto_snaeth); dissector_add_uint("ethertype", ETHERTYPE_SNA, snaeth_handle); diff --git a/epan/dissectors/packet-sndcp.c b/epan/dissectors/packet-sndcp.c index 3f1cd94bbb..718796ea92 100644 --- a/epan/dissectors/packet-sndcp.c +++ b/epan/dissectors/packet-sndcp.c @@ -585,7 +585,7 @@ proto_reg_handoff_sndcp(void) /* Find IP and data handle for upper layer dissectors */ - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_sndcp); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-spdy.c b/epan/dissectors/packet-spdy.c index 5dca654bb7..ac7e47a2c7 100644 --- a/epan/dissectors/packet-spdy.c +++ b/epan/dissectors/packet-spdy.c @@ -1947,7 +1947,7 @@ void proto_reg_handoff_spdy(void) { ssl_dissector_add(0, spdy_handle); data_handle = find_dissector("data"); - media_handle = find_dissector("media"); + media_handle = find_dissector_add_dependency("media", proto_spdy); port_subdissector_table = find_dissector_table("http.port"); media_type_subdissector_table = find_dissector_table("media_type"); diff --git a/epan/dissectors/packet-spice.c b/epan/dissectors/packet-spice.c index fd0f70f6e8..72b6497ab7 100644 --- a/epan/dissectors/packet-spice.c +++ b/epan/dissectors/packet-spice.c @@ -4565,7 +4565,7 @@ proto_reg_handoff_spice(void) spice_handle = create_dissector_handle(dissect_spice, proto_spice); dissector_add_for_decode_as("tcp.port", spice_handle); heur_dissector_add("tcp", test_spice_protocol, "Spice over TCP", "spice_tcp", proto_spice, HEURISTIC_ENABLE); - jpeg_handle = find_dissector("image-jfif"); + jpeg_handle = find_dissector_add_dependency("image-jfif", proto_spice); } /* diff --git a/epan/dissectors/packet-srp.c b/epan/dissectors/packet-srp.c index 81a48201b6..066b73b6c8 100644 --- a/epan/dissectors/packet-srp.c +++ b/epan/dissectors/packet-srp.c @@ -223,8 +223,8 @@ void proto_register_srp (void) void proto_reg_handoff_srp(void) { - ccsrl_handle = find_dissector("ccsrl"); - h245dg_handle = find_dissector("h245dg"); + ccsrl_handle = find_dissector_add_dependency("ccsrl", proto_srp); + h245dg_handle = find_dissector_add_dependency("h245dg", proto_srp); } /* diff --git a/epan/dissectors/packet-sscf-nni.c b/epan/dissectors/packet-sscf-nni.c index eb0f8147cb..d1d0f6c658 100644 --- a/epan/dissectors/packet-sscf-nni.c +++ b/epan/dissectors/packet-sscf-nni.c @@ -131,7 +131,7 @@ proto_register_sscf(void) void proto_reg_handoff_sscf(void) { - mtp3_handle = find_dissector("mtp3"); + mtp3_handle = find_dissector_add_dependency("mtp3", proto_sscf); } /* diff --git a/epan/dissectors/packet-sstp.c b/epan/dissectors/packet-sstp.c index 9052a412cd..81dc74b6dc 100644 --- a/epan/dissectors/packet-sstp.c +++ b/epan/dissectors/packet-sstp.c @@ -514,7 +514,7 @@ proto_register_sstp(void) void proto_reg_handoff_sstp(void) { - ppp_handle = find_dissector("ppp"); + ppp_handle = find_dissector_add_dependency("ppp", proto_sstp); } /* diff --git a/epan/dissectors/packet-stt.c b/epan/dissectors/packet-stt.c index 74611450dc..2d124bce05 100644 --- a/epan/dissectors/packet-stt.c +++ b/epan/dissectors/packet-stt.c @@ -991,7 +991,7 @@ proto_reg_handoff_stt(void) * in the tunneled Ethernet frames, but it is missing from the * captures attached to bug 10282. */ - eth_handle = find_dissector("eth_withoutfcs"); + eth_handle = find_dissector_add_dependency("eth_withoutfcs", proto_stt); data_handle = find_dissector("data"); heur_dissector_add("ip", dissect_stt_heur, "Stateless Transport Tunneling over IP", "stt_ip", proto_stt, HEURISTIC_ENABLE); diff --git a/epan/dissectors/packet-swipe.c b/epan/dissectors/packet-swipe.c index e77d3de424..07457db5fd 100644 --- a/epan/dissectors/packet-swipe.c +++ b/epan/dissectors/packet-swipe.c @@ -129,7 +129,7 @@ proto_reg_handoff_swipe(void) swipe_handle = create_dissector_handle(dissect_swipe, proto_swipe ); dissector_add_uint("ip.proto", IP_PROTO_SWIPE, swipe_handle); - ipv6_handle = find_dissector("ipv6"); + ipv6_handle = find_dissector_add_dependency("ipv6", proto_swipe ); } /* diff --git a/epan/dissectors/packet-sync.c b/epan/dissectors/packet-sync.c index 4a33e2619d..80a7b2dd94 100644 --- a/epan/dissectors/packet-sync.c +++ b/epan/dissectors/packet-sync.c @@ -303,7 +303,7 @@ proto_register_sync(void) void proto_reg_handoff_sync(void) { - ip_handle = find_dissector("ip"); + ip_handle = find_dissector_add_dependency("ip", proto_sync); dissector_add_for_decode_as("udp.port", sync_handle); } diff --git a/epan/dissectors/packet-syslog.c b/epan/dissectors/packet-syslog.c index 2ad5d68bba..15a413c2ea 100644 --- a/epan/dissectors/packet-syslog.c +++ b/epan/dissectors/packet-syslog.c @@ -356,7 +356,7 @@ proto_reg_handoff_syslog(void) dissector_add_for_decode_as("tcp.port", syslog_handle); /* Find the mtp3 dissector */ - mtp_handle = find_dissector("mtp3"); + mtp_handle = find_dissector_add_dependency("mtp3", proto_syslog); } /* diff --git a/epan/dissectors/packet-t38.c b/epan/dissectors/packet-t38.c index 10982825cd..6d7ad7f80a 100644 --- a/epan/dissectors/packet-t38.c +++ b/epan/dissectors/packet-t38.c @@ -1450,8 +1450,8 @@ proto_reg_handoff_t38(void) t38_udp_handle=create_dissector_handle(dissect_t38_udp, proto_t38); t38_tcp_handle=create_dissector_handle(dissect_t38_tcp, proto_t38); t38_tcp_pdu_handle=create_dissector_handle(dissect_t38_tcp_pdu, proto_t38); - rtp_handle = find_dissector("rtp"); - t30_hdlc_handle = find_dissector("t30.hdlc"); + rtp_handle = find_dissector_add_dependency("rtp", proto_t38); + t30_hdlc_handle = find_dissector_add_dependency("t30.hdlc""rtp", proto_t38); data_handle = find_dissector("data"); t38_prefs_initialized = TRUE; } diff --git a/epan/dissectors/packet-tcap.c b/epan/dissectors/packet-tcap.c index fb073f8ebc..2332cf489b 100644 --- a/epan/dissectors/packet-tcap.c +++ b/epan/dissectors/packet-tcap.c @@ -3331,7 +3331,7 @@ proto_reg_handoff_tcap(void) { data_handle = find_dissector("data"); - ansi_tcap_handle = find_dissector("ansi_tcap"); + ansi_tcap_handle = find_dissector_add_dependency("ansi_tcap", proto_tcap); ber_oid_dissector_table = find_dissector_table("ber.oid"); diff --git a/epan/dissectors/packet-tdmoe.c b/epan/dissectors/packet-tdmoe.c index 38e570a922..5bfb1adec4 100644 --- a/epan/dissectors/packet-tdmoe.c +++ b/epan/dissectors/packet-tdmoe.c @@ -179,7 +179,7 @@ proto_reg_handoff_tdmoe(void) tdmoe_handle = create_dissector_handle(dissect_tdmoe, proto_tdmoe); dissector_add_uint("ethertype", ETHERTYPE_TDMOE, tdmoe_handle); - lapd_handle = find_dissector("lapd-bitstream"); + lapd_handle = find_dissector_add_dependency("lapd-bitstream", proto_tdmoe); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-tdmop.c b/epan/dissectors/packet-tdmop.c index 677649be2c..04033d5443 100644 --- a/epan/dissectors/packet-tdmop.c +++ b/epan/dissectors/packet-tdmop.c @@ -358,7 +358,7 @@ void proto_reg_handoff_tdmop(void) if (pref_tdmop_ethertype) { dissector_add_uint("ethertype", pref_tdmop_ethertype, tdmop_handle); } - lapd_handle = find_dissector("lapd-bitstream"); + lapd_handle = find_dissector_add_dependency("lapd-bitstream", proto_tdmop); data_handle = find_dissector("data"); current_tdmop_ethertype = pref_tdmop_ethertype; current_tdmop_udpport = pref_tdmop_udpport; diff --git a/epan/dissectors/packet-tds.c b/epan/dissectors/packet-tds.c index b6a8122836..13617f4429 100644 --- a/epan/dissectors/packet-tds.c +++ b/epan/dissectors/packet-tds.c @@ -5638,8 +5638,8 @@ proto_reg_handoff_tds(void) heur_dissector_add("tcp", dissect_tds_tcp_heur, "Tabular Data Stream over TCP", "tds_tcp", proto_tds, HEURISTIC_ENABLE); - ntlmssp_handle = find_dissector("ntlmssp"); - gssapi_handle = find_dissector("gssapi"); + ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_tds); + gssapi_handle = find_dissector_add_dependency("gssapi", proto_tds); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-telkonet.c b/epan/dissectors/packet-telkonet.c index 536df887d5..6813db71a9 100644 --- a/epan/dissectors/packet-telkonet.c +++ b/epan/dissectors/packet-telkonet.c @@ -103,7 +103,7 @@ proto_reg_handoff_telkonet(void) { dissector_handle_t telkonet_handle; - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_telkonet); telkonet_handle = create_dissector_handle(dissect_telkonet, proto_telkonet); dissector_add_uint("ethertype", ETHERTYPE_TELKONET, telkonet_handle); diff --git a/epan/dissectors/packet-telnet.c b/epan/dissectors/packet-telnet.c index 9b3b2c4bd1..7345d080b7 100644 --- a/epan/dissectors/packet-telnet.c +++ b/epan/dissectors/packet-telnet.c @@ -2196,8 +2196,8 @@ void proto_reg_handoff_telnet(void) { dissector_add_uint("tcp.port", TCP_PORT_TELNET, telnet_handle); - tn3270_handle = find_dissector("tn3270"); - tn5250_handle = find_dissector("tn5250"); + tn3270_handle = find_dissector_add_dependency("tn3270", proto_telnet); + tn5250_handle = find_dissector_add_dependency("tn5250", proto_telnet); ssl_handle = find_dissector("ssl"); } diff --git a/epan/dissectors/packet-text-media.c b/epan/dissectors/packet-text-media.c index 85588baa7f..af480ef4c7 100644 --- a/epan/dissectors/packet-text-media.c +++ b/epan/dissectors/packet-text-media.c @@ -168,7 +168,7 @@ proto_reg_handoff_text_lines(void) dissector_add_string("media_type", "application/x-wms-logplaystats", text_lines_handle); dissector_add_string("media_type", "application/x-rtsp-udp-packetpair", text_lines_handle); - xml_handle = find_dissector("xml"); + xml_handle = find_dissector_add_dependency("xml", proto_text_lines); } /* diff --git a/epan/dissectors/packet-tr.c b/epan/dissectors/packet-tr.c index 6949c51ff4..807c285542 100644 --- a/epan/dissectors/packet-tr.c +++ b/epan/dissectors/packet-tr.c @@ -805,8 +805,8 @@ proto_reg_handoff_tr(void) /* * Get handles for the TR MAC and LLC dissectors. */ - trmac_handle = find_dissector("trmac"); - llc_handle = find_dissector("llc"); + trmac_handle = find_dissector_add_dependency("trmac", proto_tr); + llc_handle = find_dissector_add_dependency("llc", proto_tr); data_handle = find_dissector("data"); tr_handle = find_dissector("tr"); diff --git a/epan/dissectors/packet-trill.c b/epan/dissectors/packet-trill.c index cd40c0fc00..64d6d7ea07 100644 --- a/epan/dissectors/packet-trill.c +++ b/epan/dissectors/packet-trill.c @@ -212,7 +212,7 @@ proto_reg_handoff_trill(void) * meaning that the inner Ethernet frame does *not* include an * FCS. */ - eth_dissector = find_dissector( "eth_withoutfcs" ) ; + eth_dissector = find_dissector_add_dependency( "eth_withoutfcs", proto_trill ); } /* diff --git a/epan/dissectors/packet-tte.c b/epan/dissectors/packet-tte.c index 92839649ea..cba328a139 100644 --- a/epan/dissectors/packet-tte.c +++ b/epan/dissectors/packet-tte.c @@ -197,7 +197,7 @@ proto_reg_handoff_tte(void) hf_eth_src = proto_registrar_get_id_byname ("eth.src"); hf_eth_type = proto_registrar_get_id_byname ("eth.type"); - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_tte); } /* diff --git a/epan/dissectors/packet-turbocell.c b/epan/dissectors/packet-turbocell.c index 637672929b..1cf6824e7b 100644 --- a/epan/dissectors/packet-turbocell.c +++ b/epan/dissectors/packet-turbocell.c @@ -339,7 +339,7 @@ void proto_register_turbocell(void) void proto_reg_handoff_turbocell(void) { - eth_handle = find_dissector("eth_withoutfcs"); + eth_handle = find_dissector_add_dependency("eth_withoutfcs", proto_turbocell); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-tzsp.c b/epan/dissectors/packet-tzsp.c index ebbb25139f..848fa319f4 100644 --- a/epan/dissectors/packet-tzsp.c +++ b/epan/dissectors/packet-tzsp.c @@ -554,14 +554,14 @@ proto_reg_handoff_tzsp(void) dissector_add_uint("udp.port", UDP_PORT_TZSP, tzsp_handle); /* Get the data dissector for handling various encapsulation types. */ - eth_maybefcs_handle = find_dissector("eth_maybefcs"); - tr_handle = find_dissector("tr"); - ppp_handle = find_dissector("ppp_hdlc"); - fddi_handle = find_dissector("fddi"); - raw_ip_handle = find_dissector("raw_ip"); - ieee_802_11_handle = find_dissector("wlan"); - ieee_802_11_prism_handle = find_dissector("prism"); - ieee_802_11_avs_handle = find_dissector("wlancap"); + eth_maybefcs_handle = find_dissector_add_dependency("eth_maybefcs", proto_tzsp); + tr_handle = find_dissector_add_dependency("tr", proto_tzsp); + ppp_handle = find_dissector_add_dependency("ppp_hdlc", proto_tzsp); + fddi_handle = find_dissector_add_dependency("fddi", proto_tzsp); + raw_ip_handle = find_dissector_add_dependency("raw_ip", proto_tzsp); + ieee_802_11_handle = find_dissector_add_dependency("wlan", proto_tzsp); + ieee_802_11_prism_handle = find_dissector_add_dependency("prism", proto_tzsp); + ieee_802_11_avs_handle = find_dissector_add_dependency("wlancap", proto_tzsp); data_handle = find_dissector("data"); /* Register this protocol as an encapsulation type. */ diff --git a/epan/dissectors/packet-ua.c b/epan/dissectors/packet-ua.c index df002bb428..fc295a86fe 100644 --- a/epan/dissectors/packet-ua.c +++ b/epan/dissectors/packet-ua.c @@ -306,8 +306,8 @@ void proto_reg_handoff_ua_msg(void) #endif - noe_handle = find_dissector("noe"); - ua3g_handle = find_dissector("ua3g"); + noe_handle = find_dissector_add_dependency("noe", proto_ua_msg); + ua3g_handle = find_dissector_add_dependency("ua3g", proto_ua_msg); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-uasip.c b/epan/dissectors/packet-uasip.c index 24b2de558b..e5fc4c19f5 100644 --- a/epan/dissectors/packet-uasip.c +++ b/epan/dissectors/packet-uasip.c @@ -467,8 +467,8 @@ void proto_reg_handoff_uasip(void) if (!prefs_initialized) { - ua_sys_to_term_handle = find_dissector("ua_sys_to_term"); - ua_term_to_sys_handle = find_dissector("ua_term_to_sys"); + ua_sys_to_term_handle = find_dissector_add_dependency("ua_sys_to_term", proto_uasip); + ua_term_to_sys_handle = find_dissector_add_dependency("ua_term_to_sys", proto_uasip); prefs_initialized = TRUE; } diff --git a/epan/dissectors/packet-uaudp.c b/epan/dissectors/packet-uaudp.c index 0dc3117230..9f2321bb2c 100644 --- a/epan/dissectors/packet-uaudp.c +++ b/epan/dissectors/packet-uaudp.c @@ -612,8 +612,8 @@ void proto_reg_handoff_uaudp(void) if (!prefs_initialized) { - ua_sys_to_term_handle = find_dissector("ua_sys_to_term"); - ua_term_to_sys_handle = find_dissector("ua_term_to_sys"); + ua_sys_to_term_handle = find_dissector_add_dependency("ua_sys_to_term", proto_uaudp); + ua_term_to_sys_handle = find_dissector_add_dependency("ua_term_to_sys", proto_uaudp); #if 0 uaudp_opcode_dissector_table = register_dissector_table("uaudp.opcode", diff --git a/epan/dissectors/packet-ubertooth.c b/epan/dissectors/packet-ubertooth.c index f7a0a61178..ef5f2c19d9 100644 --- a/epan/dissectors/packet-ubertooth.c +++ b/epan/dissectors/packet-ubertooth.c @@ -3482,7 +3482,7 @@ proto_register_ubertooth(void) void proto_reg_handoff_ubertooth(void) { - bluetooth_ubertooth_handle = find_dissector("bluetooth_ubertooth"); + bluetooth_ubertooth_handle = find_dissector_add_dependency("bluetooth_ubertooth", proto_ubertooth); dissector_add_uint("usb.product", (0x1d50 << 16) | 0x6000, ubertooth_handle); /* Ubertooth Zero */ dissector_add_uint("usb.product", (0x1d50 << 16) | 0x6002, ubertooth_handle); /* Ubertooth One */ diff --git a/epan/dissectors/packet-ulp.c b/epan/dissectors/packet-ulp.c index f0bec6be82..da8fdd540d 100644 --- a/epan/dissectors/packet-ulp.c +++ b/epan/dissectors/packet-ulp.c @@ -10664,8 +10664,8 @@ proto_reg_handoff_ulp(void) 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); - rrlp_handle = find_dissector("rrlp"); - lpp_handle = find_dissector("lpp"); + rrlp_handle = find_dissector_add_dependency("rrlp", proto_ulp); + lpp_handle = find_dissector_add_dependency("lpp", proto_ulp); initialized = TRUE; } else { dissector_delete_uint("tcp.port", local_ulp_tcp_port, ulp_tcp_handle); diff --git a/epan/dissectors/packet-uma.c b/epan/dissectors/packet-uma.c index 9822fe3811..271a123303 100644 --- a/epan/dissectors/packet-uma.c +++ b/epan/dissectors/packet-uma.c @@ -1766,8 +1766,8 @@ proto_reg_handoff_uma(void) uma_udp_handle = find_dissector("umaudp"); dissector_add_for_decode_as("udp.port", uma_udp_handle); data_handle = find_dissector("data"); - rtcp_handle = find_dissector("rtcp"); - llc_handle = find_dissector("llcgprs"); + rtcp_handle = find_dissector_add_dependency("rtcp", proto_uma); + llc_handle = find_dissector_add_dependency("llcgprs", proto_uma); bssap_pdu_type_table = find_dissector_table("bssap.pdu_type"); Initialized=TRUE; } else { diff --git a/epan/dissectors/packet-umts_fp.c b/epan/dissectors/packet-umts_fp.c index 93c8a89468..b1178865a0 100644 --- a/epan/dissectors/packet-umts_fp.c +++ b/epan/dissectors/packet-umts_fp.c @@ -5709,14 +5709,14 @@ void proto_reg_handoff_fp(void) { dissector_handle_t fp_aal2_handle; - rlc_bcch_handle = find_dissector("rlc.bcch"); - mac_fdd_rach_handle = find_dissector("mac.fdd.rach"); - mac_fdd_fach_handle = find_dissector("mac.fdd.fach"); - mac_fdd_pch_handle = find_dissector("mac.fdd.pch"); - mac_fdd_dch_handle = find_dissector("mac.fdd.dch"); - mac_fdd_edch_handle = find_dissector("mac.fdd.edch"); - mac_fdd_edch_type2_handle = find_dissector("mac.fdd.edch.type2"); - mac_fdd_hsdsch_handle = find_dissector("mac.fdd.hsdsch"); + rlc_bcch_handle = find_dissector_add_dependency("rlc.bcch", proto_fp); + mac_fdd_rach_handle = find_dissector_add_dependency("mac.fdd.rach", proto_fp); + mac_fdd_fach_handle = find_dissector_add_dependency("mac.fdd.fach", proto_fp); + mac_fdd_pch_handle = find_dissector_add_dependency("mac.fdd.pch", proto_fp); + mac_fdd_dch_handle = find_dissector_add_dependency("mac.fdd.dch", proto_fp); + mac_fdd_edch_handle = find_dissector_add_dependency("mac.fdd.edch", proto_fp); + mac_fdd_edch_type2_handle = find_dissector_add_dependency("mac.fdd.edch.type2", proto_fp); + mac_fdd_hsdsch_handle = find_dissector_add_dependency("mac.fdd.hsdsch", proto_fp); heur_dissector_add("udp", heur_dissect_fp, "FP over UDP", "fp_udp", proto_fp, HEURISTIC_DISABLE); diff --git a/epan/dissectors/packet-umts_mac.c b/epan/dissectors/packet-umts_mac.c index 2dc0c4fe0f..ed4ea763f5 100644 --- a/epan/dissectors/packet-umts_mac.c +++ b/epan/dissectors/packet-umts_mac.c @@ -1490,13 +1490,13 @@ proto_register_umts_mac(void) void proto_reg_handoff_umts_mac(void) { - rlc_pcch_handle = find_dissector("rlc.pcch"); - rlc_ccch_handle = find_dissector("rlc.ccch"); - rlc_ctch_handle = find_dissector("rlc.ctch"); - rlc_dcch_handle = find_dissector("rlc.dcch"); - rlc_ps_dtch_handle = find_dissector("rlc.ps_dtch"); + rlc_pcch_handle = find_dissector_add_dependency("rlc.pcch", proto_umts_mac); + rlc_ccch_handle = find_dissector_add_dependency("rlc.ccch", proto_umts_mac); + rlc_ctch_handle = find_dissector_add_dependency("rlc.ctch", proto_umts_mac); + rlc_dcch_handle = find_dissector_add_dependency("rlc.dcch", proto_umts_mac); + rlc_ps_dtch_handle = find_dissector_add_dependency("rlc.ps_dtch", proto_umts_mac); - rrc_handle = find_dissector("rrc"); + rrc_handle = find_dissector_add_dependency("rrc", proto_umts_mac); } /* diff --git a/epan/dissectors/packet-usb-audio.c b/epan/dissectors/packet-usb-audio.c index e388733464..74df9a4e14 100644 --- a/epan/dissectors/packet-usb-audio.c +++ b/epan/dissectors/packet-usb-audio.c @@ -655,7 +655,7 @@ proto_reg_handoff_usb_audio(void) usb_audio_bulk_handle = find_dissector("usbaudio"); dissector_add_uint("usb.bulk", IF_CLASS_AUDIO, usb_audio_bulk_handle); - sysex_handle = find_dissector("sysex"); + sysex_handle = find_dissector_add_dependency("sysex", proto_usb_audio); } /* * Editor modelines diff --git a/epan/dissectors/packet-usb-ccid.c b/epan/dissectors/packet-usb-ccid.c index 25e0b9738b..5b4164fa0a 100644 --- a/epan/dissectors/packet-usb-ccid.c +++ b/epan/dissectors/packet-usb-ccid.c @@ -758,11 +758,11 @@ proto_reg_handoff_ccid(void) dissector_add_for_decode_as("usb.protocol", usb_ccid_handle); sub_handles[SUB_DATA] = find_dissector("data"); - sub_handles[SUB_ISO7816] = find_dissector("iso7816"); - sub_handles[SUB_GSM_SIM_CMD] = find_dissector("gsm_sim.command"); - sub_handles[SUB_PN532] = find_dissector("pn532"); - sub_handles[SUB_ACR122_PN532] = find_dissector("acr122"); - sub_handles[SUB_GSM_SIM_RSP] = find_dissector("gsm_sim.response"); + sub_handles[SUB_ISO7816] = find_dissector_add_dependency("iso7816", proto_ccid); + sub_handles[SUB_GSM_SIM_CMD] = find_dissector_add_dependency("gsm_sim.command", proto_ccid); + sub_handles[SUB_PN532] = find_dissector_add_dependency("pn532", proto_ccid); + sub_handles[SUB_ACR122_PN532] = find_dissector_add_dependency("acr122", proto_ccid); + sub_handles[SUB_GSM_SIM_RSP] = find_dissector_add_dependency("gsm_sim.response", proto_ccid); } /* diff --git a/epan/dissectors/packet-usb-com.c b/epan/dissectors/packet-usb-com.c index fbafc43072..dd03aa5ac6 100644 --- a/epan/dissectors/packet-usb-com.c +++ b/epan/dissectors/packet-usb-com.c @@ -1085,10 +1085,10 @@ proto_reg_handoff_usb_com(void) dissector_add_uint("usb.bulk", IF_CLASS_CDC_DATA, usb_com_bulk_handle); usb_com_interrupt_handle = create_dissector_handle(dissect_usb_com_interrupt, proto_usb_com); dissector_add_uint("usb.interrupt", IF_CLASS_COMMUNICATIONS, usb_com_interrupt_handle); - mbim_control_handle = find_dissector("mbim.control"); - mbim_descriptor_handle = find_dissector("mbim.descriptor"); - mbim_bulk_handle = find_dissector("mbim.bulk"); - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + mbim_control_handle = find_dissector_add_dependency("mbim.control", proto_usb_com); + mbim_descriptor_handle = find_dissector_add_dependency("mbim.descriptor", proto_usb_com); + mbim_bulk_handle = find_dissector_add_dependency("mbim.bulk", proto_usb_com); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_usb_com); } /* diff --git a/epan/dissectors/packet-v5dl.c b/epan/dissectors/packet-v5dl.c index 1b8baec234..fd1f067105 100644 --- a/epan/dissectors/packet-v5dl.c +++ b/epan/dissectors/packet-v5dl.c @@ -434,7 +434,7 @@ proto_register_v5dl(void) void proto_reg_handoff_v5dl(void) { - v52_handle = find_dissector("v52"); + v52_handle = find_dissector_add_dependency("v52", proto_v5dl); } /* diff --git a/epan/dissectors/packet-v5ef.c b/epan/dissectors/packet-v5ef.c index b688cc5353..0207713d09 100644 --- a/epan/dissectors/packet-v5ef.c +++ b/epan/dissectors/packet-v5ef.c @@ -35,6 +35,7 @@ #include void proto_register_v5ef(void); +void proto_reg_handoff_v5ef(void); static int proto_v5ef = -1; static int hf_v5ef_direction = -1; @@ -142,9 +143,6 @@ dissect_v5ef(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_ return tvb_captured_length(tvb); } -void -proto_reg_handoff_v5ef(void); - void proto_register_v5ef(void) { @@ -197,8 +195,8 @@ proto_reg_handoff_v5ef(void) v5ef_handle = find_dissector("v5ef"); dissector_add_uint("wtap_encap", WTAP_ENCAP_V5_EF, v5ef_handle); - lapd_handle = find_dissector("lapd"); - v5dl_handle = find_dissector("v5dl"); + lapd_handle = find_dissector_add_dependency("lapd", proto_v5ef); + v5dl_handle = find_dissector_add_dependency("v5dl", proto_v5ef); } /* diff --git a/epan/dissectors/packet-v5ua.c b/epan/dissectors/packet-v5ua.c index c6258ee26b..9924bf3e9c 100644 --- a/epan/dissectors/packet-v5ua.c +++ b/epan/dissectors/packet-v5ua.c @@ -1646,8 +1646,8 @@ proto_reg_handoff_v5ua(void) dissector_handle_t v5ua_handle; v5ua_handle = create_dissector_handle(dissect_v5ua, proto_v5ua); - q931_handle = find_dissector("q931"); - v52_handle = find_dissector("v52"); + q931_handle = find_dissector_add_dependency("q931", proto_v5ua); + v52_handle = find_dissector_add_dependency("v52", proto_v5ua); dissector_add_uint("sctp.port", SCTP_PORT_V5UA_DRAFT, v5ua_handle); dissector_add_uint("sctp.port", SCTP_PORT_V5UA_RFC, v5ua_handle); diff --git a/epan/dissectors/packet-vcdu.c b/epan/dissectors/packet-vcdu.c index a7b4ef8d3e..29cbf9a810 100644 --- a/epan/dissectors/packet-vcdu.c +++ b/epan/dissectors/packet-vcdu.c @@ -670,7 +670,7 @@ void proto_reg_handoff_vcdu(void) { dissector_add_for_decode_as("udp.port", vcdu_handle); - ccsds_handle = find_dissector("ccsds"); + ccsds_handle = find_dissector_add_dependency("ccsds", proto_vcdu); } /* diff --git a/epan/dissectors/packet-vlan.c b/epan/dissectors/packet-vlan.c index 915129b573..f3c1303c52 100644 --- a/epan/dissectors/packet-vlan.c +++ b/epan/dissectors/packet-vlan.c @@ -287,7 +287,7 @@ proto_reg_handoff_vlan(void) } old_q_in_q_ethertype = q_in_q_ethertype; - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", hfi_vlan->id); dissector_add_uint("ethertype", q_in_q_ethertype, vlan_handle); } diff --git a/epan/dissectors/packet-vmlab.c b/epan/dissectors/packet-vmlab.c index ff1c2547a7..8279ce1fd1 100644 --- a/epan/dissectors/packet-vmlab.c +++ b/epan/dissectors/packet-vmlab.c @@ -185,7 +185,7 @@ proto_reg_handoff_vmlab(void) dissector_add_uint("ethertype", ETHERTYPE_VMLAB, vmlab_handle); - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_vmlab); } /* diff --git a/epan/dissectors/packet-vntag.c b/epan/dissectors/packet-vntag.c index c07ef581e7..81a6da06b6 100644 --- a/epan/dissectors/packet-vntag.c +++ b/epan/dissectors/packet-vntag.c @@ -176,7 +176,7 @@ proto_reg_handoff_vntag(void) vntag_handle = create_dissector_handle(dissect_vntag, proto_vntag); dissector_add_uint("ethertype", ETHERTYPE_VNTAG, vntag_handle); - ethertype_handle = find_dissector("ethertype"); + ethertype_handle = find_dissector_add_dependency("ethertype", proto_vntag); } /* diff --git a/epan/dissectors/packet-vxlan.c b/epan/dissectors/packet-vxlan.c index c5d60162c1..dc2d3da8be 100644 --- a/epan/dissectors/packet-vxlan.c +++ b/epan/dissectors/packet-vxlan.c @@ -200,7 +200,7 @@ proto_reg_handoff_vxlan(void) * meaning that the inner Ethernet frame does *not* include an * FCS. */ - eth_handle = find_dissector("eth_withoutfcs"); + eth_handle = find_dissector_add_dependency("eth_withoutfcs", proto_vxlan); vxlan_handle = create_dissector_handle(dissect_vxlan, proto_vxlan); dissector_add_uint("udp.port", UDP_PORT_VXLAN, vxlan_handle); diff --git a/epan/dissectors/packet-wassp.c b/epan/dissectors/packet-wassp.c index 9533434e20..a3c6f86ddf 100644 --- a/epan/dissectors/packet-wassp.c +++ b/epan/dissectors/packet-wassp.c @@ -2103,8 +2103,8 @@ proto_reg_handoff_wassp(void) heur_dissector_add("udp", dissect_wassp_heur, "WASSP over UDP", "wassp_udp", proto_wassp, HEURISTIC_DISABLE); - snmp_handle = find_dissector("snmp"); - ieee80211_handle = find_dissector("wlan_withoutfcs"); + snmp_handle = find_dissector_add_dependency("snmp", proto_wassp); + ieee80211_handle = find_dissector_add_dependency("wlan_withoutfcs", proto_wassp); } /* diff --git a/epan/dissectors/packet-wcp.c b/epan/dissectors/packet-wcp.c index ae483120fe..1460e6a4d8 100644 --- a/epan/dissectors/packet-wcp.c +++ b/epan/dissectors/packet-wcp.c @@ -790,7 +790,7 @@ proto_reg_handoff_wcp(void) { /* * Get handle for the Frame Relay (uncompressed) dissector. */ - fr_uncompressed_handle = find_dissector("fr_uncompressed"); + fr_uncompressed_handle = find_dissector_add_dependency("fr_uncompressed", proto_wcp); wcp_handle = create_dissector_handle(dissect_wcp, proto_wcp); dissector_add_uint("fr.nlpid", NLPID_COMPRESSED, wcp_handle); diff --git a/epan/dissectors/packet-websocket.c b/epan/dissectors/packet-websocket.c index 603b068608..d8bf15ea21 100644 --- a/epan/dissectors/packet-websocket.c +++ b/epan/dissectors/packet-websocket.c @@ -557,9 +557,9 @@ void proto_reg_handoff_websocket(void) { data_handle = find_dissector("data"); - text_lines_handle = find_dissector("data-text-lines"); - json_handle = find_dissector("json"); - sip_handle = find_dissector("sip"); + text_lines_handle = find_dissector_add_dependency("data-text-lines", proto_websocket); + json_handle = find_dissector_add_dependency("json", proto_websocket); + sip_handle = find_dissector_add_dependency("sip", proto_websocket); proto_http = proto_get_id_by_filter_name("http"); } diff --git a/epan/dissectors/packet-wfleet-hdlc.c b/epan/dissectors/packet-wfleet-hdlc.c index 6ba9c59859..190253a7a2 100644 --- a/epan/dissectors/packet-wfleet-hdlc.c +++ b/epan/dissectors/packet-wfleet-hdlc.c @@ -114,7 +114,7 @@ proto_reg_handoff_wfleet_hdlc(void) * Find the eth dissector and save a ref to it */ - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_wfleet_hdlc); } /* diff --git a/epan/dissectors/packet-wsp.c b/epan/dissectors/packet-wsp.c index fb8609fb0f..fc049bd5ce 100644 --- a/epan/dissectors/packet-wsp.c +++ b/epan/dissectors/packet-wsp.c @@ -7175,9 +7175,9 @@ proto_reg_handoff_wsp(void) /* * Get a handle for the WTP-over-UDP and the generic media dissectors. */ - wtp_fromudp_handle = find_dissector("wtp-udp"); - media_handle = find_dissector("media"); - wbxml_uaprof_handle = find_dissector("wbxml-uaprof"); + wtp_fromudp_handle = find_dissector_add_dependency("wtp-udp", proto_wsp); + media_handle = find_dissector_add_dependency("media", proto_wsp); + wbxml_uaprof_handle = find_dissector_add_dependency("wbxml-uaprof", proto_wsp); /* Only connection-less WSP has no previous handler */ dissector_add_uint("udp.port", UDP_PORT_WSP, wsp_fromudp_handle); diff --git a/epan/dissectors/packet-wtp.c b/epan/dissectors/packet-wtp.c index edffc01353..f35d861921 100644 --- a/epan/dissectors/packet-wtp.c +++ b/epan/dissectors/packet-wtp.c @@ -1075,7 +1075,7 @@ proto_reg_handoff_wtp(void) * Get a handle for the connection-oriented WSP dissector - if WTP * PDUs have data, it is WSP. */ - wsp_handle = find_dissector("wsp-co"); + wsp_handle = find_dissector_add_dependency("wsp-co", proto_wtp); wtp_fromudp_handle = find_dissector("wtp-udp"); dissector_add_uint("udp.port", UDP_PORT_WTP_WSP, wtp_fromudp_handle); diff --git a/epan/dissectors/packet-x25.c b/epan/dissectors/packet-x25.c index a42437412d..0ff3443579 100644 --- a/epan/dissectors/packet-x25.c +++ b/epan/dissectors/packet-x25.c @@ -2407,10 +2407,10 @@ proto_reg_handoff_x25(void) /* * Get handles for various dissectors. */ - ip_handle = find_dissector("ip"); - clnp_handle = find_dissector("clnp"); - ositp_handle = find_dissector("ositp"); - qllc_handle = find_dissector("qllc"); + ip_handle = find_dissector_add_dependency("ip", proto_x25); + clnp_handle = find_dissector_add_dependency("clnp", proto_x25); + ositp_handle = find_dissector_add_dependency("ositp", proto_x25); + qllc_handle = find_dissector_add_dependency("qllc", proto_x25); data_handle = find_dissector("data"); x25_handle = find_dissector("x.25"); diff --git a/epan/dissectors/packet-xip-serval.c b/epan/dissectors/packet-xip-serval.c index b47b275527..54953b4cbe 100644 --- a/epan/dissectors/packet-xip-serval.c +++ b/epan/dissectors/packet-xip-serval.c @@ -414,8 +414,8 @@ void proto_reg_handoff_xip_serval(void) { data_handle = find_dissector("data"); - tcp_handle = find_dissector("tcp"); - udp_handle = find_dissector("udp"); + tcp_handle = find_dissector_add_dependency("tcp", proto_xip_serval); + udp_handle = find_dissector_add_dependency("udp", proto_xip_serval); } /* diff --git a/epan/dissectors/packet-xip.c b/epan/dissectors/packet-xip.c index 538b9d1dec..f7fb208abc 100644 --- a/epan/dissectors/packet-xip.c +++ b/epan/dissectors/packet-xip.c @@ -698,7 +698,7 @@ proto_reg_handoff_xip(void) { dissector_add_uint("ethertype", ETHERTYPE_XIP, xip_handle); - xip_serval_handle = find_dissector("xipserval"); + xip_serval_handle = find_dissector_add_dependency("xipserval", proto_xip); data_handle = find_dissector("data"); } diff --git a/epan/dissectors/packet-xmpp.c b/epan/dissectors/packet-xmpp.c index 1eadaa41e6..bea9bab5c9 100644 --- a/epan/dissectors/packet-xmpp.c +++ b/epan/dissectors/packet-xmpp.c @@ -1481,7 +1481,7 @@ proto_register_xmpp(void) { void proto_reg_handoff_xmpp(void) { - xml_handle = find_dissector("xml"); + xml_handle = find_dissector_add_dependency("xml", proto_xmpp); dissector_add_uint("tcp.port", XMPP_PORT, xmpp_handle); diff --git a/epan/dissectors/packet-xot.c b/epan/dissectors/packet-xot.c index d8c3766125..248aa973c9 100644 --- a/epan/dissectors/packet-xot.c +++ b/epan/dissectors/packet-xot.c @@ -450,7 +450,7 @@ proto_reg_handoff_xot(void) { dissector_add_uint("tcp.port", TCP_PORT_XOT, xot_handle); - x25_handle = find_dissector("x.25"); + x25_handle = find_dissector_add_dependency("x.25", proto_xot); } /* diff --git a/epan/dissectors/packet-zbee-nwk.c b/epan/dissectors/packet-zbee-nwk.c index c8a97fed0e..586c9ee36a 100644 --- a/epan/dissectors/packet-zbee-nwk.c +++ b/epan/dissectors/packet-zbee-nwk.c @@ -1967,8 +1967,8 @@ void proto_reg_handoff_zbee_nwk(void) { /* Find the other dissectors we need. */ data_handle = find_dissector("data"); - aps_handle = find_dissector(ZBEE_PROTOABBREV_APS); - zbee_gp_handle = find_dissector(ZBEE_PROTOABBREV_NWK_GP); + aps_handle = find_dissector_add_dependency(ZBEE_PROTOABBREV_APS, proto_zbee_nwk); + zbee_gp_handle = find_dissector_add_dependency(ZBEE_PROTOABBREV_NWK_GP, proto_zbee_nwk); /* Register our dissector with IEEE 802.15.4 */ dissector_add_for_decode_as(IEEE802154_PROTOABBREV_WPAN_PANID, find_dissector(ZBEE_PROTOABBREV_NWK)); diff --git a/plugins/docsis/packet-docsis.c b/plugins/docsis/packet-docsis.c index de78b83cfd..58b8a88cab 100644 --- a/plugins/docsis/packet-docsis.c +++ b/plugins/docsis/packet-docsis.c @@ -841,7 +841,7 @@ proto_reg_handoff_docsis (void) dissector_add_uint ("wtap_encap", WTAP_ENCAP_DOCSIS, docsis_handle); docsis_mgmt_handle = find_dissector ("docsis_mgmt"); - eth_withoutfcs_handle = find_dissector ("eth_withoutfcs"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_docsis); } /* diff --git a/plugins/ethercat/packet-ecatmb.c b/plugins/ethercat/packet-ecatmb.c index 217b99d29f..91c90ddc00 100644 --- a/plugins/ethercat/packet-ecatmb.c +++ b/plugins/ethercat/packet-ecatmb.c @@ -1983,8 +1983,8 @@ void proto_reg_handoff_ecat_mailbox(void) ecat_mailbox_handle = find_dissector("ecat_mailbox"); dissector_add_uint("ecatf.type", 5, ecat_mailbox_handle); - eth_handle = find_dissector("eth_withoutfcs"); - ams_handle = find_dissector("ams"); + eth_handle = find_dissector_add_dependency("eth_withoutfcs", proto_ecat_mailbox); + ams_handle = find_dissector_add_dependency("ams", proto_ecat_mailbox); } /* diff --git a/plugins/ethercat/packet-esl.c b/plugins/ethercat/packet-esl.c index aed683517c..38049d63b2 100644 --- a/plugins/ethercat/packet-esl.c +++ b/plugins/ethercat/packet-esl.c @@ -363,7 +363,7 @@ proto_reg_handoff_esl(void) { static gboolean initialized = FALSE; if (!initialized) { - eth_withoutfcs_handle = find_dissector("eth_withoutfcs"); + eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_esl); heur_dissector_add("eth", dissect_esl_heur, "EtherCAT over Ethernet", "esl_eth", proto_esl, HEURISTIC_DISABLE); initialized = TRUE; } diff --git a/plugins/ethercat/packet-ethercat-datagram.c b/plugins/ethercat/packet-ethercat-datagram.c index a5387f5b2a..437973c7ea 100644 --- a/plugins/ethercat/packet-ethercat-datagram.c +++ b/plugins/ethercat/packet-ethercat-datagram.c @@ -1696,7 +1696,7 @@ void proto_reg_handoff_ecat(void) ecat_handle = create_dissector_handle(dissect_ecat_datagram, proto_ecat_datagram); dissector_add_uint("ecatf.type", 1 /* EtherCAT type */, ecat_handle); - ecat_mailbox_handle = find_dissector("ecat_mailbox"); + ecat_mailbox_handle = find_dissector_add_dependency("ecat_mailbox", proto_ecat_datagram); } /* diff --git a/plugins/wimaxasncp/packet-wimaxasncp.c b/plugins/wimaxasncp/packet-wimaxasncp.c index 28e8a7d349..d1dca91b70 100644 --- a/plugins/wimaxasncp/packet-wimaxasncp.c +++ b/plugins/wimaxasncp/packet-wimaxasncp.c @@ -3467,7 +3467,7 @@ proto_reg_handoff_wimaxasncp(void) { /* Find the EAP dissector */ - eap_handle = find_dissector("eap"); + eap_handle = find_dissector_add_dependency("eap", proto_wimaxasncp); inited = TRUE; } -- cgit v1.2.3