aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/asn1/c1222/packet-c1222-template.c3
-rw-r--r--epan/dissectors/asn1/h225/packet-h225-template.c6
-rw-r--r--epan/dissectors/asn1/h245/packet-h245-template.c2
-rw-r--r--epan/dissectors/asn1/h248/packet-h248-template.c32
-rw-r--r--epan/dissectors/asn1/h283/packet-h283-template.c2
-rw-r--r--epan/dissectors/asn1/h501/packet-h501-template.c32
-rw-r--r--epan/dissectors/asn1/kerberos/packet-kerberos-template.c2
-rw-r--r--epan/dissectors/asn1/ldap/packet-ldap-template.c2
-rw-r--r--epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c2
-rw-r--r--epan/dissectors/asn1/sabp/packet-sabp-template.c2
-rw-r--r--epan/dissectors/asn1/snmp/packet-snmp-template.c6
-rw-r--r--epan/dissectors/asn1/t38/packet-t38-template.c1
-rw-r--r--epan/dissectors/asn1/tetra/packet-tetra-template.c11
-rw-r--r--epan/dissectors/asn1/ulp/packet-ulp-template.c25
-rw-r--r--epan/dissectors/packet-3com-njack.c4
-rw-r--r--epan/dissectors/packet-3g-a11.c4
-rw-r--r--epan/dissectors/packet-a21.c36
-rw-r--r--epan/dissectors/packet-acn.c2
-rw-r--r--epan/dissectors/packet-actrace.c39
-rw-r--r--epan/dissectors/packet-adwin.c29
-rw-r--r--epan/dissectors/packet-aeron.c2
-rw-r--r--epan/dissectors/packet-alljoyn.c22
-rw-r--r--epan/dissectors/packet-amr.c2
-rw-r--r--epan/dissectors/packet-aodv.c2
-rw-r--r--epan/dissectors/packet-ar_drone.c45
-rw-r--r--epan/dissectors/packet-armagetronad.c6
-rw-r--r--epan/dissectors/packet-artnet.c2
-rw-r--r--epan/dissectors/packet-aruba-adp.c4
-rw-r--r--epan/dissectors/packet-aruba-erm.c49
-rw-r--r--epan/dissectors/packet-aruba-papi.c2
-rw-r--r--epan/dissectors/packet-asap.c2
-rw-r--r--epan/dissectors/packet-asterix.c2
-rw-r--r--epan/dissectors/packet-atalk.c2
-rw-r--r--epan/dissectors/packet-ath.c6
-rw-r--r--epan/dissectors/packet-auto_rp.c10
-rw-r--r--epan/dissectors/packet-ax4000.c6
-rw-r--r--epan/dissectors/packet-ayiya.c2
-rw-r--r--epan/dissectors/packet-babel.c6
-rw-r--r--epan/dissectors/packet-bat.c76
-rw-r--r--epan/dissectors/packet-bfcp.c2
-rw-r--r--epan/dissectors/packet-bfd.c6
-rw-r--r--epan/dissectors/packet-bjnp.c10
-rw-r--r--epan/dissectors/packet-bootp.c6
-rw-r--r--epan/dissectors/packet-brp.c34
-rw-r--r--epan/dissectors/packet-bt-dht.c20
-rw-r--r--epan/dissectors/packet-bt-utp.c22
-rw-r--r--epan/dissectors/packet-bvlc.c45
-rw-r--r--epan/dissectors/packet-c1222.c3
-rw-r--r--epan/dissectors/packet-capwap.c56
-rw-r--r--epan/dissectors/packet-cattp.c17
-rw-r--r--epan/dissectors/packet-ccsds.c2
-rw-r--r--epan/dissectors/packet-cfdp.c2
-rw-r--r--epan/dissectors/packet-chargen.c2
-rw-r--r--epan/dissectors/packet-cigi.c2
-rw-r--r--epan/dissectors/packet-cisco-marker.c2
-rw-r--r--epan/dissectors/packet-cisco-wids.c34
-rw-r--r--epan/dissectors/packet-classicstun.c2
-rw-r--r--epan/dissectors/packet-cnip.c5
-rw-r--r--epan/dissectors/packet-coap.c31
-rw-r--r--epan/dissectors/packet-collectd.c42
-rw-r--r--epan/dissectors/packet-componentstatus.c4
-rw-r--r--epan/dissectors/packet-corosync-totemnet.c35
-rw-r--r--epan/dissectors/packet-cpfi.c16
-rw-r--r--epan/dissectors/packet-cpha.c5
-rw-r--r--epan/dissectors/packet-cups.c6
-rw-r--r--epan/dissectors/packet-daytime.c2
-rw-r--r--epan/dissectors/packet-db-lsp.c2
-rw-r--r--epan/dissectors/packet-ddtp.c5
-rw-r--r--epan/dissectors/packet-dhcpv6.c9
-rw-r--r--epan/dissectors/packet-diameter.c19
-rw-r--r--epan/dissectors/packet-dis.c37
-rw-r--r--epan/dissectors/packet-dlsw.c2
-rw-r--r--epan/dissectors/packet-dmp.c28
-rw-r--r--epan/dissectors/packet-dnp.c2
-rw-r--r--epan/dissectors/packet-dns.c31
-rw-r--r--epan/dissectors/packet-dof.c6
-rw-r--r--epan/dissectors/packet-dtn.c28
-rw-r--r--epan/dissectors/packet-dvb-ipdc.c2
-rw-r--r--epan/dissectors/packet-echo.c2
-rw-r--r--epan/dissectors/packet-ecmp.c19
-rw-r--r--epan/dissectors/packet-edonkey.c5
-rw-r--r--epan/dissectors/packet-egd.c10
-rw-r--r--epan/dissectors/packet-ehs.c2
-rw-r--r--epan/dissectors/packet-elasticsearch.c4
-rw-r--r--epan/dissectors/packet-enip.c4
-rw-r--r--epan/dissectors/packet-enrp.c2
-rw-r--r--epan/dissectors/packet-enttec.c30
-rw-r--r--epan/dissectors/packet-epl.c2
-rw-r--r--epan/dissectors/packet-esio.c4
-rw-r--r--epan/dissectors/packet-eth.c2
-rw-r--r--epan/dissectors/packet-ff.c22
-rw-r--r--epan/dissectors/packet-ff.h5
-rw-r--r--epan/dissectors/packet-forces.c18
-rw-r--r--epan/dissectors/packet-geneve.c3
-rw-r--r--epan/dissectors/packet-glbp.c8
-rw-r--r--epan/dissectors/packet-gsm_ipa.c45
-rw-r--r--epan/dissectors/packet-gsm_osmux.c19
-rw-r--r--epan/dissectors/packet-gsmtap.c2
-rw-r--r--epan/dissectors/packet-gtp.c2
-rw-r--r--epan/dissectors/packet-gvsp.c11
-rw-r--r--epan/dissectors/packet-h225.c16
-rw-r--r--epan/dissectors/packet-h245.c2
-rw-r--r--epan/dissectors/packet-h248.c38
-rw-r--r--epan/dissectors/packet-h283.c2
-rw-r--r--epan/dissectors/packet-h501.c38
-rw-r--r--epan/dissectors/packet-hartip.c2
-rw-r--r--epan/dissectors/packet-hcrt.c22
-rw-r--r--epan/dissectors/packet-hip.c4
-rw-r--r--epan/dissectors/packet-hiqnet.c2
-rw-r--r--epan/dissectors/packet-hp-erm.c34
-rw-r--r--epan/dissectors/packet-hsrp.c10
-rw-r--r--epan/dissectors/packet-http.c2
-rw-r--r--epan/dissectors/packet-iapp.c2
-rw-r--r--epan/dissectors/packet-iax2.c2
-rw-r--r--epan/dissectors/packet-icep.c38
-rw-r--r--epan/dissectors/packet-icp.c2
-rw-r--r--epan/dissectors/packet-icq.c2
-rw-r--r--epan/dissectors/packet-infiniband.c3
-rw-r--r--epan/dissectors/packet-interlink.c2
-rw-r--r--epan/dissectors/packet-ip.c2
-rw-r--r--epan/dissectors/packet-ipsec-udp.c7
-rw-r--r--epan/dissectors/packet-ipv6.c2
-rw-r--r--epan/dissectors/packet-ipvs-syncd.c7
-rw-r--r--epan/dissectors/packet-ipx.c2
-rw-r--r--epan/dissectors/packet-isakmp.c2
-rw-r--r--epan/dissectors/packet-isns.c2
-rw-r--r--epan/dissectors/packet-jmirror.c48
-rw-r--r--epan/dissectors/packet-juniper.c2
-rw-r--r--epan/dissectors/packet-kdp.c4
-rw-r--r--epan/dissectors/packet-kerberos.c2
-rw-r--r--epan/dissectors/packet-kerberos4.c2
-rw-r--r--epan/dissectors/packet-kingfisher.c11
-rw-r--r--epan/dissectors/packet-kink.c6
-rw-r--r--epan/dissectors/packet-knet.c11
-rw-r--r--epan/dissectors/packet-kpasswd.c2
-rw-r--r--epan/dissectors/packet-l2tp.c2
-rw-r--r--epan/dissectors/packet-laplink.c2
-rw-r--r--epan/dissectors/packet-lbmr.c2
-rw-r--r--epan/dissectors/packet-lbtrm.c2
-rw-r--r--epan/dissectors/packet-lbtru.c2
-rw-r--r--epan/dissectors/packet-ldap.c2
-rw-r--r--epan/dissectors/packet-ldp.c40
-rw-r--r--epan/dissectors/packet-ldss.c29
-rw-r--r--epan/dissectors/packet-lge_monitor.c46
-rw-r--r--epan/dissectors/packet-lisp-data.c2
-rw-r--r--epan/dissectors/packet-lisp.c2
-rw-r--r--epan/dissectors/packet-llc.c12
-rw-r--r--epan/dissectors/packet-lmp.c25
-rw-r--r--epan/dissectors/packet-lsc.c42
-rw-r--r--epan/dissectors/packet-lte-rrc.c2
-rw-r--r--epan/dissectors/packet-ltp.c35
-rw-r--r--epan/dissectors/packet-lwapp.c9
-rw-r--r--epan/dissectors/packet-lwres.c38
-rw-r--r--epan/dissectors/packet-mactelnet.c27
-rw-r--r--epan/dissectors/packet-manolito.c7
-rw-r--r--epan/dissectors/packet-mausb.c44
-rw-r--r--epan/dissectors/packet-mcpe.c8
-rw-r--r--epan/dissectors/packet-megaco.c11
-rw-r--r--epan/dissectors/packet-memcache.c18
-rw-r--r--epan/dissectors/packet-mih.c2
-rw-r--r--epan/dissectors/packet-mikey.c31
-rw-r--r--epan/dissectors/packet-mint.c4
-rw-r--r--epan/dissectors/packet-miop.c2
-rw-r--r--epan/dissectors/packet-mip.c2
-rw-r--r--epan/dissectors/packet-mip6.c2
-rw-r--r--epan/dissectors/packet-mndp.c4
-rw-r--r--epan/dissectors/packet-mojito.c38
-rw-r--r--epan/dissectors/packet-moldudp.c37
-rw-r--r--epan/dissectors/packet-moldudp64.c35
-rw-r--r--epan/dissectors/packet-mp2t.c2
-rw-r--r--epan/dissectors/packet-mpls-echo.c29
-rw-r--r--epan/dissectors/packet-mpls.c2
-rw-r--r--epan/dissectors/packet-mqtt-sn.c2
-rw-r--r--epan/dissectors/packet-ms-mms.c2
-rw-r--r--epan/dissectors/packet-msproxy.c5
-rw-r--r--epan/dissectors/packet-nat-pmp.c9
-rw-r--r--epan/dissectors/packet-nb_rtpmux.c49
-rw-r--r--epan/dissectors/packet-nbt.c4
-rw-r--r--epan/dissectors/packet-netdump.c41
-rw-r--r--epan/dissectors/packet-newmail.c41
-rw-r--r--epan/dissectors/packet-nordic_ble.c17
-rw-r--r--epan/dissectors/packet-nsip.c31
-rw-r--r--epan/dissectors/packet-nt-tpcp.c7
-rw-r--r--epan/dissectors/packet-ntp.c2
-rw-r--r--epan/dissectors/packet-nwmtp.c2
-rw-r--r--epan/dissectors/packet-obex.c2
-rw-r--r--epan/dissectors/packet-oicq.c7
-rw-r--r--epan/dissectors/packet-olsr.c2
-rw-r--r--epan/dissectors/packet-omron-fins.c4
-rw-r--r--epan/dissectors/packet-opensafety.c1
-rw-r--r--epan/dissectors/packet-openvpn.c27
-rw-r--r--epan/dissectors/packet-p_mul.c29
-rw-r--r--epan/dissectors/packet-packetbb.c30
-rw-r--r--epan/dissectors/packet-pana.c2
-rw-r--r--epan/dissectors/packet-pathport.c4
-rw-r--r--epan/dissectors/packet-pcli.c26
-rw-r--r--epan/dissectors/packet-peekremote.c4
-rw-r--r--epan/dissectors/packet-pgm.c57
-rw-r--r--epan/dissectors/packet-pktc.c4
-rw-r--r--epan/dissectors/packet-pnrp.c2
-rw-r--r--epan/dissectors/packet-ptp.c6
-rw-r--r--epan/dissectors/packet-pulse.c41
-rw-r--r--epan/dissectors/packet-pw-cesopsn.c2
-rw-r--r--epan/dissectors/packet-pw-satop.c2
-rw-r--r--epan/dissectors/packet-quake.c30
-rw-r--r--epan/dissectors/packet-quake2.c43
-rw-r--r--epan/dissectors/packet-quake3.c8
-rw-r--r--epan/dissectors/packet-quakeworld.c43
-rw-r--r--epan/dissectors/packet-quic.c40
-rw-r--r--epan/dissectors/packet-radius.c41
-rw-r--r--epan/dissectors/packet-rdt.c54
-rw-r--r--epan/dissectors/packet-redbackli.c5
-rw-r--r--epan/dissectors/packet-reload-framing.c2
-rw-r--r--epan/dissectors/packet-riemann.c30
-rw-r--r--epan/dissectors/packet-rip.c2
-rw-r--r--epan/dissectors/packet-ripng.c2
-rw-r--r--epan/dissectors/packet-rmcp.c4
-rw-r--r--epan/dissectors/packet-rmt-alc.c38
-rw-r--r--epan/dissectors/packet-rmt-norm.c2
-rw-r--r--epan/dissectors/packet-rpc.c2
-rw-r--r--epan/dissectors/packet-rsip.c2
-rw-r--r--epan/dissectors/packet-rsvp.c2
-rw-r--r--epan/dissectors/packet-rtcp.c2
-rw-r--r--epan/dissectors/packet-rtls.c2
-rw-r--r--epan/dissectors/packet-rtp.c35
-rw-r--r--epan/dissectors/packet-rtpproxy.c25
-rw-r--r--epan/dissectors/packet-rudp.c60
-rw-r--r--epan/dissectors/packet-rx.c12
-rw-r--r--epan/dissectors/packet-sabp.c2
-rw-r--r--epan/dissectors/packet-sap.c2
-rw-r--r--epan/dissectors/packet-sbus.c4
-rw-r--r--epan/dissectors/packet-scop.c57
-rw-r--r--epan/dissectors/packet-sctp.c2
-rw-r--r--epan/dissectors/packet-sebek.c4
-rw-r--r--epan/dissectors/packet-sflow.c38
-rw-r--r--epan/dissectors/packet-sigcomp.c48
-rw-r--r--epan/dissectors/packet-simple.c2
-rw-r--r--epan/dissectors/packet-simulcrypt.c18
-rw-r--r--epan/dissectors/packet-sip.c4
-rw-r--r--epan/dissectors/packet-skype.c2
-rw-r--r--epan/dissectors/packet-slimp3.c9
-rw-r--r--epan/dissectors/packet-sml.c24
-rw-r--r--epan/dissectors/packet-snmp.c6
-rw-r--r--epan/dissectors/packet-sprt.c2
-rw-r--r--epan/dissectors/packet-srvloc.c2
-rw-r--r--epan/dissectors/packet-sscop.c24
-rw-r--r--epan/dissectors/packet-stun.c2
-rw-r--r--epan/dissectors/packet-sync.c2
-rw-r--r--epan/dissectors/packet-synphasor.c34
-rw-r--r--epan/dissectors/packet-syslog.c2
-rw-r--r--epan/dissectors/packet-t38.c1
-rw-r--r--epan/dissectors/packet-tacacs.c2
-rw-r--r--epan/dissectors/packet-tapa.c4
-rw-r--r--epan/dissectors/packet-tdmop.c27
-rw-r--r--epan/dissectors/packet-teamspeak2.c4
-rw-r--r--epan/dissectors/packet-teredo.c2
-rw-r--r--epan/dissectors/packet-tetra.c15
-rw-r--r--epan/dissectors/packet-tftp.c39
-rw-r--r--epan/dissectors/packet-time.c2
-rw-r--r--epan/dissectors/packet-tipc.c38
-rw-r--r--epan/dissectors/packet-tivoconnect.c2
-rw-r--r--epan/dissectors/packet-tsp.c2
-rw-r--r--epan/dissectors/packet-turnchannel.c2
-rw-r--r--epan/dissectors/packet-tzsp.c7
-rw-r--r--epan/dissectors/packet-uaudp.c142
-rw-r--r--epan/dissectors/packet-udt.c2
-rw-r--r--epan/dissectors/packet-uftp.c8
-rw-r--r--epan/dissectors/packet-uhd.c28
-rw-r--r--epan/dissectors/packet-ulp.c37
-rw-r--r--epan/dissectors/packet-uma.c2
-rw-r--r--epan/dissectors/packet-userlog.c2
-rw-r--r--epan/dissectors/packet-vcdu.c2
-rw-r--r--epan/dissectors/packet-vines.c2
-rw-r--r--epan/dissectors/packet-vrt.c48
-rw-r--r--epan/dissectors/packet-vsip.c2
-rw-r--r--epan/dissectors/packet-vuze-dht.c38
-rw-r--r--epan/dissectors/packet-vxlan.c4
-rw-r--r--epan/dissectors/packet-wap.h2
-rw-r--r--epan/dissectors/packet-wassp.c6
-rw-r--r--epan/dissectors/packet-wccp.c2
-rw-r--r--epan/dissectors/packet-who.c2
-rw-r--r--epan/dissectors/packet-wlccp.c4
-rw-r--r--epan/dissectors/packet-wsp.c13
-rw-r--r--epan/dissectors/packet-wtls.c12
-rw-r--r--epan/dissectors/packet-wtp.c2
-rw-r--r--epan/dissectors/packet-xdmcp.c5
-rw-r--r--epan/dissectors/packet-xyplex.c2
-rw-r--r--epan/dissectors/packet-yami.c20
-rw-r--r--epan/dissectors/packet-zep.c50
-rw-r--r--epan/dissectors/packet-ziop.c5
-rw-r--r--epan/dissectors/packet-zrtp.c2
291 files changed, 933 insertions, 3127 deletions
diff --git a/epan/dissectors/asn1/c1222/packet-c1222-template.c b/epan/dissectors/asn1/c1222/packet-c1222-template.c
index c177ca6b18..1c8b5ae40a 100644
--- a/epan/dissectors/asn1/c1222/packet-c1222-template.c
+++ b/epan/dissectors/asn1/c1222/packet-c1222-template.c
@@ -191,7 +191,6 @@ static expert_field ei_c1222_epsem_field_length_error = EI_INIT;
static expert_field ei_c1222_mac_missing = EI_INIT;
/* Preferences */
-static int global_c1222_port = C1222_PORT;
static gboolean c1222_desegment = TRUE;
#ifdef HAVE_LIBGCRYPT
static gboolean c1222_decrypt = TRUE;
@@ -1419,7 +1418,7 @@ proto_reg_handoff_c1222(void)
c1222_handle = create_dissector_handle(dissect_c1222, proto_c1222);
c1222_udp_handle = create_dissector_handle(dissect_c1222_common, proto_c1222);
dissector_add_uint_with_preference("tcp.port", C1222_PORT, c1222_handle);
- dissector_add_uint("udp.port", global_c1222_port, c1222_udp_handle);
+ dissector_add_uint_with_preference("udp.port", C1222_PORT, c1222_udp_handle);
initialized = TRUE;
}
if (c1222_baseoid_str && (c1222_baseoid_str[0] != '\0') &&
diff --git a/epan/dissectors/asn1/h225/packet-h225-template.c b/epan/dissectors/asn1/h225/packet-h225-template.c
index 4180bd2d06..6ff87cfb41 100644
--- a/epan/dissectors/asn1/h225/packet-h225-template.c
+++ b/epan/dissectors/asn1/h225/packet-h225-template.c
@@ -57,8 +57,7 @@
#define PSNAME "H.225.0"
#define PFNAME "h225"
-#define UDP_PORT_RAS1 1718
-#define UDP_PORT_RAS2 1719
+#define UDP_PORT_RAS_RANGE "1718-1719"
#define TCP_PORT_CS 1720
#define TLS_PORT_CS 1300
@@ -936,8 +935,7 @@ proto_reg_handoff_h225(void)
static guint saved_h225_tls_port;
if (!h225_prefs_initialized) {
- dissector_add_uint("udp.port", UDP_PORT_RAS1, h225ras_handle);
- dissector_add_uint("udp.port", UDP_PORT_RAS2, h225ras_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_RAS_RANGE, h225ras_handle);
h245_handle = find_dissector("h245");
h245dg_handle = find_dissector("h245dg");
diff --git a/epan/dissectors/asn1/h245/packet-h245-template.c b/epan/dissectors/asn1/h245/packet-h245-template.c
index ce66688a6b..a8cad58d47 100644
--- a/epan/dissectors/asn1/h245/packet-h245-template.c
+++ b/epan/dissectors/asn1/h245/packet-h245-template.c
@@ -611,7 +611,7 @@ void proto_reg_handoff_h245(void) {
dissector_add_for_decode_as_with_preference("tcp.port", h245_handle);
- dissector_add_for_decode_as("udp.port", MultimediaSystemControlMessage_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", MultimediaSystemControlMessage_handle);
}
static void init_h245_packet_info(h245_packet_info *pi)
diff --git a/epan/dissectors/asn1/h248/packet-h248-template.c b/epan/dissectors/asn1/h248/packet-h248-template.c
index abe81546fb..3dbc8940a4 100644
--- a/epan/dissectors/asn1/h248/packet-h248-template.c
+++ b/epan/dissectors/asn1/h248/packet-h248-template.c
@@ -835,9 +835,8 @@ void gcp_analyze_msg(proto_tree* gcp_tree, packet_info* pinfo, tvbuff_t* gcp_tvb
/* END Gateway Control Protocol -- Context Tracking */
+#define H248_PORT 2945
static gboolean keep_persistent_data = FALSE;
-static guint global_udp_port = 2945;
-#define H248_TCP_PORT 2945
static gboolean h248_desegment = TRUE;
@@ -2373,16 +2372,11 @@ void proto_register_h248(void) {
subdissector_table = register_dissector_table("h248.magic_num", "H248 Magic Num", proto_h248, FT_UINT32, BASE_HEX);
- h248_module = prefs_register_protocol(proto_h248, proto_reg_handoff_h248);
+ h248_module = prefs_register_protocol(proto_h248, NULL);
prefs_register_bool_preference(h248_module, "ctx_info",
"Track Context",
"Maintain relationships between transactions and contexts and display an extra tree showing context data",
&keep_persistent_data);
- prefs_register_uint_preference(h248_module, "udp_port",
- "UDP port",
- "Port to be decoded as h248",
- 10,
- &global_udp_port);
prefs_register_bool_preference(h248_module, "desegment",
"Desegment H.248 over TCP",
"Desegment H.248 messages that span more TCP segments",
@@ -2399,24 +2393,10 @@ void proto_register_h248(void) {
/*--- proto_reg_handoff_h248 -------------------------------------------*/
void proto_reg_handoff_h248(void) {
- static gboolean initialized = FALSE;
- static guint32 udp_port;
-
- if (!initialized) {
- dissector_add_uint("mtp3.service_indicator", MTP_SI_GCP, h248_handle);
- h248_term_handle = find_dissector_add_dependency("h248term", proto_h248);
- dissector_add_uint_with_preference("tcp.port", H248_TCP_PORT, h248_tpkt_handle);
- initialized = TRUE;
- } else {
- if (udp_port != 0)
- dissector_delete_uint("udp.port", udp_port, h248_handle);
- }
-
- udp_port = global_udp_port;
-
- if (udp_port != 0) {
- dissector_add_uint("udp.port", udp_port, h248_handle);
- }
+ dissector_add_uint("mtp3.service_indicator", MTP_SI_GCP, h248_handle);
+ h248_term_handle = find_dissector_add_dependency("h248term", proto_h248);
+ dissector_add_uint_with_preference("tcp.port", H248_PORT, h248_tpkt_handle);
+ dissector_add_uint_with_preference("udp.port", H248_PORT, h248_handle);
ss7pc_address_type = address_type_get_by_name("AT_SS7PC");
exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
diff --git a/epan/dissectors/asn1/h283/packet-h283-template.c b/epan/dissectors/asn1/h283/packet-h283-template.c
index 14f2818ab2..1c4c8503fc 100644
--- a/epan/dissectors/asn1/h283/packet-h283-template.c
+++ b/epan/dissectors/asn1/h283/packet-h283-template.c
@@ -99,7 +99,7 @@ void proto_register_h283(void) {
/*--- proto_reg_handoff_h283 -------------------------------------------*/
void proto_reg_handoff_h283(void)
{
- dissector_add_for_decode_as("udp.port", h283_udp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", h283_udp_handle);
rdc_pdu_handle = find_dissector_add_dependency("rdc", proto_h283);
rdc_device_list_handle = find_dissector_add_dependency("rdc.device_list", proto_h283);
diff --git a/epan/dissectors/asn1/h501/packet-h501-template.c b/epan/dissectors/asn1/h501/packet-h501-template.c
index ab7538d1d5..d7f0969c96 100644
--- a/epan/dissectors/asn1/h501/packet-h501-template.c
+++ b/epan/dissectors/asn1/h501/packet-h501-template.c
@@ -51,8 +51,7 @@ static int ett_h501 = -1;
static dissector_handle_t h501_pdu_handle;
/* Preferences */
-#define H501_TCP_PORT 2099
-static guint h501_udp_port = 2099;
+#define H501_PORT 2099
static gboolean h501_desegment_tcp = TRUE;
void proto_reg_handoff_h501(void);
@@ -111,11 +110,7 @@ void proto_register_h501(void) {
h501_pdu_handle = register_dissector(PFNAME, dissect_h501_pdu, proto_h501);
- h501_module = prefs_register_protocol(proto_h501, proto_reg_handoff_h501);
- prefs_register_uint_preference(h501_module, "udp.port",
- "UDP port",
- "Port to be decoded as h501",
- 10, &h501_udp_port);
+ h501_module = prefs_register_protocol(proto_h501, NULL);
prefs_register_bool_preference(h501_module, "desegment",
"Desegment H.501 over TCP",
"Desegment H.501 messages that span more TCP segments",
@@ -126,23 +121,12 @@ void proto_register_h501(void) {
/*--- proto_reg_handoff_h501 -------------------------------------------*/
void proto_reg_handoff_h501(void)
{
- static gboolean h501_prefs_initialized = FALSE;
- static dissector_handle_t h501_udp_handle;
- static dissector_handle_t h501_tcp_handle;
- static guint saved_h501_udp_port;
-
- if (!h501_prefs_initialized) {
- h501_udp_handle = create_dissector_handle(dissect_h501_udp, proto_h501);
- h501_tcp_handle = create_dissector_handle(dissect_h501_tcp, proto_h501);
- dissector_add_uint_with_preference("tcp.port", H501_TCP_PORT, h501_tcp_handle);
- h501_prefs_initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", saved_h501_udp_port, h501_udp_handle);
- }
-
- /* Set our port number for future use */
- saved_h501_udp_port = h501_udp_port;
- dissector_add_uint("udp.port", saved_h501_udp_port, h501_udp_handle);
+ dissector_handle_t h501_udp_handle;
+ dissector_handle_t h501_tcp_handle;
+ h501_udp_handle = create_dissector_handle(dissect_h501_udp, proto_h501);
+ h501_tcp_handle = create_dissector_handle(dissect_h501_tcp, proto_h501);
+ dissector_add_uint_with_preference("tcp.port", H501_PORT, h501_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", H501_PORT, h501_udp_handle);
}
diff --git a/epan/dissectors/asn1/kerberos/packet-kerberos-template.c b/epan/dissectors/asn1/kerberos/packet-kerberos-template.c
index 7a8a4ab335..c1e3796401 100644
--- a/epan/dissectors/asn1/kerberos/packet-kerberos-template.c
+++ b/epan/dissectors/asn1/kerberos/packet-kerberos-template.c
@@ -2338,7 +2338,7 @@ proto_reg_handoff_kerberos(void)
kerberos_handle_tcp = create_dissector_handle(dissect_kerberos_tcp,
proto_kerberos);
- dissector_add_uint("udp.port", UDP_PORT_KERBEROS, kerberos_handle_udp);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_KERBEROS, kerberos_handle_udp);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_KERBEROS, kerberos_handle_tcp);
register_dcerpc_auth_subdissector(DCE_C_AUTHN_LEVEL_CONNECT,
diff --git a/epan/dissectors/asn1/ldap/packet-ldap-template.c b/epan/dissectors/asn1/ldap/packet-ldap-template.c
index d65c7c6ca3..9298e21377 100644
--- a/epan/dissectors/asn1/ldap/packet-ldap-template.c
+++ b/epan/dissectors/asn1/ldap/packet-ldap-template.c
@@ -2246,7 +2246,7 @@ proto_reg_handoff_ldap(void)
dissector_handle_t cldap_handle;
cldap_handle = create_dissector_handle(dissect_mscldap, proto_cldap);
- dissector_add_uint("udp.port", UDP_PORT_CLDAP, cldap_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_CLDAP, cldap_handle);
gssapi_handle = find_dissector_add_dependency("gssapi", proto_ldap);
gssapi_wrap_handle = find_dissector_add_dependency("gssapi_verf", proto_ldap);
diff --git a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
index 1f6d0f6845..5d10f6cbd3 100644
--- a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
+++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
@@ -4023,7 +4023,7 @@ proto_reg_handoff_lte_rrc(void)
static dissector_handle_t lte_rrc_dl_ccch_handle;
lte_rrc_dl_ccch_handle = find_dissector("lte_rrc.dl_ccch");
- dissector_add_for_decode_as("udp.port", lte_rrc_dl_ccch_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", lte_rrc_dl_ccch_handle);
nas_eps_handle = find_dissector("nas-eps");
rrc_irat_ho_to_utran_cmd_handle = find_dissector("rrc.irat.ho_to_utran_cmd");
rrc_sys_info_cont_handle = find_dissector("rrc.sysinfo.cont");
diff --git a/epan/dissectors/asn1/sabp/packet-sabp-template.c b/epan/dissectors/asn1/sabp/packet-sabp-template.c
index 5f68453dbd..f0058442a6 100644
--- a/epan/dissectors/asn1/sabp/packet-sabp-template.c
+++ b/epan/dissectors/asn1/sabp/packet-sabp-template.c
@@ -288,7 +288,7 @@ void proto_register_sabp(void) {
void
proto_reg_handoff_sabp(void)
{
- dissector_add_uint("udp.port", SABP_PORT, sabp_handle);
+ dissector_add_uint_with_preference("udp.port", SABP_PORT, sabp_handle);
dissector_add_uint_with_preference("tcp.port", SABP_PORT, sabp_tcp_handle);
dissector_add_uint("sctp.ppi", SABP_PAYLOAD_PROTOCOL_ID, sabp_handle);
diff --git a/epan/dissectors/asn1/snmp/packet-snmp-template.c b/epan/dissectors/asn1/snmp/packet-snmp-template.c
index a10b26415d..3b3cfb70a1 100644
--- a/epan/dissectors/asn1/snmp/packet-snmp-template.c
+++ b/epan/dissectors/asn1/snmp/packet-snmp-template.c
@@ -2579,9 +2579,7 @@ void proto_register_snmp(void) {
void proto_reg_handoff_snmp(void) {
dissector_handle_t snmp_tcp_handle;
- dissector_add_uint("udp.port", UDP_PORT_SNMP, snmp_handle);
- dissector_add_uint("udp.port", UDP_PORT_SNMP_TRAP, snmp_handle);
- dissector_add_uint("udp.port", UDP_PORT_SNMP_PATROL, snmp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_SNMP, snmp_handle);
dissector_add_uint("ethertype", ETHERTYPE_SNMP, snmp_handle);
dissector_add_uint("ipx.socket", IPX_SOCKET_SNMP_AGENT, snmp_handle);
dissector_add_uint("ipx.socket", IPX_SOCKET_SNMP_SINK, snmp_handle);
@@ -2593,6 +2591,8 @@ void proto_reg_handoff_snmp(void) {
the "trap" port doesn't really need a separate preference. Just register
normally */
dissector_add_uint("tcp.port", TCP_PORT_SNMP_TRAP, snmp_tcp_handle);
+ dissector_add_uint("udp.port", UDP_PORT_SNMP_TRAP, snmp_handle);
+ dissector_add_uint("udp.port", UDP_PORT_SNMP_PATROL, snmp_handle);
data_handle = find_dissector("data");
diff --git a/epan/dissectors/asn1/t38/packet-t38-template.c b/epan/dissectors/asn1/t38/packet-t38-template.c
index 51f41b93e9..bdf42f645e 100644
--- a/epan/dissectors/asn1/t38/packet-t38-template.c
+++ b/epan/dissectors/asn1/t38/packet-t38-template.c
@@ -739,7 +739,6 @@ proto_register_t38(void)
"be dissected as RTP packet or T.38 packet. If enabled there is a risk that T.38 UDPTL "
"packets with sequence number higher than 32767 may be dissected as RTP.",
&dissect_possible_rtpv2_packets_as_rtp);
- prefs_register_obsolete_preference(t38_module, "udp.port");
prefs_register_bool_preference(t38_module, "reassembly",
"Reassemble T.38 PDUs over TPKT over TCP",
"Whether the dissector should reassemble T.38 PDUs spanning multiple TCP segments "
diff --git a/epan/dissectors/asn1/tetra/packet-tetra-template.c b/epan/dissectors/asn1/tetra/packet-tetra-template.c
index fbff495526..c04c5f6d22 100644
--- a/epan/dissectors/asn1/tetra/packet-tetra-template.c
+++ b/epan/dissectors/asn1/tetra/packet-tetra-template.c
@@ -48,7 +48,7 @@ static int proto_tetra = -1;
static dissector_handle_t tetra_handle;
-static int global_tetra_port = 7074;
+#define TETRA_UDP_PORT 7074 /* Not IANA assigned */
/* Whether the capture data include carrier numbers */
static gboolean include_carrier_number = TRUE;
@@ -546,13 +546,8 @@ dissect_tetra(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U
void proto_reg_handoff_tetra(void)
{
- static gboolean initialized=FALSE;
-
- if (!initialized) {
- tetra_handle = create_dissector_handle(dissect_tetra, proto_tetra);
- dissector_add_uint("udp.port", global_tetra_port, tetra_handle);
- }
-
+ tetra_handle = create_dissector_handle(dissect_tetra, proto_tetra);
+ dissector_add_uint_with_preference("udp.port", TETRA_UDP_PORT, tetra_handle);
}
diff --git a/epan/dissectors/asn1/ulp/packet-ulp-template.c b/epan/dissectors/asn1/ulp/packet-ulp-template.c
index 4861779d73..669f8dd1d1 100644
--- a/epan/dissectors/asn1/ulp/packet-ulp-template.c
+++ b/epan/dissectors/asn1/ulp/packet-ulp-template.c
@@ -52,7 +52,6 @@ static dissector_handle_t lpp_handle;
* oma-ulp 7275/udp OMA UserPlane Location
*/
#define ULP_PORT 7275
-static guint gbl_ulp_udp_port = ULP_PORT;
/* Initialize the protocol and registered fields */
static int proto_ulp = -1;
@@ -419,21 +418,13 @@ void proto_register_ulp(void) {
proto_register_field_array(proto_ulp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- ulp_module = prefs_register_protocol(proto_ulp,proto_reg_handoff_ulp);
+ ulp_module = prefs_register_protocol(proto_ulp, NULL);
prefs_register_bool_preference(ulp_module, "desegment_ulp_messages",
"Reassemble ULP messages spanning multiple TCP segments",
"Whether the ULP dissector should reassemble messages spanning multiple TCP segments."
" To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
&ulp_desegment);
-
- /* Register a configuration option for port */
- prefs_register_uint_preference(ulp_module, "udp.port",
- "ULP UDP Port",
- "Set the UDP port for ULP messages (IANA registered port is 7275)",
- 10,
- &gbl_ulp_udp_port);
-
}
@@ -441,23 +432,15 @@ void proto_register_ulp(void) {
void
proto_reg_handoff_ulp(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t ulp_udp_handle;
- static guint local_ulp_udp_port;
+ dissector_handle_t ulp_udp_handle;
- if (!initialized) {
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_add_dependency("rrlp", proto_ulp);
lpp_handle = find_dissector_add_dependency("lpp", proto_ulp);
- dissector_add_uint_with_preference("tcp.port", ULP_PORT, ulp_tcp_handle);
- initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", local_ulp_udp_port, ulp_udp_handle);
- }
- local_ulp_udp_port = gbl_ulp_udp_port;
- dissector_add_uint("udp.port", gbl_ulp_udp_port, ulp_udp_handle);
+ dissector_add_uint_with_preference("tcp.port", ULP_PORT, ulp_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", ULP_PORT, ulp_udp_handle);
}
diff --git a/epan/dissectors/packet-3com-njack.c b/epan/dissectors/packet-3com-njack.c
index b51673c356..26207c07c5 100644
--- a/epan/dissectors/packet-3com-njack.c
+++ b/epan/dissectors/packet-3com-njack.c
@@ -97,6 +97,7 @@ static int hf_njack_getresp_unknown1 = -1;
#define PROTO_SHORT_NAME "NJACK"
#define PROTO_LONG_NAME "3com Network Jack"
+#define NJACK_PORT_RANGE "5264-5265"
#define PORT_NJACK_PC 5264
#define PORT_NJACK_SWITCH 5265
@@ -784,9 +785,8 @@ proto_reg_handoff_njack(void)
dissector_handle_t njack_handle;
njack_handle = create_dissector_handle(dissect_njack_static, proto_njack);
- dissector_add_uint("udp.port", PORT_NJACK_PC, njack_handle);
+ dissector_add_uint_range_with_preference("udp.port", NJACK_PORT_RANGE, njack_handle);
/* dissector_add_uint_with_preference("tcp.port", PORT_NJACK_PC, njack_handle); */
- dissector_add_uint("udp.port", PORT_NJACK_SWITCH, njack_handle);
/* dissector_add_uint_with_preference("tcp.port", PORT_NJACK_SWITCH, njack_handle); */
heur_dissector_add("udp", dissect_njack_heur, "NJACK over UDP", "njack_udp", proto_njack, HEURISTIC_ENABLE);
diff --git a/epan/dissectors/packet-3g-a11.c b/epan/dissectors/packet-3g-a11.c
index e065ab781a..a1e9205890 100644
--- a/epan/dissectors/packet-3g-a11.c
+++ b/epan/dissectors/packet-3g-a11.c
@@ -224,7 +224,7 @@ static expert_field ei_a11_entry_data_not_dissected = EI_INIT;
static expert_field ei_a11_session_data_not_dissected = EI_INIT;
/* Port used for Mobile IP based Tunneling Protocol (A11) */
-#define UDP_PORT_3GA11 699
+#define UDP_PORT_3GA11 699 /* Not IANA registered */
typedef enum {
REGISTRATION_REQUEST = 1,
@@ -2739,7 +2739,7 @@ proto_reg_handoff_a11(void)
dissector_handle_t a11_handle;
a11_handle = find_dissector("a11");
- dissector_add_uint("udp.port", UDP_PORT_3GA11, a11_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_3GA11, a11_handle);
/* 3GPP2-Service-Option-Profile(74) */
radius_register_avp_dissector(VENDOR_THE3GPP2, 74, dissect_3gpp2_service_option_profile);
diff --git a/epan/dissectors/packet-a21.c b/epan/dissectors/packet-a21.c
index bcb8e8ff1d..4ca1fc4ab4 100644
--- a/epan/dissectors/packet-a21.c
+++ b/epan/dissectors/packet-a21.c
@@ -27,7 +27,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
#include "packet-e212.h"
@@ -36,11 +35,7 @@
void proto_register_a21(void);
void proto_reg_handoff_a21(void);
-/* Preferences */
#define A21_PORT 23272
-/* Default the port to zero */
-static guint a21_udp_port = 0;
-
static dissector_handle_t gcsna_handle = NULL;
static int proto_a21 = -1;
@@ -931,7 +926,6 @@ void proto_register_a21(void)
&ett_a21_record_content
};
- module_t *a21_module;
expert_module_t *expert_a21;
static ei_register_info ei[] = {
@@ -945,37 +939,15 @@ void proto_register_a21(void)
proto_register_subtree_array(ett_a21_array, array_length(ett_a21_array));
expert_a21 = expert_register_protocol(proto_a21);
expert_register_field_array(expert_a21, ei, array_length(ei));
-
- a21_module = prefs_register_protocol(proto_a21, proto_reg_handoff_a21);
-
- prefs_register_uint_preference(a21_module, "udp.port",
- "A21 UDP Port",
- "UDP port used by A21, usually 23272",
- 10, &a21_udp_port);
-
}
void proto_reg_handoff_a21(void)
{
- static dissector_handle_t a21_handle;
- static gboolean a21_prefs_initialized = FALSE;
- static guint saved_a21_udp_port;
-
-
- if (!a21_prefs_initialized) {
- a21_handle = create_dissector_handle(dissect_a21, proto_a21);
- gcsna_handle = find_dissector_add_dependency("gcsna", proto_a21);
- dissector_add_uint("udp.port", a21_udp_port, a21_handle);
- a21_prefs_initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", saved_a21_udp_port, a21_handle);
- }
-
- saved_a21_udp_port = a21_udp_port;
- if (a21_udp_port != 0) {
- dissector_add_uint("udp.port", a21_udp_port, a21_handle);
- }
+ dissector_handle_t a21_handle;
+ a21_handle = create_dissector_handle(dissect_a21, proto_a21);
+ gcsna_handle = find_dissector_add_dependency("gcsna", proto_a21);
+ dissector_add_uint_with_preference("udp.port", A21_PORT, a21_handle);
}
/*
diff --git a/epan/dissectors/packet-acn.c b/epan/dissectors/packet-acn.c
index 86037f419c..3553452e5b 100644
--- a/epan/dissectors/packet-acn.c
+++ b/epan/dissectors/packet-acn.c
@@ -3266,7 +3266,7 @@ proto_reg_handoff_acn(void)
{
/* dissector_handle_t acn_handle; */
/* acn_handle = create_dissector_handle(dissect_acn, proto_acn); */
- /* dissector_add_for_decode_as("udp.port", acn_handle); */
+ /* dissector_add_for_decode_as_with_preference("udp.port", acn_handle); */
heur_dissector_add("udp", dissect_acn_heur, "ACN over UDP", "acn_udp", proto_acn, HEURISTIC_DISABLE);
}
diff --git a/epan/dissectors/packet-actrace.c b/epan/dissectors/packet-actrace.c
index 48207bebdc..dad7c63857 100644
--- a/epan/dissectors/packet-actrace.c
+++ b/epan/dissectors/packet-actrace.c
@@ -28,7 +28,7 @@
#include <epan/prefs.h>
#include <epan/tap.h>
#include "packet-actrace.h"
-#define UDP_PORT_ACTRACE 2428
+#define UDP_PORT_ACTRACE 2428 /* Not IANA registered */
#define NOT_ACTRACE 0
#define ACTRACE_CAS 1
@@ -426,12 +426,6 @@ static int ett_actrace = -1;
static int actrace_tap = -1;
static actrace_info_t *actrace_pi;
-/*
- * Here are the global variables associated with
- * the user definable characteristics of the dissection
- */
-static guint global_actrace_udp_port = UDP_PORT_ACTRACE;
-
/* Some basic utility functions that are specific to this dissector */
static int is_actrace(tvbuff_t *tvb, gint offset);
@@ -794,13 +788,7 @@ void proto_register_actrace(void)
proto_register_subtree_array(ett, array_length(ett));
/* Register our configuration options */
- actrace_module = prefs_register_protocol(proto_actrace, proto_reg_handoff_actrace);
-
- prefs_register_uint_preference(actrace_module, "udp_port",
- "AudioCodes Trunk Trace UDP port",
- "Set the UDP port for AudioCodes Trunk Traces."
- "Use http://x.x.x.x/TrunkTraces to enable the traces in the Blade",
- 10, &global_actrace_udp_port);
+ actrace_module = prefs_register_protocol(proto_actrace, NULL);
prefs_register_obsolete_preference(actrace_module, "display_dissect_tree");
@@ -810,26 +798,13 @@ void proto_register_actrace(void)
/* The registration hand-off routine */
void proto_reg_handoff_actrace(void)
{
- static gboolean actrace_prefs_initialized = FALSE;
- static dissector_handle_t actrace_handle;
- static guint actrace_udp_port;
-
- if (!actrace_prefs_initialized)
- {
- actrace_handle = create_dissector_handle(dissect_actrace, proto_actrace);
- /* Get a handle for the lapd dissector. */
- lapd_handle = find_dissector_add_dependency("lapd", proto_actrace);
- actrace_prefs_initialized = TRUE;
- }
- else
- {
- dissector_delete_uint("udp.port", actrace_udp_port, actrace_handle);
- }
+ dissector_handle_t actrace_handle;
- /* Set our port number for future use */
- actrace_udp_port = global_actrace_udp_port;
+ /* Get a handle for the lapd dissector. */
+ lapd_handle = find_dissector_add_dependency("lapd", proto_actrace);
- dissector_add_uint("udp.port", global_actrace_udp_port, actrace_handle);
+ actrace_handle = create_dissector_handle(dissect_actrace, proto_actrace);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_ACTRACE, actrace_handle);
}
/*
diff --git a/epan/dissectors/packet-adwin.c b/epan/dissectors/packet-adwin.c
index 033d1ff66e..18f839dfb2 100644
--- a/epan/dissectors/packet-adwin.c
+++ b/epan/dissectors/packet-adwin.c
@@ -30,8 +30,7 @@
void proto_reg_handoff_adwin(void);
void proto_register_adwin(void);
-/* This is registered to a different protocol */
-#define ADWIN_COMM_PORT 6543
+#define ADWIN_COMM_PORT 6543 /* Not IANA registered */
/* lengths of valid packet structures */
#define UDPH1_OLD_LENGTH 52
@@ -442,7 +441,6 @@ static value_string_ext packet_type_mapping_ext = VALUE_STRING_EXT_INIT(packet_t
/* Initialize the protocol and registered fields */
static int proto_adwin = -1;
-static unsigned int global_adwin_udp_port = ADWIN_COMM_PORT;
static int global_adwin_dissect_data = 1;
static int hf_adwin_address = -1;
@@ -1162,19 +1160,10 @@ dissect_adwin(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U
void
proto_reg_handoff_adwin(void)
{
- static int adwin_prefs_initialized = FALSE;
- static dissector_handle_t adwin_handle;
- static unsigned int udp_port;
+ dissector_handle_t adwin_handle;
- if (! adwin_prefs_initialized) {
- adwin_handle = create_dissector_handle(dissect_adwin, proto_adwin);
- adwin_prefs_initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", udp_port, adwin_handle);
- }
-
- udp_port = global_adwin_udp_port;
- dissector_add_uint("udp.port", global_adwin_udp_port, adwin_handle);
+ adwin_handle = create_dissector_handle(dissect_adwin, proto_adwin);
+ dissector_add_uint_with_preference("udp.port", ADWIN_COMM_PORT, adwin_handle);
}
void
@@ -1439,14 +1428,8 @@ proto_register_adwin(void)
proto_register_field_array(proto_adwin, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- /* Register our configuration options for ADwin, particularly
- our port */
- adwin_module = prefs_register_protocol(proto_adwin, proto_reg_handoff_adwin);
-
- prefs_register_uint_preference(adwin_module, "udp.port", "ADwin UDP Port",
- "Set the UDP port for ADwin packets (if other"
- " than the default of 6543)",
- 10, &global_adwin_udp_port);
+ /* Register our configuration options for ADwin */
+ adwin_module = prefs_register_protocol(proto_adwin, NULL);
prefs_register_bool_preference(adwin_module, "dissect_data",
"Dissect Data sections",
diff --git a/epan/dissectors/packet-aeron.c b/epan/dissectors/packet-aeron.c
index 5f263a0141..ffb7417d90 100644
--- a/epan/dissectors/packet-aeron.c
+++ b/epan/dissectors/packet-aeron.c
@@ -3132,7 +3132,7 @@ void proto_register_aeron(void)
void proto_reg_handoff_aeron(void)
{
aeron_dissector_handle = create_dissector_handle(dissect_aeron, proto_aeron);
- dissector_add_for_decode_as("udp.port", aeron_dissector_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", aeron_dissector_handle);
heur_dissector_add("udp", test_aeron_packet, "Aeron over UDP", "aeron_udp", proto_aeron, HEURISTIC_DISABLE);
}
diff --git a/epan/dissectors/packet-alljoyn.c b/epan/dissectors/packet-alljoyn.c
index 19fdf407ca..fd9b1dd93e 100644
--- a/epan/dissectors/packet-alljoyn.c
+++ b/epan/dissectors/packet-alljoyn.c
@@ -3027,23 +3027,19 @@ proto_register_AllJoyn(void)
void
proto_reg_handoff_AllJoyn(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t alljoyn_handle_ns;
- static dissector_handle_t alljoyn_handle_ardp;
-
- if(!initialized) {
- alljoyn_handle_ns = create_dissector_handle(dissect_AllJoyn_name_server, proto_AllJoyn_ns);
- alljoyn_handle_ardp = create_dissector_handle(dissect_AllJoyn_ardp, proto_AllJoyn_ardp);
- dissector_add_uint_with_preference("tcp.port", ALLJOYN_NAME_SERVER_PORT, alljoyn_handle_ns);
- dissector_add_uint_with_preference("tcp.port", ALLJOYN_MESSAGE_PORT, alljoyn_handle_ardp);
- initialized = TRUE;
- }
+ dissector_handle_t alljoyn_handle_ns;
+ dissector_handle_t alljoyn_handle_ardp;
+
+ alljoyn_handle_ns = create_dissector_handle(dissect_AllJoyn_name_server, proto_AllJoyn_ns);
+ alljoyn_handle_ardp = create_dissector_handle(dissect_AllJoyn_ardp, proto_AllJoyn_ardp);
+ dissector_add_uint_with_preference("tcp.port", ALLJOYN_NAME_SERVER_PORT, alljoyn_handle_ns);
+ dissector_add_uint_with_preference("tcp.port", ALLJOYN_MESSAGE_PORT, alljoyn_handle_ardp);
- dissector_add_uint("udp.port", ALLJOYN_NAME_SERVER_PORT, alljoyn_handle_ns);
+ dissector_add_uint_with_preference("udp.port", ALLJOYN_NAME_SERVER_PORT, alljoyn_handle_ns);
/* The ARDP dissector will directly call the AllJoyn message dissector if needed.
* This includes the case where there is no ARDP data. */
- dissector_add_uint("udp.port", ALLJOYN_MESSAGE_PORT, alljoyn_handle_ardp);
+ dissector_add_uint_with_preference("udp.port", ALLJOYN_MESSAGE_PORT, alljoyn_handle_ardp);
}
/*
diff --git a/epan/dissectors/packet-amr.c b/epan/dissectors/packet-amr.c
index c09712c406..db48e94e6a 100644
--- a/epan/dissectors/packet-amr.c
+++ b/epan/dissectors/packet-amr.c
@@ -850,7 +850,7 @@ proto_reg_handoff_amr(void)
create_dissector_handle(ftr->content_pdu, proto_amr));
}
/* Activate the next line for testing with the randpkt tool
- dissector_add_uint("udp.port", 55555, amr_handle);
+ dissector_add_uint_with_preference("udp.port", 55555, amr_handle);
*/
amr_prefs_initialized = TRUE;
} else {
diff --git a/epan/dissectors/packet-aodv.c b/epan/dissectors/packet-aodv.c
index 28e8d2148c..8d2576f19a 100644
--- a/epan/dissectors/packet-aodv.c
+++ b/epan/dissectors/packet-aodv.c
@@ -927,7 +927,7 @@ proto_reg_handoff_aodv(void)
aodv_handle = create_dissector_handle(dissect_aodv,
proto_aodv);
- dissector_add_uint("udp.port", UDP_PORT_AODV, aodv_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_AODV, aodv_handle);
}
/*
diff --git a/epan/dissectors/packet-ar_drone.c b/epan/dissectors/packet-ar_drone.c
index b98a4ba20d..aa9655a887 100644
--- a/epan/dissectors/packet-ar_drone.c
+++ b/epan/dissectors/packet-ar_drone.c
@@ -27,14 +27,11 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
void proto_register_ar_drone(void);
void proto_reg_handoff_ar_drone(void);
-static guint ar_drone_port = 0;
-
/* ************************************************ */
/* Begin static variable declaration/initialization */
/* ************************************************ */
@@ -761,59 +758,27 @@ proto_register_ar_drone(void)
{ &ei_NO_CR, { "ar_drone.no_cr", PI_MALFORMED, PI_ERROR, "Carriage return delimiter (0x0d) not found", EXPFILL }},
};
- module_t *drone_module;
expert_module_t* expert_drone;
/* Setup protocol info */
- proto_ar_drone = proto_register_protocol (
- "AR Drone Packet", /* name */
- "AR Drone", /* short name */
- "ar_drone" /* abbrev */
- );
+ proto_ar_drone = proto_register_protocol("AR Drone Packet", "AR Drone", "ar_drone");
proto_register_field_array(proto_ar_drone, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_drone = expert_register_protocol(proto_ar_drone);
expert_register_field_array(expert_drone, ei, array_length(ei));
-
- drone_module = prefs_register_protocol(proto_ar_drone, NULL);
-
- prefs_register_uint_preference(drone_module, "udp.port",
- "AR Drone UDP Port",
- "AR Drone UDP port",
- 10,
- &ar_drone_port);
}
void
proto_reg_handoff_ar_drone(void)
{
- static dissector_handle_t ar_drone_handle;
- static guint old_port = 0;
- static gboolean initialized = FALSE;
+ dissector_handle_t ar_drone_handle;
- if (initialized == FALSE)
- {
- ar_drone_handle = create_dissector_handle(dissect_ar_drone, proto_ar_drone);
-
- heur_dissector_add("udp", dissect_ar_drone, "AR Drone over UDP", "ar_drone_udp", proto_ar_drone, HEURISTIC_ENABLE);
-
- initialized = TRUE;
- }
-
- /* Register UDP port for dissection */
- if (old_port != 0 && old_port != ar_drone_port)
- {
- dissector_delete_uint("udp.port", old_port, ar_drone_handle);
- }
-
- if (ar_drone_port != 0 && old_port != ar_drone_port)
- {
- dissector_add_uint("udp.port", ar_drone_port, ar_drone_handle);
- }
+ ar_drone_handle = create_dissector_handle(dissect_ar_drone, proto_ar_drone);
- old_port = ar_drone_port;
+ heur_dissector_add("udp", dissect_ar_drone, "AR Drone over UDP", "ar_drone_udp", proto_ar_drone, HEURISTIC_ENABLE);
+ dissector_add_for_decode_as_with_preference("udp.port", ar_drone_handle);
}
/*
diff --git a/epan/dissectors/packet-armagetronad.c b/epan/dissectors/packet-armagetronad.c
index 0ae37def07..733152e1c1 100644
--- a/epan/dissectors/packet-armagetronad.c
+++ b/epan/dissectors/packet-armagetronad.c
@@ -40,8 +40,7 @@ static int hf_armagetronad_msg_subtree = -1;
static gint ett_armagetronad = -1;
static gint ett_message = -1;
-#define UDP_PORT_ARMAGETRONAD 4534
-#define UDP_PORT_MASTER 4533
+#define ARMAGETRONAD_UDP_PORT_RANGE "4533-4534" /* 4533 is not IANA registered, 4534 is */
/*
* The ACK packet is so common that we treat it
@@ -322,8 +321,7 @@ void proto_reg_handoff_armagetronad(void)
armagetronad_handle = find_dissector("armagetronad");
- dissector_add_uint("udp.port", UDP_PORT_ARMAGETRONAD, armagetronad_handle);
- dissector_add_uint("udp.port", UDP_PORT_MASTER, armagetronad_handle);
+ dissector_add_uint_range_with_preference("udp.port", ARMAGETRONAD_UDP_PORT_RANGE, armagetronad_handle);
}
/*
diff --git a/epan/dissectors/packet-artnet.c b/epan/dissectors/packet-artnet.c
index 3f4f3f01e6..db244a43ce 100644
--- a/epan/dissectors/packet-artnet.c
+++ b/epan/dissectors/packet-artnet.c
@@ -5368,7 +5368,7 @@ proto_reg_handoff_artnet(void) {
dissector_handle_t artnet_handle;
artnet_handle = create_dissector_handle(dissect_artnet, proto_artnet);
- dissector_add_for_decode_as("udp.port", artnet_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", artnet_handle);
rdm_handle = find_dissector_add_dependency("rdm", proto_artnet);
dmx_chan_handle = find_dissector_add_dependency("dmx-chan", proto_artnet);
diff --git a/epan/dissectors/packet-aruba-adp.c b/epan/dissectors/packet-aruba-adp.c
index 3b30ffce78..5fb9589ac7 100644
--- a/epan/dissectors/packet-aruba-adp.c
+++ b/epan/dissectors/packet-aruba-adp.c
@@ -27,7 +27,7 @@
#include <epan/packet.h>
#include <epan/addr_resolv.h>
-#define UDP_PORT_ADP 8200
+#define UDP_PORT_ADP 8200 /* Not IANA registered */
#define ADP_REQUEST 1
#define ADP_RESPONSE 2
@@ -148,7 +148,7 @@ proto_reg_handoff_aruba_adp(void)
dissector_handle_t adp_handle;
adp_handle = create_dissector_handle(dissect_aruba_adp, proto_aruba_adp);
- dissector_add_uint("udp.port", UDP_PORT_ADP, adp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_ADP, adp_handle);
}
/*
diff --git a/epan/dissectors/packet-aruba-erm.c b/epan/dissectors/packet-aruba-erm.c
index b58b8adcb2..d751838b40 100644
--- a/epan/dissectors/packet-aruba-erm.c
+++ b/epan/dissectors/packet-aruba-erm.c
@@ -122,7 +122,6 @@ void proto_register_aruba_erm(void);
void proto_reg_handoff_aruba_erm(void);
void proto_reg_handoff_aruba_erm_radio(void);
-static range_t *global_aruba_erm_port_range;
#if 0
static gint aruba_erm_type = 0;
#endif
@@ -435,15 +434,8 @@ proto_register_aruba_erm(void)
proto_aruba_erm_type4 = proto_register_protocol("Aruba Networks encapsulated remote mirroring - PPI (Type 4)", "ARUBA ERM PPI (Type 4)", "aruba_erm_type4");
proto_aruba_erm_type5 = proto_register_protocol("Aruba Networks encapsulated remote mirroring - PEEK (Type 5)", "ARUBA ERM PEEK-NG (type 5)", "aruba_erm_type5");
- range_convert_str (&global_aruba_erm_port_range, "0", MAX_UDP_PORT);
+ aruba_erm_module = prefs_register_protocol(proto_aruba_erm, NULL);
- aruba_erm_module = prefs_register_protocol(proto_aruba_erm, proto_reg_handoff_aruba_erm);
-
- prefs_register_range_preference(aruba_erm_module, "udp.ports", "ARUBA_ERM UDP Port numbers",
- "Set the UDP port numbers (typically the range 5555 to 5560) used for Aruba Networks"
- " encapsulated remote mirroring frames;\n"
- "0 (default) means that the ARUBA_ERM dissector is not active\n",
- &global_aruba_erm_port_range, MAX_UDP_PORT);
#if 0
/* Obso...*/
prefs_register_enum_preference(aruba_erm_module, "type.captured",
@@ -470,32 +462,19 @@ proto_register_aruba_erm(void)
void
proto_reg_handoff_aruba_erm(void)
{
- static range_t *aruba_erm_port_range;
- static range_t *aruba_erm_radio_port_range;
- static gboolean initialized = FALSE;
-
- if (!initialized) {
- 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);
- 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);
- aruba_erm_handle_type1 = create_dissector_handle(dissect_aruba_erm_type1, proto_aruba_erm_type1);
- aruba_erm_handle_type2 = create_dissector_handle(dissect_aruba_erm_type2, proto_aruba_erm_type2);
- aruba_erm_handle_type3 = create_dissector_handle(dissect_aruba_erm_type3, proto_aruba_erm_type3);
- aruba_erm_handle_type4 = create_dissector_handle(dissect_aruba_erm_type4, proto_aruba_erm_type4);
- aruba_erm_handle_type5 = create_dissector_handle(dissect_aruba_erm_type5, proto_aruba_erm_type5);
- initialized = TRUE;
- } else {
- dissector_delete_uint_range("udp.port", aruba_erm_port_range, aruba_erm_handle);
- g_free(aruba_erm_port_range);
- g_free(aruba_erm_radio_port_range);
- }
-
- aruba_erm_port_range = range_copy(global_aruba_erm_port_range);
-
- dissector_add_uint_range("udp.port", aruba_erm_port_range, aruba_erm_handle);
+ 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);
+ 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);
+ aruba_erm_handle_type1 = create_dissector_handle(dissect_aruba_erm_type1, proto_aruba_erm_type1);
+ aruba_erm_handle_type2 = create_dissector_handle(dissect_aruba_erm_type2, proto_aruba_erm_type2);
+ aruba_erm_handle_type3 = create_dissector_handle(dissect_aruba_erm_type3, proto_aruba_erm_type3);
+ aruba_erm_handle_type4 = create_dissector_handle(dissect_aruba_erm_type4, proto_aruba_erm_type4);
+ aruba_erm_handle_type5 = create_dissector_handle(dissect_aruba_erm_type5, proto_aruba_erm_type5);
+
+ dissector_add_uint_range_with_preference("udp.port", "", aruba_erm_handle);
dissector_add_for_decode_as("aruba_erm.type", aruba_erm_handle_type0);
dissector_add_for_decode_as("aruba_erm.type", aruba_erm_handle_type1);
dissector_add_for_decode_as("aruba_erm.type", aruba_erm_handle_type2);
diff --git a/epan/dissectors/packet-aruba-papi.c b/epan/dissectors/packet-aruba-papi.c
index 3293bf1e98..b0247cb107 100644
--- a/epan/dissectors/packet-aruba-papi.c
+++ b/epan/dissectors/packet-aruba-papi.c
@@ -662,7 +662,7 @@ proto_reg_handoff_papi(void)
dissector_handle_t papi_handle;
papi_handle = create_dissector_handle(dissect_papi, proto_papi);
- dissector_add_uint("udp.port", UDP_PORT_PAPI, papi_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_PAPI, papi_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
diff --git a/epan/dissectors/packet-asap.c b/epan/dissectors/packet-asap.c
index 170a1e1db6..4079ef5d2b 100644
--- a/epan/dissectors/packet-asap.c
+++ b/epan/dissectors/packet-asap.c
@@ -923,7 +923,7 @@ proto_reg_handoff_asap(void)
asap_handle = create_dissector_handle(dissect_asap, proto_asap);
dissector_add_uint("sctp.ppi", ASAP_PAYLOAD_PROTOCOL_ID, asap_handle);
- dissector_add_uint("udp.port", ASAP_UDP_PORT, asap_handle);
+ dissector_add_uint_with_preference("udp.port", ASAP_UDP_PORT, asap_handle);
dissector_add_uint_with_preference("tcp.port", ASAP_TCP_PORT, asap_handle);
dissector_add_uint("sctp.port", ASAP_SCTP_PORT, asap_handle);
}
diff --git a/epan/dissectors/packet-asterix.c b/epan/dissectors/packet-asterix.c
index 8dd80594bf..e0bb56f61b 100644
--- a/epan/dissectors/packet-asterix.c
+++ b/epan/dissectors/packet-asterix.c
@@ -11431,7 +11431,7 @@ void proto_register_asterix (void)
void proto_reg_handoff_asterix (void)
{
- dissector_add_uint ("udp.port", ASTERIX_PORT, asterix_handle);
+ dissector_add_uint_with_preference("udp.port", ASTERIX_PORT, asterix_handle);
}
/*
diff --git a/epan/dissectors/packet-atalk.c b/epan/dissectors/packet-atalk.c
index 5d4d64e133..d8fc4454ce 100644
--- a/epan/dissectors/packet-atalk.c
+++ b/epan/dissectors/packet-atalk.c
@@ -2058,7 +2058,7 @@ proto_reg_handoff_atalk(void)
nbp_handle = create_dissector_handle(dissect_nbp, proto_nbp);
dissector_add_uint("ddp.type", DDP_NBP, nbp_handle);
- dissector_add_for_decode_as("udp.port", nbp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", nbp_handle);
atp_handle = create_dissector_handle(dissect_atp, proto_atp);
dissector_add_uint("ddp.type", DDP_ATP, atp_handle);
diff --git a/epan/dissectors/packet-ath.c b/epan/dissectors/packet-ath.c
index 55983c703b..292f1698f9 100644
--- a/epan/dissectors/packet-ath.c
+++ b/epan/dissectors/packet-ath.c
@@ -48,7 +48,7 @@ void proto_reg_handoff_ath(void);
*
*/
-#define ATH_PORT 45564
+#define ATH_PORT 45564 /* Not IANA registered */
static int proto_ath = -1;
@@ -438,10 +438,10 @@ proto_register_ath(void)
void
proto_reg_handoff_ath(void)
{
- static dissector_handle_t ath_handle;
+ dissector_handle_t ath_handle;
ath_handle = create_dissector_handle(dissect_ath, proto_ath);
- dissector_add_uint("udp.port", ATH_PORT, ath_handle);
+ dissector_add_uint_with_preference("udp.port", ATH_PORT, ath_handle);
}
/*
diff --git a/epan/dissectors/packet-auto_rp.c b/epan/dissectors/packet-auto_rp.c
index 74c83f1c16..f761644051 100644
--- a/epan/dissectors/packet-auto_rp.c
+++ b/epan/dissectors/packet-auto_rp.c
@@ -284,12 +284,9 @@ void proto_register_auto_rp(void)
&ett_auto_rp_group
};
- proto_auto_rp = proto_register_protocol("Cisco Auto-RP",
- "Auto-RP", "auto_rp");
+ proto_auto_rp = proto_register_protocol("Cisco Auto-RP", "Auto-RP", "auto_rp");
proto_register_field_array(proto_auto_rp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- return;
}
void
@@ -297,9 +294,8 @@ proto_reg_handoff_auto_rp(void)
{
dissector_handle_t auto_rp_handle;
- auto_rp_handle = create_dissector_handle(dissect_auto_rp,
- proto_auto_rp);
- dissector_add_uint("udp.port", UDP_PORT_PIM_RP_DISC, auto_rp_handle);
+ auto_rp_handle = create_dissector_handle(dissect_auto_rp, proto_auto_rp);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_PIM_RP_DISC, auto_rp_handle);
}
/*
diff --git a/epan/dissectors/packet-ax4000.c b/epan/dissectors/packet-ax4000.c
index 6855a35a0d..8b2f35c72e 100644
--- a/epan/dissectors/packet-ax4000.c
+++ b/epan/dissectors/packet-ax4000.c
@@ -163,11 +163,11 @@ proto_reg_handoff_ax4000(void)
{
dissector_handle_t ax4000_handle;
- ax4000_handle = create_dissector_handle(dissect_ax4000,
- proto_ax4000);
+ ax4000_handle = create_dissector_handle(dissect_ax4000, proto_ax4000);
+
dissector_add_uint("ip.proto", IP_PROTO_AX4000, ax4000_handle);
dissector_add_uint_with_preference("tcp.port", AX4000_TCP_PORT, ax4000_handle);
- dissector_add_uint("udp.port", AX4000_UDP_PORT, ax4000_handle);
+ dissector_add_uint_with_preference("udp.port", AX4000_UDP_PORT, ax4000_handle);
}
/*
diff --git a/epan/dissectors/packet-ayiya.c b/epan/dissectors/packet-ayiya.c
index 4f9dccfa70..6f237e2752 100644
--- a/epan/dissectors/packet-ayiya.c
+++ b/epan/dissectors/packet-ayiya.c
@@ -208,7 +208,7 @@ proto_reg_handoff_ayiya(void)
dissector_handle_t ayiya_handle;
ayiya_handle = find_dissector("ayiya");
- dissector_add_uint("udp.port", UDP_PORT_AYIYA, ayiya_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_AYIYA, ayiya_handle);
ip_dissector_table = find_dissector_table("ip.proto");
}
diff --git a/epan/dissectors/packet-babel.c b/epan/dissectors/packet-babel.c
index 3b4b805b33..9c0d0cb46a 100644
--- a/epan/dissectors/packet-babel.c
+++ b/epan/dissectors/packet-babel.c
@@ -54,8 +54,7 @@ static int hf_babel_message_hopcount = -1;
static gint ett_subtree = -1;
-#define UDP_PORT_BABEL 6696
-#define UDP_PORT_BABEL_OLD 6697
+#define UDP_PORT_RANGE_BABEL "6696-6697" /* 6697 Not IANA registered, 6696 is */
#define MESSAGE_PAD1 0
#define MESSAGE_PADN 1
@@ -527,8 +526,7 @@ proto_reg_handoff_babel(void)
dissector_handle_t babel_handle;
babel_handle = create_dissector_handle(dissect_babel, proto_babel);
- dissector_add_uint("udp.port", UDP_PORT_BABEL, babel_handle);
- dissector_add_uint("udp.port", UDP_PORT_BABEL_OLD, babel_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_RANGE_BABEL, babel_handle);
}
/*
diff --git a/epan/dissectors/packet-bat.c b/epan/dissectors/packet-bat.c
index bf9143922b..02b424355b 100644
--- a/epan/dissectors/packet-bat.c
+++ b/epan/dissectors/packet-bat.c
@@ -24,16 +24,14 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/tap.h>
#include <epan/addr_resolv.h>
void proto_register_bat(void);
void proto_reg_handoff_bat(void);
-/* Start content from packet-bat.h */
#define BAT_BATMAN_PORT 4305
-#define BAT_GW_PORT 4306
-#define BAT_VIS_PORT 4307
+#define BAT_GW_PORT 4306 /* Not IANA registered */
+#define BAT_VIS_PORT 4307 /* Not IANA registered */
#define UNIDIRECTIONAL 0x80
#define DIRECTLINK 0x40
@@ -179,13 +177,6 @@ static int proto_bat_vis = -1;
static int bat_tap = -1;
static int bat_follow_tap = -1;
-/* values changed by preferences */
-static guint global_bat_batman_udp_port = BAT_BATMAN_PORT;
-static guint global_bat_gw_udp_port = BAT_GW_PORT;
-static guint global_bat_vis_udp_port = BAT_VIS_PORT;
-
-
-
static int dissect_bat_batman(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
guint8 version;
@@ -690,8 +681,6 @@ static void dissect_vis_entry_v23(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
void proto_register_bat(void)
{
- module_t *bat_module;
-
static hf_register_info hf[] = {
{ &hf_bat_batman_version,
{ "Version", "bat.batman.version",
@@ -850,59 +839,28 @@ void proto_register_bat(void)
proto_bat_gw = proto_register_protocol("B.A.T.M.A.N. GW", "BAT GW", "bat.gw");
proto_bat_vis = proto_register_protocol("B.A.T.M.A.N. Vis", "BAT VIS", "bat.vis");
- /* Register our configuration options for B.A.T.M.A.N. */
- bat_module = prefs_register_protocol(proto_bat_plugin, proto_reg_handoff_bat);
-
proto_register_field_array(proto_bat_plugin, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- prefs_register_uint_preference(bat_module, "batman.bat.port", "BAT UDP Port",
- "Set the port for B.A.T.M.A.N. BAT "
- "messages (if other than the default of 4305)",
- 10, &global_bat_batman_udp_port);
- prefs_register_uint_preference(bat_module, "batman.gw.port", "GW UDP Port",
- "Set the port for B.A.T.M.A.N. Gateway "
- "messages (if other than the default of 4306)",
- 10, &global_bat_gw_udp_port);
- prefs_register_uint_preference(bat_module, "batman.vis.port", "VIS UDP Port",
- "Set the port for B.A.T.M.A.N. VIS "
- "messages (if other than the default of 4307)",
- 10, &global_bat_vis_udp_port);
}
void proto_reg_handoff_bat(void)
{
- static gboolean inited = FALSE;
- static dissector_handle_t batman_handle;
- static dissector_handle_t gw_handle;
- static dissector_handle_t vis_handle;
- static guint batman_udp_port;
- static guint gw_udp_port;
- static guint vis_udp_port;
-
- if (!inited) {
- bat_tap = register_tap("batman");
- bat_follow_tap = register_tap("batman_follow");
-
- batman_handle = create_dissector_handle(dissect_bat_batman, proto_bat_plugin);
- 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_add_dependency("ip", proto_bat_gw);
-
- inited = TRUE;
- } else {
- dissector_delete_uint("udp.port", batman_udp_port, batman_handle);
- dissector_delete_uint("udp.port", gw_udp_port, gw_handle);
- dissector_delete_uint("udp.port", vis_udp_port, vis_handle);
- }
+ dissector_handle_t batman_handle;
+ dissector_handle_t gw_handle;
+ dissector_handle_t vis_handle;
+
+ bat_tap = register_tap("batman");
+ bat_follow_tap = register_tap("batman_follow");
+
+ batman_handle = create_dissector_handle(dissect_bat_batman, proto_bat_plugin);
+ 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_add_dependency("ip", proto_bat_gw);
- batman_udp_port = global_bat_batman_udp_port;
- gw_udp_port = global_bat_gw_udp_port;
- vis_udp_port = global_bat_vis_udp_port;
- dissector_add_uint("udp.port", batman_udp_port, batman_handle);
- dissector_add_uint("udp.port", gw_udp_port, gw_handle);
- dissector_add_uint("udp.port", vis_udp_port, vis_handle);
+ dissector_add_uint_with_preference("udp.port", BAT_BATMAN_PORT, batman_handle);
+ dissector_add_uint_with_preference("udp.port", BAT_GW_PORT, gw_handle);
+ dissector_add_uint_with_preference("udp.port", BAT_VIS_PORT, vis_handle);
}
/*
diff --git a/epan/dissectors/packet-bfcp.c b/epan/dissectors/packet-bfcp.c
index c4ea596970..925ba6e89e 100644
--- a/epan/dissectors/packet-bfcp.c
+++ b/epan/dissectors/packet-bfcp.c
@@ -713,7 +713,7 @@ void proto_reg_handoff_bfcp(void)
heur_dissector_add("tcp", dissect_bfcp_heur, "BFCP over TCP", "bfcp_tcp", proto_bfcp, HEURISTIC_DISABLE);
heur_dissector_add("udp", dissect_bfcp_heur, "BFCP over UDP", "bfcp_udp", proto_bfcp, HEURISTIC_DISABLE);
dissector_add_for_decode_as_with_preference("tcp.port", bfcp_handle);
- dissector_add_for_decode_as("udp.port", bfcp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", bfcp_handle);
}
/*
diff --git a/epan/dissectors/packet-bfd.c b/epan/dissectors/packet-bfd.c
index df8289fb49..8658e4c28d 100644
--- a/epan/dissectors/packet-bfd.c
+++ b/epan/dissectors/packet-bfd.c
@@ -43,8 +43,7 @@
void proto_register_bfd(void);
void proto_reg_handoff_bfd(void);
-#define UDP_PORT_BFD_1HOP_CONTROL 3784 /* draft-katz-ward-bfd-v4v6-1hop-00.txt */
-#define UDP_PORT_BFD_MULTIHOP_CONTROL 4784 /* draft-ietf-bfd-multihop-05.txt */
+#define UDP_PORT_RANGE_BFD "3784,4784" /* draft-katz-ward-bfd-v4v6-1hop-00.txt */ /* draft-ietf-bfd-multihop-05.txt */
/* As per RFC 6428 : http://tools.ietf.org/html/rfc6428
Section: 3.5 */
@@ -869,8 +868,7 @@ proto_reg_handoff_bfd(void)
dissector_handle_t bfd_control_handle;
bfd_control_handle = find_dissector("bfd");
- dissector_add_uint("udp.port", UDP_PORT_BFD_1HOP_CONTROL, bfd_control_handle);
- dissector_add_uint("udp.port", UDP_PORT_BFD_MULTIHOP_CONTROL, bfd_control_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_RANGE_BFD, bfd_control_handle);
dissector_add_uint("pwach.channel_type", ACH_TYPE_BFD_CC, bfd_control_handle);
dissector_add_uint("pwach.channel_type", ACH_TYPE_BFD_CV, bfd_control_handle);
diff --git a/epan/dissectors/packet-bjnp.c b/epan/dissectors/packet-bjnp.c
index c63d27dd82..953ec39c4e 100644
--- a/epan/dissectors/packet-bjnp.c
+++ b/epan/dissectors/packet-bjnp.c
@@ -29,10 +29,7 @@
#define PSNAME "BJNP"
#define PFNAME "bjnp"
-#define BJNP_PORT1 8611
-#define BJNP_PORT2 8612
-#define BJNP_PORT3 8613
-#define BJNP_PORT4 8614
+#define BJNP_PORT_RANGE "8611-8614"
/* dev_type */
#define PRINTER_COMMAND 0x01
@@ -180,10 +177,7 @@ void proto_register_bjnp (void)
void proto_reg_handoff_bjnp (void)
{
- dissector_add_uint ("udp.port", BJNP_PORT1, bjnp_handle);
- dissector_add_uint ("udp.port", BJNP_PORT2, bjnp_handle);
- dissector_add_uint ("udp.port", BJNP_PORT3, bjnp_handle);
- dissector_add_uint ("udp.port", BJNP_PORT4, bjnp_handle);
+ dissector_add_uint_range_with_preference("udp.port", BJNP_PORT_RANGE, bjnp_handle);
}
/*
diff --git a/epan/dissectors/packet-bootp.c b/epan/dissectors/packet-bootp.c
index c005eb4e6b..e793accff0 100644
--- a/epan/dissectors/packet-bootp.c
+++ b/epan/dissectors/packet-bootp.c
@@ -843,8 +843,7 @@ static const enum_val_t bootp_uuid_endian_vals[] = {
{ NULL, NULL, 0 }
};
-#define UDP_PORT_BOOTPS 67
-#define UDP_PORT_BOOTPC 68
+#define BOOTP_UDP_PORT_RANGE "67-68"
#define BOOTP_BC 0x8000
#define BOOTP_MBZ 0x7FFF
@@ -8683,8 +8682,7 @@ proto_register_bootp(void)
void
proto_reg_handoff_bootp(void)
{
- dissector_add_uint("udp.port", UDP_PORT_BOOTPS, bootp_handle);
- dissector_add_uint("udp.port", UDP_PORT_BOOTPC, bootp_handle);
+ dissector_add_uint_range_with_preference("udp.port", BOOTP_UDP_PORT_RANGE, bootp_handle);
}
/*
diff --git a/epan/dissectors/packet-brp.c b/epan/dissectors/packet-brp.c
index a0430bd812..e641f65c78 100644
--- a/epan/dissectors/packet-brp.c
+++ b/epan/dissectors/packet-brp.c
@@ -30,7 +30,6 @@
#include <epan/packet.h>
#include <epan/expert.h>
-#include <epan/prefs.h>
/* Forward declaration we need below */
void proto_register_brp(void);
@@ -43,8 +42,6 @@ static int proto_brp = -1;
static dissector_handle_t brp_handle;
-/*static int global_brp_port = 1958; *//* The port is registered for another protocol */
-
static const value_string brp_packettype_names[] = {
{ 0, "BRP" },
{ 1, "Setup Request - BRC -> BRS" },
@@ -127,9 +124,6 @@ static gint ett_brp_fltype = -1;
static expert_field ei_brp_type_unknown = EI_INIT;
-/* Preferences */
-static guint global_brp_port = 0;
-
static int
dissect_brp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
@@ -324,7 +318,6 @@ return offset;
/*--- proto_register_brp ----------------------------------------------*/
void proto_register_brp (void)
{
- module_t *brp_module;
expert_module_t* expert_brp;
/* A data field is something you can search/filter on.
@@ -402,38 +395,13 @@ void proto_register_brp (void)
expert_brp = expert_register_protocol(proto_brp);
expert_register_field_array(expert_brp, ei, array_length(ei));
- /* Register preferences module */
- brp_module = prefs_register_protocol(proto_brp, proto_reg_handoff_brp);
-
- /* Register preferences */
- prefs_register_uint_preference(brp_module, "port",
- "BRP Port",
- "Set the UDP port for BRP messages",
- 10, &global_brp_port);
-
brp_handle = register_dissector("brp", dissect_brp, proto_brp);
}
/*--- proto_reg_handoff_brp -------------------------------------------*/
void proto_reg_handoff_brp(void)
{
- static gboolean initialized = FALSE;
- static guint saved_brp_port;
-
- if (!initialized) {
- dissector_add_for_decode_as("udp.port", brp_handle);
- initialized = TRUE;
- } else {
- if (saved_brp_port != 0) {
- dissector_delete_uint("udp.port", saved_brp_port, brp_handle);
- }
- }
-
- /* Set the port number */
- if (global_brp_port != 0) {
- dissector_add_uint("udp.port", global_brp_port, brp_handle);
- }
- saved_brp_port = global_brp_port;
+ dissector_add_for_decode_as_with_preference("udp.port", brp_handle);
}
/*
diff --git a/epan/dissectors/packet-bt-dht.c b/epan/dissectors/packet-bt-dht.c
index c5da3e349c..19bf16eaa0 100644
--- a/epan/dissectors/packet-bt-dht.c
+++ b/epan/dissectors/packet-bt-dht.c
@@ -567,13 +567,9 @@ proto_register_bt_dht(void)
module_t *bt_dht_module;
- proto_bt_dht = proto_register_protocol (
- "BitTorrent DHT Protocol", /* name */
- "BT-DHT", /* short name */
- "bt-dht" /* abbrev */
- );
+ proto_bt_dht = proto_register_protocol ("BitTorrent DHT Protocol", "BT-DHT", "bt-dht");
- bt_dht_module = prefs_register_protocol(proto_bt_dht, proto_reg_handoff_bt_dht);
+ bt_dht_module = prefs_register_protocol(proto_bt_dht, NULL);
prefs_register_obsolete_preference(bt_dht_module, "enable");
proto_register_field_array(proto_bt_dht, hf, array_length(hf));
@@ -583,20 +579,14 @@ proto_register_bt_dht(void)
void
proto_reg_handoff_bt_dht(void)
{
- static gboolean prefs_initialized = FALSE;
-
/* "Decode As" is always available;
* Heuristic dissection in disabled by default since the heuristic is quite weak.
* XXX - Still too weak?
*/
- if (!prefs_initialized) {
- heur_dissector_add("udp", dissect_bt_dht_heur, "BitTorrent DHT over UDP", "bittorrent_dht_udp", proto_bt_dht, HEURISTIC_DISABLE);
-
- bt_dht_handle = create_dissector_handle(dissect_bt_dht, proto_bt_dht);
- dissector_add_for_decode_as("udp.port", bt_dht_handle);
+ heur_dissector_add("udp", dissect_bt_dht_heur, "BitTorrent DHT over UDP", "bittorrent_dht_udp", proto_bt_dht, HEURISTIC_DISABLE);
- prefs_initialized = TRUE;
- }
+ bt_dht_handle = create_dissector_handle(dissect_bt_dht, proto_bt_dht);
+ dissector_add_for_decode_as_with_preference("udp.port", bt_dht_handle);
}
/*
diff --git a/epan/dissectors/packet-bt-utp.c b/epan/dissectors/packet-bt-utp.c
index adf19effdb..b1ff2b1403 100644
--- a/epan/dissectors/packet-bt-utp.c
+++ b/epan/dissectors/packet-bt-utp.c
@@ -466,13 +466,9 @@ proto_register_bt_utp(void)
module_t *bt_utp_module;
/* Register protocol */
- proto_bt_utp = proto_register_protocol (
- "uTorrent Transport Protocol", /* name */
- "BT-uTP", /* short name */
- "bt-utp" /* abbrev */
- );
+ proto_bt_utp = proto_register_protocol ("uTorrent Transport Protocol", "BT-uTP", "bt-utp");
- bt_utp_module = prefs_register_protocol(proto_bt_utp, proto_reg_handoff_bt_utp);
+ bt_utp_module = prefs_register_protocol(proto_bt_utp, NULL);
prefs_register_obsolete_preference(bt_utp_module, "enable");
proto_register_field_array(proto_bt_utp, hf, array_length(hf));
@@ -482,17 +478,11 @@ proto_register_bt_utp(void)
void
proto_reg_handoff_bt_utp(void)
{
- static gboolean prefs_initialized = FALSE;
+ /* disabled by default since heuristic is weak */
+ heur_dissector_add("udp", dissect_bt_utp, "BitTorrent UTP over UDP", "bt_utp_udp", proto_bt_utp, HEURISTIC_DISABLE);
- if (!prefs_initialized) {
- /* disabled by default since heuristic is weak */
- heur_dissector_add("udp", dissect_bt_utp, "BitTorrent UTP over UDP", "bt_utp_udp", proto_bt_utp, HEURISTIC_DISABLE);
-
- bt_utp_handle = create_dissector_handle(dissect_bt_utp, proto_bt_utp);
- dissector_add_for_decode_as("udp.port", bt_utp_handle);
-
- prefs_initialized = TRUE;
- }
+ bt_utp_handle = create_dissector_handle(dissect_bt_utp, proto_bt_utp);
+ dissector_add_for_decode_as_with_preference("udp.port", bt_utp_handle);
}
/*
diff --git a/epan/dissectors/packet-bvlc.c b/epan/dissectors/packet-bvlc.c
index a3bf4e409d..68fe08248e 100644
--- a/epan/dissectors/packet-bvlc.c
+++ b/epan/dissectors/packet-bvlc.c
@@ -26,21 +26,11 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_register_bvlc(void);
void proto_reg_handoff_bvlc(void);
-/* Taken from add-135a (BACnet-IP-standard paper):
- *
- * The default UDP port for both directed messages and broadcasts shall
- * be X'BAC0' and all B/IP devices shall support it. In some cases,
- * e.g., a situation where it is desirable for two groups of BACnet devices
- * to coexist independently on the same IP subnet, the UDP port may be
- * configured locally to a different value without it being considered
- * a violation of this protocol.
- */
-static guint global_additional_bvlc_udp_port = 0;
+#define BVLC_UDP_PORT 0xBAC0
static int proto_bvlc = -1;
static int hf_bvlc_type = -1;
@@ -389,20 +379,12 @@ proto_register_bvlc(void)
&ett_fdt,
};
- module_t *bvlc_module;
- proto_bvlc = proto_register_protocol("BACnet Virtual Link Control",
- "BVLC", "bvlc");
+ proto_bvlc = proto_register_protocol("BACnet Virtual Link Control", "BVLC", "bvlc");
proto_register_field_array(proto_bvlc, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- bvlc_module = prefs_register_protocol(proto_bvlc, proto_reg_handoff_bvlc);
- prefs_register_uint_preference(bvlc_module, "additional_udp_port",
- "Additional UDP port", "Set an additional UDP port, "
- "besides the standard X'BAC0' (47808) port.",
- 10, &global_additional_bvlc_udp_port);
-
register_dissector("bvlc", dissect_bvlc, proto_bvlc);
bvlc_dissector_table = register_dissector_table("bvlc.function",
@@ -412,27 +394,10 @@ proto_register_bvlc(void)
void
proto_reg_handoff_bvlc(void)
{
- static gboolean bvlc_initialized = FALSE;
- static dissector_handle_t bvlc_handle;
- static guint additional_bvlc_udp_port;
-
- if (!bvlc_initialized)
- {
- bvlc_handle = find_dissector("bvlc");
- dissector_add_uint("udp.port", 0xBAC0, bvlc_handle);
- bvlc_initialized = TRUE;
- }
- else
- {
- if (additional_bvlc_udp_port != 0) {
- dissector_delete_uint("udp.port", additional_bvlc_udp_port, bvlc_handle);
- }
- }
+ dissector_handle_t bvlc_handle;
- if (global_additional_bvlc_udp_port != 0) {
- dissector_add_uint("udp.port", global_additional_bvlc_udp_port, bvlc_handle);
- }
- additional_bvlc_udp_port = global_additional_bvlc_udp_port;
+ bvlc_handle = find_dissector("bvlc");
+ dissector_add_uint_with_preference("udp.port", BVLC_UDP_PORT, bvlc_handle);
}
/*
diff --git a/epan/dissectors/packet-c1222.c b/epan/dissectors/packet-c1222.c
index a68da36555..e463cd9988 100644
--- a/epan/dissectors/packet-c1222.c
+++ b/epan/dissectors/packet-c1222.c
@@ -242,7 +242,6 @@ static expert_field ei_c1222_epsem_field_length_error = EI_INIT;
static expert_field ei_c1222_mac_missing = EI_INIT;
/* Preferences */
-static int global_c1222_port = C1222_PORT;
static gboolean c1222_desegment = TRUE;
#ifdef HAVE_LIBGCRYPT
static gboolean c1222_decrypt = TRUE;
@@ -2059,7 +2058,7 @@ proto_reg_handoff_c1222(void)
c1222_handle = create_dissector_handle(dissect_c1222, proto_c1222);
c1222_udp_handle = create_dissector_handle(dissect_c1222_common, proto_c1222);
dissector_add_uint_with_preference("tcp.port", C1222_PORT, c1222_handle);
- dissector_add_uint("udp.port", global_c1222_port, c1222_udp_handle);
+ dissector_add_uint_with_preference("udp.port", C1222_PORT, c1222_udp_handle);
initialized = TRUE;
}
if (c1222_baseoid_str && (c1222_baseoid_str[0] != '\0') &&
diff --git a/epan/dissectors/packet-capwap.c b/epan/dissectors/packet-capwap.c
index 0eed93d43f..bf7bcfd087 100644
--- a/epan/dissectors/packet-capwap.c
+++ b/epan/dissectors/packet-capwap.c
@@ -25,6 +25,7 @@
#include <epan/packet.h>
#include <epan/prefs.h>
+#include <epan/prefs-int.h>
#include <epan/reassemble.h>
#include <epan/expert.h>
@@ -37,7 +38,6 @@ void proto_reg_handoff_capwap(void);
#define UDP_PORT_CAPWAP_CONTROL 5246
#define UDP_PORT_CAPWAP_DATA 5247
-static guint global_capwap_control_udp_port = UDP_PORT_CAPWAP_CONTROL;
static guint global_capwap_data_udp_port = UDP_PORT_CAPWAP_DATA;
static gboolean global_capwap_draft_8_cisco = FALSE;
static gboolean global_capwap_reassemble = TRUE;
@@ -3395,6 +3395,13 @@ dissect_capwap_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
return tvb_captured_length(tvb);
}
+static void
+apply_capwap_prefs(void)
+{
+ pref_t *control_port = prefs_find_preference(prefs_find_module("capwap.data"), "udp.port");
+ global_capwap_data_udp_port = *control_port->varp.uint;
+}
+
void
proto_register_capwap_control(void)
{
@@ -5764,15 +5771,9 @@ proto_register_capwap_control(void)
register_init_routine(&capwap_reassemble_init);
register_cleanup_routine(&capwap_reassemble_cleanup);
- capwap_module = prefs_register_protocol(proto_capwap_control, proto_reg_handoff_capwap);
-
- prefs_register_uint_preference(capwap_module, "udp.port.control", "CAPWAP Control UDP Port",
- "Set the port for CAPWAP Control messages (if other than the default of 5246)",
- 10, &global_capwap_control_udp_port);
-
- prefs_register_uint_preference(capwap_module, "udp.port.data", "CAPWAP Data UDP Port",
- "Set the port for CAPWAP Data messages (if other than the default of 5247)",
- 10, &global_capwap_data_udp_port);
+ capwap_module = prefs_register_protocol(proto_capwap_control, NULL);
+ /* Need to create a placeholder for "port" preferences so there is a callback */
+ prefs_register_protocol(proto_capwap_data, apply_capwap_prefs);
prefs_register_bool_preference(capwap_module, "draft_8_cisco", "Cisco Wireless Controller Support",
"Enable support of Cisco Wireless Controller (based on old 8 draft revision).",
@@ -5791,29 +5792,18 @@ proto_register_capwap_control(void)
void
proto_reg_handoff_capwap(void)
{
- static gboolean inited = FALSE;
- static dissector_handle_t capwap_control_handle, capwap_data_handle;
- static guint capwap_control_udp_port, capwap_data_udp_port;
-
- 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_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);
-
- inited = TRUE;
- } else {
- dissector_delete_uint("udp.port", capwap_control_udp_port, capwap_control_handle);
- dissector_delete_uint("udp.port", capwap_data_udp_port, capwap_data_handle);
- }
- dissector_add_uint("udp.port", global_capwap_control_udp_port, capwap_control_handle);
- dissector_add_uint("udp.port", global_capwap_data_udp_port, capwap_data_handle);
-
- capwap_control_udp_port = global_capwap_control_udp_port;
- capwap_data_udp_port = global_capwap_data_udp_port;
+ dissector_handle_t capwap_control_handle, capwap_data_handle;
+
+ 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_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);
+
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_CAPWAP_CONTROL, capwap_control_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_CAPWAP_DATA, capwap_data_handle);
}
/*
* Editor modelines
diff --git a/epan/dissectors/packet-cattp.c b/epan/dissectors/packet-cattp.c
index 9237e5a4f5..9e293f4002 100644
--- a/epan/dissectors/packet-cattp.c
+++ b/epan/dissectors/packet-cattp.c
@@ -560,7 +560,7 @@ proto_register_cattp(void)
expert_cattp = expert_register_protocol(proto_cattp);
expert_register_field_array(expert_cattp, ei, array_length(ei));
- cattp_module = prefs_register_protocol(proto_cattp, proto_reg_handoff_cattp);
+ cattp_module = prefs_register_protocol(proto_cattp, NULL);
prefs_register_bool_preference(cattp_module, "checksum",
"Validate checksum of all messages",
"Whether the checksum of all messages should be validated or not",
@@ -573,18 +573,13 @@ proto_register_cattp(void)
void
proto_reg_handoff_cattp(void)
{
- static gboolean initialized = FALSE;
+ dissector_handle_t cattp_handle;
- if (!initialized) {
- dissector_handle_t cattp_handle;
+ /* Create dissector handle */
+ cattp_handle = create_dissector_handle(dissect_cattp, proto_cattp);
- /* Create dissector handle */
- cattp_handle = create_dissector_handle(dissect_cattp, proto_cattp);
-
- heur_dissector_add("udp", dissect_cattp_heur, "CAT-TP over UDP", "cattp_udp", proto_cattp, HEURISTIC_ENABLE);
- dissector_add_for_decode_as("udp.port", cattp_handle);
- initialized = TRUE;
- }
+ heur_dissector_add("udp", dissect_cattp_heur, "CAT-TP over UDP", "cattp_udp", proto_cattp, HEURISTIC_ENABLE);
+ dissector_add_for_decode_as_with_preference("udp.port", cattp_handle);
}
/*
diff --git a/epan/dissectors/packet-ccsds.c b/epan/dissectors/packet-ccsds.c
index fd6b27f98d..1180ea06ea 100644
--- a/epan/dissectors/packet-ccsds.c
+++ b/epan/dissectors/packet-ccsds.c
@@ -722,7 +722,7 @@ proto_register_ccsds(void)
void
proto_reg_handoff_ccsds(void)
{
- dissector_add_for_decode_as ( "udp.port", find_dissector("ccsds") );
+ dissector_add_for_decode_as_with_preference( "udp.port", find_dissector("ccsds") );
}
/*
diff --git a/epan/dissectors/packet-cfdp.c b/epan/dissectors/packet-cfdp.c
index 82ee1512fd..a9b24a081a 100644
--- a/epan/dissectors/packet-cfdp.c
+++ b/epan/dissectors/packet-cfdp.c
@@ -1631,7 +1631,7 @@ void
proto_reg_handoff_cfdp(void)
{
dissector_add_uint("ccsds.apid", CFDP_APID, cfdp_handle);
- dissector_add_for_decode_as("udp.port", cfdp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", cfdp_handle);
}
/*
diff --git a/epan/dissectors/packet-chargen.c b/epan/dissectors/packet-chargen.c
index c800655a7a..dd27f68e24 100644
--- a/epan/dissectors/packet-chargen.c
+++ b/epan/dissectors/packet-chargen.c
@@ -93,7 +93,7 @@ proto_reg_handoff_chargen(void)
dissector_handle_t chargen_handle;
chargen_handle = create_dissector_handle(dissect_chargen, proto_chargen);
- dissector_add_uint("udp.port", CHARGEN_PORT_UDP, chargen_handle);
+ dissector_add_uint_with_preference("udp.port", CHARGEN_PORT_UDP, chargen_handle);
dissector_add_uint_with_preference("tcp.port", CHARGEN_PORT_TCP, chargen_handle);
}
diff --git a/epan/dissectors/packet-cigi.c b/epan/dissectors/packet-cigi.c
index 1a23ce0b2c..c08f4e7c19 100644
--- a/epan/dissectors/packet-cigi.c
+++ b/epan/dissectors/packet-cigi.c
@@ -12040,7 +12040,7 @@ proto_reg_handoff_cigi(void)
if( !inited ) {
cigi_handle = create_dissector_handle(dissect_cigi, proto_cigi);
- dissector_add_for_decode_as("udp.port", cigi_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", cigi_handle);
dissector_add_for_decode_as_with_preference("tcp.port", cigi_handle);
heur_dissector_add("udp", dissect_cigi_heur, "CIGI over UDP", "cigi_udp", proto_cigi, HEURISTIC_ENABLE);
diff --git a/epan/dissectors/packet-cisco-marker.c b/epan/dissectors/packet-cisco-marker.c
index 4d2fda2809..b3dd887792 100644
--- a/epan/dissectors/packet-cisco-marker.c
+++ b/epan/dissectors/packet-cisco-marker.c
@@ -209,7 +209,7 @@ proto_register_erpsan_marker(void)
void
proto_reg_handoff_erspan_marker(void)
{
- dissector_add_for_decode_as("udp.port", marker_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", marker_handle);
}
/*
diff --git a/epan/dissectors/packet-cisco-wids.c b/epan/dissectors/packet-cisco-wids.c
index fd26ecf606..7199c05727 100644
--- a/epan/dissectors/packet-cisco-wids.c
+++ b/epan/dissectors/packet-cisco-wids.c
@@ -50,11 +50,8 @@
#include <epan/packet.h>
#include <epan/exceptions.h>
#include <epan/expert.h>
-#include <epan/prefs.h>
#include <epan/show_exception.h>
-static guint global_udp_port = 0;
-
static int proto_cwids = -1;
static int hf_cwids_version = -1;
static int hf_cwids_timestamp = -1;
@@ -179,7 +176,6 @@ proto_register_cwids(void)
{ &ie_ieee80211_subpacket, { "cwids.ieee80211_malformed", PI_MALFORMED, PI_ERROR, "Malformed or short IEEE80211 subpacket", EXPFILL }},
};
- module_t *cwids_module;
expert_module_t* expert_cwids;
proto_cwids = proto_register_protocol("Cisco Wireless IDS Captures", "CWIDS", "cwids");
@@ -187,36 +183,16 @@ proto_register_cwids(void)
proto_register_subtree_array(ett, array_length(ett));
expert_cwids = expert_register_protocol(proto_cwids);
expert_register_field_array(expert_cwids, ei, array_length(ei));
-
- cwids_module = prefs_register_protocol(proto_cwids, proto_reg_handoff_cwids);
- prefs_register_uint_preference(cwids_module, "udp.port",
- "CWIDS port",
- "Set the destination UDP port Cisco wireless IDS messages",
- 10, &global_udp_port);
-
}
void
proto_reg_handoff_cwids(void)
{
- static dissector_handle_t cwids_handle;
- static guint saved_udp_port;
- static gboolean initialized = FALSE;
-
- 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_add_dependency("wlan_noqos_radio", proto_cwids);
- initialized = TRUE;
- } else {
- if (saved_udp_port != 0) {
- dissector_delete_uint("udp.port", saved_udp_port, cwids_handle);
- }
- }
- if (global_udp_port != 0) {
- dissector_add_uint("udp.port", global_udp_port, cwids_handle);
- }
- saved_udp_port = global_udp_port;
+ dissector_handle_t cwids_handle;
+
+ cwids_handle = create_dissector_handle(dissect_cwids, proto_cwids);
+ dissector_add_for_decode_as_with_preference("udp.port", cwids_handle);
+ ieee80211_radio_handle = find_dissector_add_dependency("wlan_noqos_radio", proto_cwids);
}
/*
diff --git a/epan/dissectors/packet-classicstun.c b/epan/dissectors/packet-classicstun.c
index 23f1c532ae..c0d9e5e7ef 100644
--- a/epan/dissectors/packet-classicstun.c
+++ b/epan/dissectors/packet-classicstun.c
@@ -705,7 +705,7 @@ proto_reg_handoff_classicstun(void)
classicstun_handle = find_dissector("classicstun");
dissector_add_uint_with_preference("tcp.port", TCP_PORT_STUN, classicstun_handle);
- dissector_add_uint("udp.port", UDP_PORT_STUN, classicstun_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_STUN, classicstun_handle);
#endif
heur_dissector_add("udp", dissect_classicstun_heur, "Classic STUN over UDP", "classicstun_udp", proto_classicstun, HEURISTIC_ENABLE);
heur_dissector_add("tcp", dissect_classicstun_heur, "Classic STUN over TCP", "classicstun_tcp", proto_classicstun, HEURISTIC_ENABLE);
diff --git a/epan/dissectors/packet-cnip.c b/epan/dissectors/packet-cnip.c
index 0b94e29474..17a80ef8b1 100644
--- a/epan/dissectors/packet-cnip.c
+++ b/epan/dissectors/packet-cnip.c
@@ -29,6 +29,8 @@
#define DATA_PACKET 0x01
+#define CNIP_UDP_PORT_RANGE "1628-1629" /* Not IANA registered */
+
static const value_string type_tuple[]=
{
{0x01, "Data Packet"},
@@ -243,8 +245,7 @@ void proto_reg_handoff_cnip(void)
cnip_handle = create_dissector_handle(dissect_cnip, proto_cnip);
- dissector_add_uint ("udp.port", 1628, cnip_handle);
- dissector_add_uint ("udp.port", 1629, cnip_handle);
+ dissector_add_uint_range_with_preference("udp.port", CNIP_UDP_PORT_RANGE, cnip_handle);
}
/*
diff --git a/epan/dissectors/packet-coap.c b/epan/dissectors/packet-coap.c
index 639f06c5e1..0246de8214 100644
--- a/epan/dissectors/packet-coap.c
+++ b/epan/dissectors/packet-coap.c
@@ -33,7 +33,6 @@
#include <epan/conversation.h>
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
#include <epan/wmem/wmem.h>
@@ -97,8 +96,6 @@ static expert_field ei_coap_option_length_bad = EI_INIT;
#define DEFAULT_COAP_CTYPE_VALUE ~0U
#define DEFAULT_COAP_BLOCK_NUMBER ~0U
-static guint global_coap_port_number = DEFAULT_COAP_PORT;
-
static const gchar *coap_ctype_str = NULL;
static guint coap_ctype_value = DEFAULT_COAP_CTYPE_VALUE;
static guint coap_block_number = DEFAULT_COAP_BLOCK_NUMBER;
@@ -1244,7 +1241,6 @@ proto_register_coap(void)
{ "coap.option_length_bad", PI_MALFORMED, PI_WARN, "Option length bad", EXPFILL }},
};
- module_t *coap_module;
expert_module_t *expert_coap;
proto_coap = proto_register_protocol("Constrained Application Protocol", "CoAP", "coap");
@@ -1254,34 +1250,17 @@ proto_register_coap(void)
expert_register_field_array(expert_coap, ei, array_length(ei));
register_dissector("coap", dissect_coap, proto_coap);
-
- /* Register our configuration options */
- coap_module = prefs_register_protocol (proto_coap, proto_reg_handoff_coap);
-
- prefs_register_uint_preference (coap_module, "udp_port",
- "CoAP port number",
- "Port number used for CoAP traffic",
- 10, &global_coap_port_number);
}
void
proto_reg_handoff_coap(void)
{
- static gboolean coap_prefs_initialized = FALSE;
- static dissector_handle_t coap_handle;
- static guint coap_port_number;
-
- if (!coap_prefs_initialized) {
- coap_handle = find_dissector("coap");
- media_type_dissector_table = find_dissector_table("media_type");
- dissector_add_uint_with_preference("tcp.port", DEFAULT_COAP_PORT, coap_handle);
- coap_prefs_initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", coap_port_number, coap_handle);
- }
+ dissector_handle_t coap_handle;
- coap_port_number = global_coap_port_number;
- dissector_add_uint("udp.port", coap_port_number, coap_handle);
+ coap_handle = find_dissector("coap");
+ media_type_dissector_table = find_dissector_table("media_type");
+ dissector_add_uint_with_preference("tcp.port", DEFAULT_COAP_PORT, coap_handle);
+ dissector_add_uint_with_preference("udp.port", DEFAULT_COAP_PORT, coap_handle);
}
/*
diff --git a/epan/dissectors/packet-collectd.c b/epan/dissectors/packet-collectd.c
index fafccdc63d..417bde5d05 100644
--- a/epan/dissectors/packet-collectd.c
+++ b/epan/dissectors/packet-collectd.c
@@ -26,7 +26,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
#include <epan/stats_tree.h>
#include <epan/to_str.h>
@@ -144,8 +143,7 @@ static const val64_string severity_names[] = {
{ 0, NULL }
};
-#define UDP_PORT_COLLECTD 25826
-static guint collectd_udp_port = UDP_PORT_COLLECTD;
+#define UDP_PORT_COLLECTD 25826 /* Not IANA registered */
static gint proto_collectd = -1;
static gint tap_collectd = -1;
@@ -1348,7 +1346,6 @@ dissect_collectd (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat
void proto_register_collectd(void)
{
- module_t *collectd_module;
expert_module_t* expert_collectd;
/* Setup list of header fields */
@@ -1484,43 +1481,16 @@ void proto_register_collectd(void)
expert_register_field_array(expert_collectd, ei, array_length(ei));
tap_collectd = register_tap ("collectd");
-
- /*
- * Create an unsigned integer preference to allow the user to specify the
- * UDP port on which to capture DIS packets.
- */
- collectd_module = prefs_register_protocol (proto_collectd,
- proto_reg_handoff_collectd);
-
- prefs_register_uint_preference (collectd_module, "udp.port",
- "collectd UDP port",
- "Set the UDP port for collectd messages",
- 10, &collectd_udp_port);
-} /* void proto_register_collectd */
+}
void proto_reg_handoff_collectd (void)
{
- static gboolean first_run = TRUE;
- static gint registered_udp_port = -1;
- static dissector_handle_t collectd_handle;
-
- if (first_run)
- collectd_handle = create_dissector_handle (dissect_collectd,
- proto_collectd);
-
- /* Change the dissector registration if the preferences have been
- * changed. */
- if (registered_udp_port != -1)
- dissector_delete_uint ("udp.port", registered_udp_port,
- collectd_handle);
-
- dissector_add_uint ("udp.port", collectd_udp_port, collectd_handle);
- registered_udp_port = collectd_udp_port;
+ dissector_handle_t collectd_handle;
- if (first_run)
- collectd_stats_tree_register ();
+ collectd_handle = create_dissector_handle(dissect_collectd, proto_collectd);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_COLLECTD, collectd_handle);
- first_run = FALSE;
+ collectd_stats_tree_register ();
} /* void proto_reg_handoff_collectd */
/*
diff --git a/epan/dissectors/packet-componentstatus.c b/epan/dissectors/packet-componentstatus.c
index 0a964b5204..1a4040bebb 100644
--- a/epan/dissectors/packet-componentstatus.c
+++ b/epan/dissectors/packet-componentstatus.c
@@ -75,7 +75,7 @@ static gint ett_message_flags = -1;
static gint ett_association = -1;
-#define COMPONENTSTATUSPROTOCOL_PORT 2960
+#define COMPONENTSTATUSPROTOCOL_PORT 2960 /* Not IANA registered */
#define COMPONENTSTATUSPROTOCOL_VERSION 0x0200
@@ -292,7 +292,7 @@ proto_reg_handoff_componentstatusprotocol(void)
dissector_handle_t componentstatusprotocol_handle;
componentstatusprotocol_handle = create_dissector_handle(dissect_componentstatusprotocol, proto_componentstatusprotocol);
- dissector_add_uint("udp.port", COMPONENTSTATUSPROTOCOL_PORT, componentstatusprotocol_handle);
+ dissector_add_uint_with_preference("udp.port", COMPONENTSTATUSPROTOCOL_PORT, componentstatusprotocol_handle);
}
/*
diff --git a/epan/dissectors/packet-corosync-totemnet.c b/epan/dissectors/packet-corosync-totemnet.c
index 2a21c733f2..afaf8f6a68 100644
--- a/epan/dissectors/packet-corosync-totemnet.c
+++ b/epan/dissectors/packet-corosync-totemnet.c
@@ -40,7 +40,7 @@ static dissector_handle_t corosync_totemsrp_handle;
* Dissector body
*/
-#define PORT_COROSYNC_TOTEMNET 5405
+#define PORT_COROSYNC_TOTEMNET_RANGE "5404-5405" /* Not IANA registered */
/* Forward declaration we need below */
void proto_register_corosync_totemnet(void);
@@ -56,7 +56,6 @@ static int hf_corosync_totemnet_security_crypto_type = -1;
static int hf_corosync_totemnet_security_crypto_key = -1;
/* configurable parameters */
-static guint corosync_totemnet_port = PORT_COROSYNC_TOTEMNET;
static gchar* corosync_totemnet_private_keys = NULL;
static gchar** corosync_totemnet_private_keys_list = NULL;
@@ -455,11 +454,6 @@ proto_register_corosync_totemnet(void)
corosync_totemnet_module = prefs_register_protocol(proto_corosync_totemnet,
proto_reg_handoff_corosync_totemnet);
- prefs_register_uint_preference(corosync_totemnet_module, "udp.port",
- "UDP Port",
- "Set the UDP port for totem ring protocol implemented in corosync cluster engine",
- 10,
- &corosync_totemnet_port);
prefs_register_string_preference(corosync_totemnet_module, "private_keys", "Private keys",
"Semicolon-separated list of keys for decryption(e.g. key1;key2;..." ,
(const gchar **)&corosync_totemnet_private_keys);
@@ -470,33 +464,22 @@ proto_reg_handoff_corosync_totemnet(void)
{
static gboolean initialized = FALSE;
static dissector_handle_t corosync_totemnet_handle;
- static int port = 0;
- if (initialized)
- {
- dissector_delete_uint("udp.port", port, corosync_totemnet_handle);
- dissector_delete_uint("udp.port", port - 1, corosync_totemnet_handle);
- }
- else
- {
- corosync_totemnet_handle = create_dissector_handle(dissect_corosynec_totemnet,
- proto_corosync_totemnet);
- corosync_totemsrp_handle = find_dissector_add_dependency("corosync_totemsrp", proto_corosync_totemnet);
+ if (!initialized)
+ {
+ corosync_totemnet_handle = create_dissector_handle(dissect_corosynec_totemnet, proto_corosync_totemnet);
+ corosync_totemsrp_handle = find_dissector_add_dependency("corosync_totemsrp", proto_corosync_totemnet);
- initialized = TRUE;
- }
+ dissector_add_uint_range_with_preference("udp.port", PORT_COROSYNC_TOTEMNET_RANGE, corosync_totemnet_handle);
+ initialized = TRUE;
+ }
if (corosync_totemnet_private_keys_list) {
g_strfreev(corosync_totemnet_private_keys_list);
corosync_totemnet_private_keys_list = NULL;
}
- corosync_totemnet_private_keys_list = g_strsplit(corosync_totemnet_private_keys,
- ";",
- 0);
- port = corosync_totemnet_port;
- dissector_add_uint("udp.port", port, corosync_totemnet_handle);
- dissector_add_uint("udp.port", port - 1, corosync_totemnet_handle);
+ corosync_totemnet_private_keys_list = g_strsplit(corosync_totemnet_private_keys, ";", 0);
}
/*
diff --git a/epan/dissectors/packet-cpfi.c b/epan/dissectors/packet-cpfi.c
index 68665772c0..671febe62d 100644
--- a/epan/dissectors/packet-cpfi.c
+++ b/epan/dissectors/packet-cpfi.c
@@ -36,8 +36,8 @@
void proto_register_cpfi(void);
void proto_reg_handoff_cpfi(void);
-#define CPFI_DEFAULT_UDP_PORT 5000
-#define CPFI_DEFAULT_TTOT_UDP_PORT 5001
+#define CPFI_DEFAULT_UDP_PORT 5000 /* Not IANA registered */
+#define CPFI_DEFAULT_TTOT_UDP_PORT 5001 /* Not IANA registered */
#define FIRST_TIO_CARD_ADDRESS 0x380
@@ -59,7 +59,6 @@ void proto_reg_handoff_cpfi(void);
#define CPFI_EOF_ERROR_MASK 0x7FE00000
/* configurable parameters */
-static guint gbl_cpfi_udp_port = CPFI_DEFAULT_UDP_PORT;
static guint gbl_cpfi_ttot_udp_port = CPFI_DEFAULT_TTOT_UDP_PORT;
static gboolean cpfi_arrow_moves = TRUE;
@@ -506,10 +505,6 @@ proto_register_cpfi(void)
/* Register our configuration options for CPFI */
cpfi_module = prefs_register_protocol(proto_cpfi, proto_reg_handoff_cpfi);
- prefs_register_uint_preference(cpfi_module, "udp.port", "CPFI UDP Port",
- "Set the port for CPFI messages (if other"
- " than the default of 5000)",
- 10, &gbl_cpfi_udp_port);
prefs_register_uint_preference(cpfi_module, "udp.port2", "InstanceToInstance UDP Port",
"Set the port for InstanceToInstance messages (if other"
" than the default of 5001)",
@@ -530,25 +525,24 @@ proto_reg_handoff_cpfi(void)
{
static gboolean cpfi_init_complete = FALSE;
static dissector_handle_t cpfi_handle;
- static guint cpfi_udp_port;
static guint cpfi_ttot_udp_port;
if ( !cpfi_init_complete )
{
fc_handle = find_dissector_add_dependency("fc", proto_cpfi);
cpfi_handle = create_dissector_handle(dissect_cpfi, proto_cpfi);
+ dissector_add_uint_with_preference("udp.port", CPFI_DEFAULT_UDP_PORT, cpfi_handle);
cpfi_init_complete = TRUE;
}
else
{
- dissector_delete_uint("udp.port", cpfi_udp_port, cpfi_handle);
dissector_delete_uint("udp.port", cpfi_ttot_udp_port, cpfi_handle);
}
- cpfi_udp_port = gbl_cpfi_udp_port;
cpfi_ttot_udp_port = gbl_cpfi_ttot_udp_port;
- dissector_add_uint("udp.port", cpfi_udp_port, cpfi_handle);
+ /* Port preference has a specific enough name to not use
+ the "auto" preference */
dissector_add_uint("udp.port", cpfi_ttot_udp_port, cpfi_handle);
}
diff --git a/epan/dissectors/packet-cpha.c b/epan/dissectors/packet-cpha.c
index 2e07d77089..d401212bdb 100644
--- a/epan/dissectors/packet-cpha.c
+++ b/epan/dissectors/packet-cpha.c
@@ -522,8 +522,7 @@ proto_register_cpha(void)
&ett_cphap,
};
- proto_cphap = proto_register_protocol("Check Point High Availability Protocol",
- "CPHA", "cpha");
+ proto_cphap = proto_register_protocol("Check Point High Availability Protocol", "CPHA", "cpha");
proto_register_field_array(proto_cphap, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
@@ -534,7 +533,7 @@ proto_reg_handoff_cpha(void)
dissector_handle_t cpha_handle;
cpha_handle = create_dissector_handle(dissect_cpha, proto_cphap);
- dissector_add_uint("udp.port", UDP_PORT_CPHA, cpha_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_CPHA, cpha_handle);
}
/*
* Editor modelines
diff --git a/epan/dissectors/packet-cups.c b/epan/dissectors/packet-cups.c
index 1367d35f67..d4b472b79f 100644
--- a/epan/dissectors/packet-cups.c
+++ b/epan/dissectors/packet-cups.c
@@ -389,9 +389,7 @@ proto_register_cups(void)
&ett_cups_ptype
};
- proto_cups = proto_register_protocol(
- "Common Unix Printing System (CUPS) Browsing Protocol",
- "CUPS", "cups");
+ proto_cups = proto_register_protocol("Common Unix Printing System (CUPS) Browsing Protocol", "CUPS", "cups");
proto_register_field_array(proto_cups, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
@@ -405,7 +403,7 @@ proto_reg_handoff_cups(void)
dissector_handle_t cups_handle;
cups_handle = create_dissector_handle(dissect_cups, proto_cups);
- dissector_add_uint("udp.port", UDP_PORT_CUPS, cups_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_CUPS, cups_handle);
}
/*
diff --git a/epan/dissectors/packet-daytime.c b/epan/dissectors/packet-daytime.c
index a0b73df852..ddeb25edef 100644
--- a/epan/dissectors/packet-daytime.c
+++ b/epan/dissectors/packet-daytime.c
@@ -105,7 +105,7 @@ proto_register_daytime(void)
void
proto_reg_handoff_daytime(void)
{
- dissector_add_uint("udp.port", DAYTIME_PORT, daytime_handle);
+ dissector_add_uint_with_preference("udp.port", DAYTIME_PORT, daytime_handle);
dissector_add_uint_with_preference("tcp.port", DAYTIME_PORT, daytime_handle);
}
diff --git a/epan/dissectors/packet-db-lsp.c b/epan/dissectors/packet-db-lsp.c
index cab92beb7a..14ec08f8fa 100644
--- a/epan/dissectors/packet-db-lsp.c
+++ b/epan/dissectors/packet-db-lsp.c
@@ -272,7 +272,7 @@ proto_reg_handoff_db_lsp (void)
db_lsp_udp_handle = find_dissector ("db-lsp.udp");
dissector_add_uint_with_preference("tcp.port", DB_LSP_PORT, db_lsp_tcp_handle);
- dissector_add_uint ("udp.port", DB_LSP_PORT, db_lsp_udp_handle);
+ dissector_add_uint_with_preference("udp.port", DB_LSP_PORT, db_lsp_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-ddtp.c b/epan/dissectors/packet-ddtp.c
index f303ea9d6e..8cad915bda 100644
--- a/epan/dissectors/packet-ddtp.c
+++ b/epan/dissectors/packet-ddtp.c
@@ -210,8 +210,7 @@ proto_register_ddtp(void)
expert_module_t* expert_ddtp;
- proto_ddtp = proto_register_protocol("Dynamic DNS Tools Protocol",
- "DDTP", "ddtp");
+ proto_ddtp = proto_register_protocol("Dynamic DNS Tools Protocol", "DDTP", "ddtp");
proto_register_field_array(proto_ddtp, hf_ddtp, array_length(hf_ddtp));
proto_register_subtree_array(ett, array_length(ett));
expert_ddtp = expert_register_protocol(proto_ddtp);
@@ -224,7 +223,7 @@ proto_reg_handoff_ddtp(void)
dissector_handle_t ddtp_handle;
ddtp_handle = create_dissector_handle(dissect_ddtp, proto_ddtp);
- dissector_add_uint("udp.port", UDP_PORT_DDTP, ddtp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_DDTP, ddtp_handle);
}
/*
diff --git a/epan/dissectors/packet-dhcpv6.c b/epan/dissectors/packet-dhcpv6.c
index 703689f5b4..95c58c0b87 100644
--- a/epan/dissectors/packet-dhcpv6.c
+++ b/epan/dissectors/packet-dhcpv6.c
@@ -228,8 +228,8 @@ static expert_field ei_dhcpv6_bulk_leasequery_bad_msg_type = EI_INIT;
static dissector_handle_t dhcpv6_handle;
-#define UDP_PORT_DHCPV6_DOWNSTREAM 546
-#define UDP_PORT_DHCPV6_UPSTREAM 547
+#define TCP_PORT_DHCPV6_UPSTREAM 547
+#define UDP_PORT_DHCPV6_RANGE "546-547" /* Downstream + Upstream */
#define DHCPV6_LEASEDURATION_INFINITY 0xffffffff
#define HOP_COUNT_LIMIT 32
@@ -2459,12 +2459,11 @@ proto_reg_handoff_dhcpv6(void)
{
dissector_handle_t dhcpv6_bulkquery_handle;
- dissector_add_uint("udp.port", UDP_PORT_DHCPV6_DOWNSTREAM, dhcpv6_handle);
- dissector_add_uint("udp.port", UDP_PORT_DHCPV6_UPSTREAM, dhcpv6_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_DHCPV6_RANGE, dhcpv6_handle);
dhcpv6_bulkquery_handle = create_dissector_handle(dissect_dhcpv6_bulk_leasequery,
proto_dhcpv6_bulk_leasequery);
- dissector_add_uint_with_preference("tcp.port", UDP_PORT_DHCPV6_UPSTREAM, dhcpv6_bulkquery_handle);
+ dissector_add_uint_with_preference("tcp.port", TCP_PORT_DHCPV6_UPSTREAM, dhcpv6_bulkquery_handle);
}
/*
diff --git a/epan/dissectors/packet-diameter.c b/epan/dissectors/packet-diameter.c
index 161bc93c23..706bf05bfa 100644
--- a/epan/dissectors/packet-diameter.c
+++ b/epan/dissectors/packet-diameter.c
@@ -303,7 +303,6 @@ static dissector_handle_t diameter_udp_handle;
static dissector_handle_t diameter_tcp_handle;
static dissector_handle_t diameter_sctp_handle;
static range_t *global_diameter_sctp_port_range;
-static range_t *global_diameter_udp_port_range;
/* This is used for TCP and SCTP */
#define DEFAULT_DIAMETER_PORT_RANGE "3868"
@@ -2334,11 +2333,9 @@ proto_register_diameter(void)
/* Set default TCP ports */
range_convert_str(&global_diameter_sctp_port_range, DEFAULT_DIAMETER_PORT_RANGE, MAX_SCTP_PORT);
- range_convert_str(&global_diameter_udp_port_range, "", MAX_UDP_PORT);
/* Register configuration options for ports */
- diameter_module = prefs_register_protocol(proto_diameter,
- proto_reg_handoff_diameter);
+ diameter_module = prefs_register_protocol(proto_diameter, proto_reg_handoff_diameter);
prefs_register_range_preference(diameter_module, "sctp.ports",
"Diameter SCTP Ports",
@@ -2353,11 +2350,6 @@ proto_register_diameter(void)
" To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
&gbl_diameter_desegment);
- prefs_register_range_preference(diameter_module, "udp.ports", "Diameter UDP ports",
- "UDP ports to be decoded as Diameter (default: 0 as Diameter over UDP is nonstandard)",
- &global_diameter_udp_port_range, MAX_UDP_PORT);
-
-
/* Register some preferences we no longer support, so we can report
* them as obsolete rather than just illegal.
*/
@@ -2381,7 +2373,6 @@ proto_reg_handoff_diameter(void)
{
static gboolean Initialized=FALSE;
static range_t *diameter_sctp_port_range;
- static range_t *diameter_udp_port_range;
if (!Initialized) {
diameter_sctp_handle = find_dissector("diameter");
@@ -2424,20 +2415,18 @@ proto_reg_handoff_diameter(void)
/* Register dissector for Experimental result code, with 3GPP2's vendor Id */
dissector_add_uint("diameter.vnd_exp_res", VENDOR_THE3GPP2, create_dissector_handle(dissect_diameter_3gpp2_exp_res, proto_diameter));
+ dissector_add_uint_range_with_preference("tcp.port", DEFAULT_DIAMETER_PORT_RANGE, diameter_tcp_handle);
+ dissector_add_uint_range_with_preference("udp.port", "", diameter_udp_handle);
+
Initialized=TRUE;
} else {
dissector_delete_uint_range("sctp.port", diameter_sctp_port_range, diameter_sctp_handle);
- dissector_delete_uint_range("udp.port", diameter_udp_port_range, diameter_udp_handle);
g_free(diameter_sctp_port_range);
- g_free(diameter_udp_port_range);
}
/* set port for future deletes */
diameter_sctp_port_range = range_copy(global_diameter_sctp_port_range);
- diameter_udp_port_range = range_copy(global_diameter_udp_port_range);
- dissector_add_uint_range_with_preference("tcp.port", DEFAULT_DIAMETER_PORT_RANGE, diameter_tcp_handle);
dissector_add_uint_range("sctp.port", diameter_sctp_port_range, diameter_sctp_handle);
- dissector_add_uint_range("udp.port", diameter_udp_port_range, diameter_udp_handle);
exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
diff --git a/epan/dissectors/packet-dis.c b/epan/dissectors/packet-dis.c
index dcfab75624..c467da365f 100644
--- a/epan/dissectors/packet-dis.c
+++ b/epan/dissectors/packet-dis.c
@@ -33,10 +33,9 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include "packet-link16.h"
-#define DEFAULT_DIS_UDP_PORT 3000
+#define DEFAULT_DIS_UDP_PORT 3000 /* Not IANA registered */
/* Encoding type the last 14 bits */
#define DIS_ENCODING_TYPE(word) ((word) & 0x3FFF)
@@ -7009,8 +7008,6 @@ static const true_false_string dis_time_hopping_value = {
"Time hopping modulation not used"
};
-static guint dis_udp_port = DEFAULT_DIS_UDP_PORT;
-
typedef struct dis_header
{
guint8 version;
@@ -9653,22 +9650,9 @@ void proto_register_dis(void)
&ett_iff_parameter_6,
};
- module_t *dis_module;
-
proto_dis = proto_register_protocol("Distributed Interactive Simulation", "DIS", "dis");
proto_register_field_array(proto_dis, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- dis_module = prefs_register_protocol(proto_dis, proto_reg_handoff_dis);
-
- /* Create an unsigned integer preference to allow the user to specify the
- * UDP port on which to capture DIS packets.
- */
- prefs_register_uint_preference(dis_module, "udp.port",
- "DIS UDP Port",
- "Set the UDP port for DIS messages",
- 10, &dis_udp_port);
-
}
/* Register handoff routine for DIS dissector. This will be invoked initially
@@ -9677,23 +9661,12 @@ void proto_register_dis(void)
*/
void proto_reg_handoff_dis(void)
{
- static gboolean dis_prefs_initialized = FALSE;
- static dissector_handle_t dis_dissector_handle;
- static guint saved_dis_udp_port;
+ dissector_handle_t dis_dissector_handle;
- 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
- {
- dissector_delete_uint("udp.port", saved_dis_udp_port, dis_dissector_handle);
- }
+ dis_dissector_handle = create_dissector_handle(dissect_dis, proto_dis);
+ dissector_add_uint_with_preference("udp.port", DEFAULT_DIS_UDP_PORT, dis_dissector_handle);
- dissector_add_uint("udp.port", dis_udp_port, dis_dissector_handle);
- saved_dis_udp_port = dis_udp_port;
+ link16_handle = find_dissector_add_dependency("link16", proto_dis);
}
/*
diff --git a/epan/dissectors/packet-dlsw.c b/epan/dissectors/packet-dlsw.c
index daf2896193..ff68a08843 100644
--- a/epan/dissectors/packet-dlsw.c
+++ b/epan/dissectors/packet-dlsw.c
@@ -686,7 +686,7 @@ proto_reg_handoff_dlsw(void)
dissector_handle_t dlsw_udp_handle, dlsw_tcp_handle;
dlsw_udp_handle = create_dissector_handle(dissect_dlsw_udp, proto_dlsw);
- dissector_add_uint("udp.port", UDP_PORT_DLSW, dlsw_udp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_DLSW, dlsw_udp_handle);
dlsw_tcp_handle = create_dissector_handle(dissect_dlsw_tcp, proto_dlsw);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_DLSW, dlsw_tcp_handle);
diff --git a/epan/dissectors/packet-dmp.c b/epan/dissectors/packet-dmp.c
index 5b77aaae84..fccb32083a 100644
--- a/epan/dissectors/packet-dmp.c
+++ b/epan/dissectors/packet-dmp.c
@@ -532,7 +532,6 @@ static struct dmp_data {
} dmp;
/* User definable values */
-static range_t *global_dmp_port_range;
static gint dmp_nat_decode = NAT_DECODE_DMP;
static gint dmp_local_nation = 0;
static gboolean use_seq_ack_analysis = TRUE;
@@ -4922,23 +4921,15 @@ void proto_register_dmp (void)
register_init_routine (&dmp_init_routine);
register_cleanup_routine (&dmp_cleanup_routine);
- /* Set default UDP ports */
- range_convert_str (&global_dmp_port_range, DEFAULT_DMP_PORT_RANGE,
- MAX_UDP_PORT);
-
/* Build national values */
build_national_strings ();
/* Register our configuration options */
- dmp_module = prefs_register_protocol (proto_dmp, proto_reg_handoff_dmp);
+ dmp_module = prefs_register_protocol (proto_dmp, NULL);
prefs_register_obsolete_preference (dmp_module, "udp_port");
prefs_register_obsolete_preference (dmp_module, "udp_port_second");
- prefs_register_range_preference (dmp_module, "udp_ports",
- "DMP port numbers",
- "Port numbers used for DMP traffic",
- &global_dmp_port_range, MAX_UDP_PORT);
prefs_register_enum_preference (dmp_module, "national_decode",
"National decoding",
"Select the type of decoding for nationally-defined values",
@@ -4975,21 +4966,8 @@ void proto_register_dmp (void)
void proto_reg_handoff_dmp (void)
{
- static range_t *dmp_port_range;
- static gboolean dmp_prefs_initialized = FALSE;
-
- if (!dmp_prefs_initialized) {
- dmp_prefs_initialized = TRUE;
- dissector_add_uint ("s5066sis.ctl.appid", S5066_CLIENT_S4406_ANNEX_E_TMI_4_DMP, dmp_handle);
- } else {
- dissector_delete_uint_range ("udp.port", dmp_port_range, dmp_handle);
- g_free (dmp_port_range);
- }
-
- /* Save port number for later deletion */
- dmp_port_range = range_copy (global_dmp_port_range);
-
- dissector_add_uint_range ("udp.port", dmp_port_range, dmp_handle);
+ dissector_add_uint ("s5066sis.ctl.appid", S5066_CLIENT_S4406_ANNEX_E_TMI_4_DMP, dmp_handle);
+ dissector_add_uint_range_with_preference("udp.port", DEFAULT_DMP_PORT_RANGE, dmp_handle);
}
/*
diff --git a/epan/dissectors/packet-dnp.c b/epan/dissectors/packet-dnp.c
index 18461f31a0..93af56f301 100644
--- a/epan/dissectors/packet-dnp.c
+++ b/epan/dissectors/packet-dnp.c
@@ -4600,7 +4600,7 @@ proto_reg_handoff_dnp3(void)
dnp3_tcp_handle = create_dissector_handle(dissect_dnp3_tcp, proto_dnp3);
dnp3_udp_handle = create_dissector_handle(dissect_dnp3_udp, proto_dnp3);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_DNP, dnp3_tcp_handle);
- dissector_add_uint("udp.port", UDP_PORT_DNP, dnp3_udp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_DNP, dnp3_udp_handle);
dissector_add_for_decode_as("rtacser.data", dnp3_udp_handle);
}
diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c
index 7916fc6db9..281d7b9268 100644
--- a/epan/dissectors/packet-dns.c
+++ b/epan/dissectors/packet-dns.c
@@ -421,8 +421,6 @@ static dissector_table_t dns_tsig_dissector_table=NULL;
static dissector_handle_t dns_handle;
-static range_t *global_dns_udp_port_range;
-
/* desegmentation of DNS over TCP */
static gboolean dns_desegment = TRUE;
@@ -4078,18 +4076,13 @@ static int dns_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_di
void
proto_reg_handoff_dns(void)
{
- static range_t *dns_udp_port_range;
-
- static gboolean Initialized = FALSE;
-
- if (!Initialized) {
dissector_handle_t mdns_udp_handle;
dissector_handle_t llmnr_udp_handle;
mdns_udp_handle = create_dissector_handle(dissect_mdns_udp, proto_mdns);
llmnr_udp_handle = create_dissector_handle(dissect_llmnr_udp, proto_llmnr);
- dissector_add_uint("udp.port", UDP_PORT_MDNS, mdns_udp_handle);
- dissector_add_uint("udp.port", UDP_PORT_LLMNR, llmnr_udp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_MDNS, mdns_udp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_LLMNR, llmnr_udp_handle);
dissector_add_uint("sctp.port", SCTP_PORT_DNS, dns_handle);
#if 0
dissector_add_uint("sctp.ppi", DNS_PAYLOAD_PROTOCOL_ID, dns_handle);
@@ -4100,15 +4093,7 @@ proto_reg_handoff_dns(void)
ssl_dissector_add(TCP_PORT_DNS_TLS, dns_handle);
dtls_dissector_add(UDP_PORT_DNS_DTLS, dns_handle);
dissector_add_uint_range_with_preference("tcp.port", DEFAULT_DNS_TCP_PORT_RANGE, dns_handle);
- Initialized = TRUE;
-
- } else {
- dissector_delete_uint_range("udp.port", dns_udp_port_range, dns_handle);
- g_free(dns_udp_port_range);
- }
-
- dns_udp_port_range = range_copy(global_dns_udp_port_range);
- dissector_add_uint_range("udp.port", dns_udp_port_range, dns_handle);
+ dissector_add_uint_range_with_preference("udp.port", DEFAULT_DNS_PORT_RANGE, dns_handle);
}
void
@@ -5571,15 +5556,7 @@ proto_register_dns(void)
expert_dns = expert_register_protocol(proto_dns);
expert_register_field_array(expert_dns, ei, array_length(ei));
- /* Set default ports */
- range_convert_str(&global_dns_udp_port_range, DEFAULT_DNS_PORT_RANGE, MAX_UDP_PORT);
-
- dns_module = prefs_register_protocol(proto_dns, proto_reg_handoff_dns);
-
- prefs_register_range_preference(dns_module, "udp.ports", "DNS UDP ports",
- "UDP ports to be decoded as DNS (default: "
- DEFAULT_DNS_PORT_RANGE ")",
- &global_dns_udp_port_range, MAX_UDP_PORT);
+ dns_module = prefs_register_protocol(proto_dns, NULL);
prefs_register_bool_preference(dns_module, "desegment_dns_messages",
"Reassemble DNS messages spanning multiple TCP segments",
diff --git a/epan/dissectors/packet-dof.c b/epan/dissectors/packet-dof.c
index 3e7f20d90d..486562d1c4 100644
--- a/epan/dissectors/packet-dof.c
+++ b/epan/dissectors/packet-dof.c
@@ -877,11 +877,10 @@ static void dof_packet_delete_proto_data(dof_packet_data *packet, int proto);
* source address, and the DPS dissector is associated with that port. In this
* way, servers on non-standard ports will automatically be decoded using DPS.
*/
-#define DOF_P2P_NEG_SEC_UDP_PORT 3567
+#define DOF_NEG_SEC_UDP_PORT_RANGE "3567,5567" /* P2P + Multicast */
#define DOF_P2P_NEG_SEC_TCP_PORT 3567
/* Reserved UDP port 3568*/
#define DOF_TUN_SEC_TCP_PORT 3568
-#define DOF_MCAST_NEG_SEC_UDP_PORT 5567
#define DOF_P2P_SEC_TCP_PORT 5567
/* Reserved UDP port 8567*/
#define DOF_TUN_NON_SEC_TCP_PORT 8567
@@ -11051,8 +11050,7 @@ static void dof_handoff(void)
undissected_data_handle = find_dissector("data");
dissector_add_uint_with_preference("tcp.port", DOF_P2P_NEG_SEC_TCP_PORT, tcp_handle);
- dissector_add_uint("udp.port", DOF_P2P_NEG_SEC_UDP_PORT, dof_udp_handle);
- dissector_add_uint("udp.port", DOF_MCAST_NEG_SEC_UDP_PORT, dof_udp_handle);
+ dissector_add_uint_range_with_preference("udp.port", DOF_NEG_SEC_UDP_PORT_RANGE, dof_udp_handle);
}
/* OID Registration Support */
diff --git a/epan/dissectors/packet-dtn.c b/epan/dissectors/packet-dtn.c
index d1ce3e002f..881f5fd4c6 100644
--- a/epan/dissectors/packet-dtn.c
+++ b/epan/dissectors/packet-dtn.c
@@ -51,7 +51,6 @@
#include <stdio.h>
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/reassemble.h>
#include <epan/expert.h>
#include "packet-dtn.h"
@@ -290,7 +289,6 @@ static expert_field ei_tcp_convergence_ack_length = EI_INIT;
static dissector_handle_t bundle_handle;
#define BUNDLE_PORT 4556
-static guint bundle_udp_port = BUNDLE_PORT;
typedef struct dictionary_data {
int bundle_header_dict_length;
@@ -3049,21 +3047,13 @@ proto_register_bundle(void)
},
};
- module_t *bundle_module;
expert_module_t *expert_bundle, *expert_tcpcl;
proto_bundle = proto_register_protocol("Bundle Protocol", "Bundle", "bundle");
bundle_handle = register_dissector("bundle", dissect_bundle, proto_bundle);
- bundle_module = prefs_register_protocol(proto_bundle, proto_reg_handoff_bundle);
proto_tcp_conv = proto_register_protocol ("DTN TCP Convergence Layer Protocol", "TCPCL", "tcpcl");
- prefs_register_uint_preference(bundle_module, "udp.port",
- "Bundle Protocol UDP Port",
- "UDP Port to Accept Bundle Protocol Connections",
- 10,
- &bundle_udp_port);
-
proto_register_field_array(proto_bundle, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_bundle = expert_register_protocol(proto_bundle);
@@ -3081,21 +3071,11 @@ proto_register_bundle(void)
void
proto_reg_handoff_bundle(void)
{
- static dissector_handle_t tcpcl_handle;
- static guint udp_port;
-
- static int Initialized = FALSE;
+ dissector_handle_t tcpcl_handle;
- if (!Initialized) {
- tcpcl_handle = create_dissector_handle(dissect_tcpcl, proto_bundle);
- dissector_add_uint_with_preference("tcp.port", BUNDLE_PORT, tcpcl_handle);
- Initialized = TRUE;
- }
- else {
- dissector_delete_uint("udp.port", udp_port, bundle_handle);
- }
- udp_port = bundle_udp_port;
- dissector_add_uint("udp.port", udp_port, bundle_handle);
+ tcpcl_handle = create_dissector_handle(dissect_tcpcl, proto_bundle);
+ dissector_add_uint_with_preference("tcp.port", BUNDLE_PORT, tcpcl_handle);
+ dissector_add_uint_with_preference("udp.port", BUNDLE_PORT, bundle_handle);
}
/*
diff --git a/epan/dissectors/packet-dvb-ipdc.c b/epan/dissectors/packet-dvb-ipdc.c
index d2167e46e9..806f48d2d1 100644
--- a/epan/dissectors/packet-dvb-ipdc.c
+++ b/epan/dissectors/packet-dvb-ipdc.c
@@ -104,7 +104,7 @@ proto_reg_handoff_dvb_ipdc(void)
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);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_IPDC_ESG_BOOTSTRAP, ipdc_handle);
}
/*
diff --git a/epan/dissectors/packet-echo.c b/epan/dissectors/packet-echo.c
index a6aa6bb59e..591c8811ee 100644
--- a/epan/dissectors/packet-echo.c
+++ b/epan/dissectors/packet-echo.c
@@ -114,7 +114,7 @@ void proto_reg_handoff_echo(void)
echo_handle = create_dissector_handle(dissect_echo, proto_echo);
- dissector_add_uint("udp.port", ECHO_PORT, echo_handle);
+ dissector_add_uint_with_preference("udp.port", ECHO_PORT, echo_handle);
dissector_add_uint_with_preference("tcp.port", ECHO_PORT, echo_handle);
}
diff --git a/epan/dissectors/packet-ecmp.c b/epan/dissectors/packet-ecmp.c
index 9352c81f47..adcdbfe158 100644
--- a/epan/dissectors/packet-ecmp.c
+++ b/epan/dissectors/packet-ecmp.c
@@ -51,9 +51,6 @@ static int proto_modbus = -1;
/* These are the handles of our subdissectors */
static dissector_handle_t modbus_handle = NULL;
-/*stores the port number for our protocol (ECMP)*/
-static const guint16 global_ecmp_port = 6160;
-
/*smallest size of a packet, number of bytes*/
static const gint ecmp_min_packet_size = 6;
@@ -3565,18 +3562,14 @@ void proto_register_ecmp (void)
/* Wireshark literally scans this file (packet-ecmp.c) to find this function */
void proto_reg_handoff_ecmp(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t ecmp_tcp_handle, ecmp_udp_handle;
+ dissector_handle_t ecmp_tcp_handle, ecmp_udp_handle;
- if (!initialized) {
- ecmp_tcp_handle = create_dissector_handle(dissect_ecmp_tcp, proto_ecmp);
- ecmp_udp_handle = create_dissector_handle(dissect_ecmp_udp, proto_ecmp);
+ ecmp_tcp_handle = create_dissector_handle(dissect_ecmp_tcp, proto_ecmp);
+ ecmp_udp_handle = create_dissector_handle(dissect_ecmp_udp, proto_ecmp);
- /* Cyclic frames are over UDP and non-cyclic are over TCP */
- dissector_add_uint("udp.port", global_ecmp_port, ecmp_udp_handle);
- dissector_add_uint_with_preference("tcp.port", ECMP_TCP_PORT, ecmp_tcp_handle);
- initialized = TRUE;
- }
+ /* Cyclic frames are over UDP and non-cyclic are over TCP */
+ dissector_add_uint_with_preference("udp.port", ECMP_TCP_PORT, ecmp_udp_handle);
+ dissector_add_uint_with_preference("tcp.port", ECMP_TCP_PORT, ecmp_tcp_handle);
/* Modbus dissector hooks */
modbus_handle = find_dissector_add_dependency("modbus", proto_ecmp);
diff --git a/epan/dissectors/packet-edonkey.c b/epan/dissectors/packet-edonkey.c
index 332e24bc85..f9a848b959 100644
--- a/epan/dissectors/packet-edonkey.c
+++ b/epan/dissectors/packet-edonkey.c
@@ -183,6 +183,7 @@ static expert_field ei_kademlia_tag_type = EI_INIT;
static expert_field ei_kademlia_search_expression_type = EI_INIT;
#define EDONKEY_TCP_PORT_RANGE "4661-4663" /* Not IANA registered */
+#define EDONKEY_UDP_PORT_RANGE "4665,4672" /* Not IANA registered */
/* desegmentation of eDonkey over TCP */
static gboolean edonkey_desegment = TRUE;
@@ -3408,9 +3409,7 @@ void proto_reg_handoff_edonkey(void) {
edonkey_udp_handle = create_dissector_handle(dissect_edonkey_udp, proto_edonkey);
dissector_add_uint_range_with_preference("tcp.port", EDONKEY_TCP_PORT_RANGE, edonkey_tcp_handle);
- dissector_add_uint("udp.port", 4665, edonkey_udp_handle);
- dissector_add_uint("udp.port", 4672, edonkey_udp_handle);
-
+ dissector_add_uint_range_with_preference("udp.port", EDONKEY_UDP_PORT_RANGE, edonkey_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-egd.c b/epan/dissectors/packet-egd.c
index 4d1ee44635..f3c33d2a8e 100644
--- a/epan/dissectors/packet-egd.c
+++ b/epan/dissectors/packet-egd.c
@@ -28,7 +28,7 @@
#include <epan/packet.h>
-#define EGD_PORT 18246 /* 0x4746 */
+#define EGD_PORT 18246 /* 0x4746 - Not IANA registered */
#define EGD_ST_NONEW 0
#define EGD_ST_NOERROR 1
@@ -226,11 +226,7 @@ void proto_register_egd(void)
&ett_status_item
};
- proto_egd = proto_register_protocol (
- "Ethernet Global Data", /* name */
- "EGD", /* short name */
- "egd" /* abbrev */
- );
+ proto_egd = proto_register_protocol ("Ethernet Global Data", "EGD", "egd");
proto_register_field_array(proto_egd, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
@@ -240,7 +236,7 @@ void proto_reg_handoff_egd(void)
dissector_handle_t egd_handle;
egd_handle = create_dissector_handle(dissect_egd, proto_egd);
- dissector_add_uint("udp.port", EGD_PORT, egd_handle);
+ dissector_add_uint_with_preference("udp.port", EGD_PORT, egd_handle);
}
/*
diff --git a/epan/dissectors/packet-ehs.c b/epan/dissectors/packet-ehs.c
index 0f168807a3..893ca7b72f 100644
--- a/epan/dissectors/packet-ehs.c
+++ b/epan/dissectors/packet-ehs.c
@@ -1959,7 +1959,7 @@ proto_register_ehs(void)
void
proto_reg_handoff_ehs(void)
{
- dissector_add_for_decode_as ( "udp.port", find_dissector("ehs") );
+ dissector_add_for_decode_as_with_preference( "udp.port", find_dissector("ehs") );
ccsds_handle = find_dissector_add_dependency ( "ccsds", proto_ehs );
}
diff --git a/epan/dissectors/packet-elasticsearch.c b/epan/dissectors/packet-elasticsearch.c
index 461ebdac7c..2dca06b9ac 100644
--- a/epan/dissectors/packet-elasticsearch.c
+++ b/epan/dissectors/packet-elasticsearch.c
@@ -26,7 +26,7 @@
#include <epan/expert.h>
#include "packet-tcp.h"
-#define ELASTICSEARCH_DISCOVERY_PORT 54328
+#define ELASTICSEARCH_DISCOVERY_PORT 54328 /* Not IANA registered */
#define ELASTICSEARCH_BINARY_PORT 9300 /* Not IANA registered */
#define IPv4_ADDRESS_LENGTH 4
@@ -727,7 +727,7 @@ void proto_reg_handoff_elasticsearch(void) {
elasticsearch_handle_binary = create_dissector_handle(dissect_elasticsearch_binary, proto_elasticsearch);
elasticsearch_zen_handle = create_dissector_handle(dissect_elasticsearch_zen_ping, proto_elasticsearch);
- dissector_add_uint("udp.port", ELASTICSEARCH_DISCOVERY_PORT, elasticsearch_zen_handle);
+ dissector_add_uint_with_preference("udp.port", ELASTICSEARCH_DISCOVERY_PORT, elasticsearch_zen_handle);
dissector_add_uint_with_preference("tcp.port", ELASTICSEARCH_BINARY_PORT, elasticsearch_handle_binary);
}
diff --git a/epan/dissectors/packet-enip.c b/epan/dissectors/packet-enip.c
index 73f8333b42..f664818124 100644
--- a/epan/dissectors/packet-enip.c
+++ b/epan/dissectors/packet-enip.c
@@ -4427,11 +4427,11 @@ proto_reg_handoff_enip(void)
/* Register for EtherNet/IP, using UDP */
enip_udp_handle = create_dissector_handle(dissect_enip_udp, proto_enip);
- dissector_add_uint("udp.port", ENIP_ENCAP_PORT, enip_udp_handle);
+ dissector_add_uint_with_preference("udp.port", ENIP_ENCAP_PORT, enip_udp_handle);
/* Register for EtherNet/IP IO data (UDP) */
enipio_handle = find_dissector("enip_io");
- dissector_add_uint("udp.port", ENIP_IO_PORT, enipio_handle);
+ dissector_add_uint_with_preference("udp.port", ENIP_IO_PORT, enipio_handle);
/* Register for EtherNet/IP TLS */
ssl_dissector_add(ENIP_SECURE_PORT, enip_tcp_handle);
diff --git a/epan/dissectors/packet-enrp.c b/epan/dissectors/packet-enrp.c
index 11cf7d5ad8..96cec01364 100644
--- a/epan/dissectors/packet-enrp.c
+++ b/epan/dissectors/packet-enrp.c
@@ -1092,7 +1092,7 @@ proto_reg_handoff_enrp(void)
enrp_handle = create_dissector_handle(dissect_enrp, proto_enrp);
dissector_add_uint("sctp.ppi", ENRP_PAYLOAD_PROTOCOL_ID, enrp_handle);
dissector_add_uint("sctp.port", ENRP_SCTP_PORT, enrp_handle);
- dissector_add_uint("udp.port", ENRP_UDP_PORT, enrp_handle);
+ dissector_add_uint_with_preference("udp.port", ENRP_UDP_PORT, enrp_handle);
}
/*
diff --git a/epan/dissectors/packet-enttec.c b/epan/dissectors/packet-enttec.c
index 4b55e6b085..fcd9745682 100644
--- a/epan/dissectors/packet-enttec.c
+++ b/epan/dissectors/packet-enttec.c
@@ -36,7 +36,7 @@
/* Define UDP/TCP ports for ENTTEC */
-#define UDP_PORT_ENTTEC 0x0D05
+#define UDP_PORT_ENTTEC 0x0D05 /* Not IANA registered */
#define TCP_PORT_ENTTEC 0x0D05 /* Not IANA registered */
@@ -107,8 +107,6 @@ static int ett_enttec = -1;
* for enttec
*/
-static guint global_udp_port_enttec = UDP_PORT_ENTTEC;
-
static gint global_disp_chan_val_type = 0;
static gint global_disp_col_count = 16;
static gint global_disp_chan_nr_type = 0;
@@ -544,12 +542,7 @@ proto_register_enttec(void)
proto_register_field_array(proto_enttec,hf,array_length(hf));
proto_register_subtree_array(ett,array_length(ett));
- enttec_module = prefs_register_protocol(proto_enttec,
- proto_reg_handoff_enttec);
- prefs_register_uint_preference(enttec_module, "udp_port",
- "ENTTEC UDP Port",
- "The UDP port on which ENTTEC packets will be sent",
- 10,&global_udp_port_enttec);
+ enttec_module = prefs_register_protocol(proto_enttec, NULL);
prefs_register_enum_preference(enttec_module, "dmx_disp_chan_val_type",
"DMX Display channel value type",
@@ -573,22 +566,13 @@ proto_register_enttec(void)
/* The registration hand-off routing */
void
proto_reg_handoff_enttec(void) {
- static gboolean enttec_initialized = FALSE;
- static dissector_handle_t enttec_udp_handle, enttec_tcp_handle;
- static guint udp_port_enttec;
-
- if(!enttec_initialized) {
- enttec_udp_handle = create_dissector_handle(dissect_enttec_udp,proto_enttec);
- enttec_tcp_handle = create_dissector_handle(dissect_enttec_tcp,proto_enttec);
- dissector_add_uint_with_preference("tcp.port",TCP_PORT_ENTTEC,enttec_tcp_handle);
- enttec_initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port",udp_port_enttec,enttec_udp_handle);
- }
+ dissector_handle_t enttec_udp_handle, enttec_tcp_handle;
- udp_port_enttec = global_udp_port_enttec;
+ enttec_udp_handle = create_dissector_handle(dissect_enttec_udp,proto_enttec);
+ enttec_tcp_handle = create_dissector_handle(dissect_enttec_tcp,proto_enttec);
- dissector_add_uint("udp.port",global_udp_port_enttec,enttec_udp_handle);
+ dissector_add_uint_with_preference("tcp.port",TCP_PORT_ENTTEC,enttec_tcp_handle);
+ dissector_add_uint_with_preference("udp.port",UDP_PORT_ENTTEC,enttec_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-epl.c b/epan/dissectors/packet-epl.c
index 3dca5b06ce..b8546a9185 100644
--- a/epan/dissectors/packet-epl.c
+++ b/epan/dissectors/packet-epl.c
@@ -4562,7 +4562,7 @@ proto_reg_handoff_epl(void)
dissector_handle_t epl_udp_handle = create_dissector_handle( dissect_epludp, proto_epl );
dissector_add_uint("ethertype", ETHERTYPE_EPL_V2, epl_handle);
- dissector_add_uint("udp.port", UDP_PORT_EPL, epl_udp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_EPL, epl_udp_handle);
/* register frame init routine */
register_init_routine( setup_dissector );
diff --git a/epan/dissectors/packet-esio.c b/epan/dissectors/packet-esio.c
index 8726a42fd1..0b5a2fde77 100644
--- a/epan/dissectors/packet-esio.c
+++ b/epan/dissectors/packet-esio.c
@@ -33,6 +33,8 @@
void proto_register_esio(void);
void proto_reg_handoff_esio(void);
+#define ESIO_UDP_PORT 6060 /* Not IANA registered */
+
/* Initialize the protocol and registered fields */
static int proto_esio = -1;
static int hf_esio_type = -1;
@@ -419,7 +421,7 @@ proto_reg_handoff_esio(void)
dissector_handle_t esio_handle;
esio_handle = create_dissector_handle(dissect_esio, proto_esio);
- dissector_add_uint("udp.port", 6060, esio_handle);
+ dissector_add_uint_with_preference("udp.port", ESIO_UDP_PORT, esio_handle);
}
/*
diff --git a/epan/dissectors/packet-eth.c b/epan/dissectors/packet-eth.c
index 4d82e8f448..605acfeddf 100644
--- a/epan/dissectors/packet-eth.c
+++ b/epan/dissectors/packet-eth.c
@@ -1034,7 +1034,7 @@ proto_reg_handoff_eth(void)
* command - it encapsulates Ethernet frames in UDP packets, but
* the UDP port is user-defined.
*/
- dissector_add_for_decode_as("udp.port", eth_withoutfcs_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", eth_withoutfcs_handle);
dissector_add_for_decode_as("pcli.payload", eth_withoutfcs_handle);
diff --git a/epan/dissectors/packet-ff.c b/epan/dissectors/packet-ff.c
index 496b8ce65e..a56ef51494 100644
--- a/epan/dissectors/packet-ff.c
+++ b/epan/dissectors/packet-ff.c
@@ -15289,32 +15289,14 @@ proto_reg_handoff_ff(void)
* 4.8.4.2. Use
*
* - Device Annunciation
- */
- dissector_add_uint("udp.port", UDP_PORT_FF_ANNUNC, ff_udp_handle);
-
- /*
- * 4.8.4.2. Use
- *
* - Client / Server
- */
- dissector_add_uint("udp.port", UDP_PORT_FF_FMS, ff_udp_handle);
- dissector_add_uint_with_preference("tcp.port", TCP_PORT_FF_FMS, ff_tcp_handle);
-
- /*
- * 4.8.4.2. Use
- *
* - Set/Clear Assignment Info and Clear Address
* - SM Identify
* - SM Find Tag
- */
- dissector_add_uint("udp.port", UDP_PORT_FF_SM, ff_udp_handle);
-
- /*
- * 4.8.4.2. Use
- *
* - LAN Redundancy Get and Put Information
*/
- dissector_add_uint("udp.port", UDP_PORT_FF_LR_PORT, ff_udp_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_FF_RANGE, ff_udp_handle);
+ dissector_add_uint_with_preference("tcp.port", TCP_PORT_FF_FMS, ff_tcp_handle);
}
/*
diff --git a/epan/dissectors/packet-ff.h b/epan/dissectors/packet-ff.h
index 7ac7cff660..768d644070 100644
--- a/epan/dissectors/packet-ff.h
+++ b/epan/dissectors/packet-ff.h
@@ -42,16 +42,13 @@
#ifndef __PACKET_FF_H__
#define __PACKET_FF_H__
-#define UDP_PORT_FF_ANNUNC 1089
+#define UDP_PORT_FF_RANGE "1089-1091,3622"
#define TCP_PORT_FF_ANNUNC 1089
-#define UDP_PORT_FF_FMS 1090
#define TCP_PORT_FF_FMS 1090
-#define UDP_PORT_FF_SM 1091
#define TCP_PORT_FF_SM 1091
-#define UDP_PORT_FF_LR_PORT 3622
#define TCP_PORT_FF_LR_PORT 3622
diff --git a/epan/dissectors/packet-forces.c b/epan/dissectors/packet-forces.c
index fcadd6a0f5..745e90d09f 100644
--- a/epan/dissectors/packet-forces.c
+++ b/epan/dissectors/packet-forces.c
@@ -144,8 +144,6 @@ static int hf_forces_unknown_tlv = -1;
For other type TMLs,no need to add these 2 bytes.*/
#define TCP_UDP_TML_FOCES_MESSAGE_OFFSET_TCP 2
-/*TCP+UDP TML*/
-static guint forces_alternate_udp_port = 0;
/*SCTP TML*/
static guint forces_alternate_sctp_high_prio_channel_port = 0;
static guint forces_alternate_sctp_med_prio_channel_port = 0;
@@ -832,11 +830,6 @@ proto_register_forces(void)
forces_module = prefs_register_protocol(proto_forces,proto_reg_handoff_forces);
- prefs_register_uint_preference(forces_module, "udp_alternate_port",
- "UDP port",
- "Decode packets on this UDP port as ForCES",
- 10, &forces_alternate_udp_port);
-
prefs_register_uint_preference(forces_module, "sctp_high_prio_port",
"SCTP High Priority channel port",
"Decode packets on this sctp port as ForCES",
@@ -858,7 +851,6 @@ proto_reg_handoff_forces(void)
{
static gboolean inited = FALSE;
- static guint alternate_udp_port = 0;
static guint alternate_sctp_high_prio_channel_port = 0; /* 6700 */
static guint alternate_sctp_med_prio_channel_port = 0;
static guint alternate_sctp_low_prio_channel_port = 0;
@@ -871,18 +863,12 @@ proto_reg_handoff_forces(void)
ip_handle = find_dissector_add_dependency("ip", proto_forces);
/* Register TCP port for dissection */
dissector_add_for_decode_as_with_preference("tcp.port", forces_handle_tcp);
+ /* Register UDP port for dissection */
+ dissector_add_for_decode_as_with_preference("udp.port", forces_handle);
inited = TRUE;
}
-
- /* Register UDP port for dissection */
- if ((alternate_udp_port != 0) && (alternate_udp_port != forces_alternate_udp_port))
- dissector_delete_uint("udp.port", alternate_udp_port, forces_handle);
- if ((forces_alternate_udp_port != 0) && (alternate_udp_port != forces_alternate_udp_port))
- dissector_add_uint("udp.port", forces_alternate_udp_port, forces_handle);
- alternate_udp_port = forces_alternate_udp_port;
-
/* Register SCTP port for high priority dissection */
if ((alternate_sctp_high_prio_channel_port != 0) &&
(alternate_sctp_high_prio_channel_port != forces_alternate_sctp_high_prio_channel_port))
diff --git a/epan/dissectors/packet-geneve.c b/epan/dissectors/packet-geneve.c
index aefdeee4ab..0b76ff2ce6 100644
--- a/epan/dissectors/packet-geneve.c
+++ b/epan/dissectors/packet-geneve.c
@@ -451,8 +451,7 @@ proto_reg_handoff_geneve(void)
dissector_handle_t geneve_handle;
geneve_handle = create_dissector_handle(dissect_geneve, proto_geneve);
- dissector_add_uint("udp.port", UDP_PORT_GENEVE, geneve_handle);
- dissector_add_for_decode_as("udp.port", geneve_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_GENEVE, geneve_handle);
ethertype_dissector_table = find_dissector_table("ethertype");
}
diff --git a/epan/dissectors/packet-glbp.c b/epan/dissectors/packet-glbp.c
index f7ef19be28..09d44c301a 100644
--- a/epan/dissectors/packet-glbp.c
+++ b/epan/dissectors/packet-glbp.c
@@ -44,6 +44,8 @@
void proto_register_glbp(void);
void proto_reg_handoff_glbp(void);
+#define GLBP_UDP_PORT 3222
+
static int proto_glbp = -1;
/* glbp header? */
static gint hf_glbp_version = -1;
@@ -596,8 +598,8 @@ proto_register_glbp(void)
expert_module_t* expert_glbp;
- proto_glbp = proto_register_protocol(
- "Gateway Load Balancing Protocol", "GLBP", "glbp");
+ proto_glbp = proto_register_protocol("Gateway Load Balancing Protocol", "GLBP", "glbp");
+
proto_register_field_array(proto_glbp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_glbp = expert_register_protocol(proto_glbp);
@@ -610,7 +612,7 @@ proto_reg_handoff_glbp(void)
dissector_handle_t glbp_handle;
glbp_handle = create_dissector_handle(dissect_glbp_static, proto_glbp);
- dissector_add_uint("udp.port", 3222, glbp_handle);
+ dissector_add_uint_with_preference("udp.port", GLBP_UDP_PORT, glbp_handle);
}
/*
diff --git a/epan/dissectors/packet-gsm_ipa.c b/epan/dissectors/packet-gsm_ipa.c
index 8298d0fd2a..1572b3442f 100644
--- a/epan/dissectors/packet-gsm_ipa.c
+++ b/epan/dissectors/packet-gsm_ipa.c
@@ -72,12 +72,9 @@ void proto_reg_handoff_gsm_ipa(void);
************************************************************************
*/
#define IPA_TCP_PORTS "3002,3003,3006,4249,4250,5000"
-#define IPA_UDP_PORTS "3006"
-#define IPA_UDP_PORTS_DEFAULT "0"
static dissector_handle_t ipa_tcp_handle;
static dissector_handle_t ipa_udp_handle;
-static range_t *global_ipa_udp_ports = NULL;
static gboolean global_ipa_in_root = FALSE;
static gboolean global_ipa_in_info = FALSE;
@@ -456,15 +453,7 @@ void proto_register_ipa(void)
"GSM over IP ip.access Protocol", proto_ipa,
FT_UINT8, BASE_DEC);
-
- range_convert_str(&global_ipa_udp_ports, IPA_UDP_PORTS_DEFAULT, MAX_UDP_PORT);
- ipa_module = prefs_register_protocol(proto_ipa, proto_reg_handoff_gsm_ipa);
-
- prefs_register_range_preference(ipa_module, "udp_ports",
- "GSM IPA UDP Port(s)",
- "Set the port(s) for ip.access IPA"
- " (usually: " IPA_UDP_PORTS ")",
- &global_ipa_udp_ports, MAX_UDP_PORT);
+ ipa_module = prefs_register_protocol(proto_ipa, NULL);
prefs_register_bool_preference(ipa_module, "hsl_debug_in_root_tree",
"HSL Debug messages in root protocol tree",
@@ -476,28 +465,16 @@ void proto_register_ipa(void)
void proto_reg_handoff_gsm_ipa(void)
{
- static gboolean ipa_initialized = FALSE;
- static range_t *ipa_udp_ports;
-
- if (!ipa_initialized) {
- 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);
- ipa_udp_handle = create_dissector_handle(dissect_ipa_udp, proto_ipa);
- dissector_add_uint_range_with_preference("tcp.port", IPA_TCP_PORTS, ipa_tcp_handle);
- ipa_initialized = TRUE;
- } else {
- dissector_delete_uint_range("udp.port", ipa_udp_ports, ipa_udp_handle);
- g_free(ipa_udp_ports);
- }
-
- ipa_udp_ports = range_copy(global_ipa_udp_ports);
-
- dissector_add_uint_range("udp.port", ipa_udp_ports, ipa_udp_handle);
+ 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);
+ ipa_udp_handle = create_dissector_handle(dissect_ipa_udp, proto_ipa);
+ dissector_add_uint_range_with_preference("tcp.port", IPA_TCP_PORTS, ipa_tcp_handle);
+ dissector_add_uint_range_with_preference("udp.port", "", ipa_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-gsm_osmux.c b/epan/dissectors/packet-gsm_osmux.c
index c15734f017..039c3d76fe 100644
--- a/epan/dissectors/packet-gsm_osmux.c
+++ b/epan/dissectors/packet-gsm_osmux.c
@@ -282,17 +282,14 @@ void proto_register_osmux(void)
void proto_reg_handoff_osmux(void)
{
- static gboolean osmux_initialized = FALSE;
-
- if (!osmux_initialized) {
- osmux_handle = create_dissector_handle(dissect_osmux, proto_osmux);
- dissector_add_for_decode_as("udp.port", osmux_handle);
- osmux_tap = register_tap("osmux");
- osmux_initialized = TRUE;
- stats_tree_register("osmux", "osmux", "Osmux/Packets", 0,
- osmux_stats_tree_packet, osmux_stats_tree_init,
- NULL);
- }
+ osmux_handle = create_dissector_handle(dissect_osmux, proto_osmux);
+ dissector_add_for_decode_as_with_preference("udp.port", osmux_handle);
+
+ osmux_tap = register_tap("osmux");
+
+ stats_tree_register("osmux", "osmux", "Osmux/Packets", 0,
+ osmux_stats_tree_packet, osmux_stats_tree_init,
+ NULL);
}
/*
diff --git a/epan/dissectors/packet-gsmtap.c b/epan/dissectors/packet-gsmtap.c
index d4ed1764a5..3c28d909aa 100644
--- a/epan/dissectors/packet-gsmtap.c
+++ b/epan/dissectors/packet-gsmtap.c
@@ -869,7 +869,7 @@ proto_reg_handoff_gsmtap(void)
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);
+ dissector_add_uint_with_preference("udp.port", GSMTAP_UDP_PORT, gsmtap_handle);
}
/*
diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c
index 7378e39ea1..1ec06599c2 100644
--- a/epan/dissectors/packet-gtp.c
+++ b/epan/dissectors/packet-gtp.c
@@ -10101,6 +10101,8 @@ proto_reg_handoff_gtp(void)
gtpv1c_port = g_gtpv1c_port;
gtpv1u_port = g_gtpv1u_port;
+ /* This doesn't use the "auto preference" API because the port
+ description is too specific */
dissector_add_uint("udp.port", g_gtpv0_port, gtp_prime_handle);
dissector_add_uint("udp.port", g_gtpv1c_port, gtp_handle);
dissector_add_uint("udp.port", g_gtpv1u_port, gtp_handle);
diff --git a/epan/dissectors/packet-gvsp.c b/epan/dissectors/packet-gvsp.c
index 9a8b5e80c5..2f165d44af 100644
--- a/epan/dissectors/packet-gvsp.c
+++ b/epan/dissectors/packet-gvsp.c
@@ -2274,19 +2274,14 @@ void proto_register_gvsp(void)
proto_register_field_array(proto_gvsp, hfgvsp, array_length(hfgvsp));
proto_register_subtree_array(ett, array_length(ett));
- gvsp_module = prefs_register_protocol(proto_gvsp, proto_reg_handoff_gvsp);
+ gvsp_module = prefs_register_protocol(proto_gvsp, NULL);
prefs_register_obsolete_preference(gvsp_module, "enable_heuristic");
}
void proto_reg_handoff_gvsp(void)
{
- static gboolean initialized = FALSE;
-
- if (!initialized) {
- dissector_add_for_decode_as("udp.port", gvsp_handle);
- heur_dissector_add("udp", dissect_gvsp_heur, "GigE Vision over UDP", "gvsp_udp", proto_gvsp, HEURISTIC_ENABLE);
- initialized = TRUE;
- }
+ dissector_add_for_decode_as_with_preference("udp.port", gvsp_handle);
+ heur_dissector_add("udp", dissect_gvsp_heur, "GigE Vision over UDP", "gvsp_udp", proto_gvsp, HEURISTIC_ENABLE);
}
/*
diff --git a/epan/dissectors/packet-h225.c b/epan/dissectors/packet-h225.c
index bf76021286..a36bc43255 100644
--- a/epan/dissectors/packet-h225.c
+++ b/epan/dissectors/packet-h225.c
@@ -65,8 +65,7 @@
#define PSNAME "H.225.0"
#define PFNAME "h225"
-#define UDP_PORT_RAS1 1718
-#define UDP_PORT_RAS2 1719
+#define UDP_PORT_RAS_RANGE "1718-1719"
#define TCP_PORT_CS 1720
#define TLS_PORT_CS 1300
@@ -910,7 +909,7 @@ static int hf_h225_stopped = -1; /* NULL */
static int hf_h225_notAvailable = -1; /* NULL */
/*--- End of included file: packet-h225-hf.c ---*/
-#line 130 "./asn1/h225/packet-h225-template.c"
+#line 129 "./asn1/h225/packet-h225-template.c"
/* Initialize the subtree pointers */
static gint ett_h225 = -1;
@@ -1158,7 +1157,7 @@ static gint ett_h225_ServiceControlResponse = -1;
static gint ett_h225_T_result = -1;
/*--- End of included file: packet-h225-ett.c ---*/
-#line 134 "./asn1/h225/packet-h225-template.c"
+#line 133 "./asn1/h225/packet-h225-template.c"
/* Preferences */
static guint h225_tls_port = TLS_PORT_CS;
@@ -7825,7 +7824,7 @@ static int dissect_RasMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro
/*--- End of included file: packet-h225-fn.c ---*/
-#line 250 "./asn1/h225/packet-h225-template.c"
+#line 249 "./asn1/h225/packet-h225-template.c"
/* Forward declaration we need below */
void proto_reg_handoff_h225(void);
@@ -11507,7 +11506,7 @@ void proto_register_h225(void) {
NULL, HFILL }},
/*--- End of included file: packet-h225-hfarr.c ---*/
-#line 843 "./asn1/h225/packet-h225-template.c"
+#line 842 "./asn1/h225/packet-h225-template.c"
};
/* List of subtrees */
@@ -11757,7 +11756,7 @@ void proto_register_h225(void) {
&ett_h225_T_result,
/*--- End of included file: packet-h225-ettarr.c ---*/
-#line 849 "./asn1/h225/packet-h225-template.c"
+#line 848 "./asn1/h225/packet-h225-template.c"
};
static tap_param h225_stat_params[] = {
@@ -11848,8 +11847,7 @@ proto_reg_handoff_h225(void)
static guint saved_h225_tls_port;
if (!h225_prefs_initialized) {
- dissector_add_uint("udp.port", UDP_PORT_RAS1, h225ras_handle);
- dissector_add_uint("udp.port", UDP_PORT_RAS2, h225ras_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_RAS_RANGE, h225ras_handle);
h245_handle = find_dissector("h245");
h245dg_handle = find_dissector("h245dg");
diff --git a/epan/dissectors/packet-h245.c b/epan/dissectors/packet-h245.c
index 791523f9f3..809414fb46 100644
--- a/epan/dissectors/packet-h245.c
+++ b/epan/dissectors/packet-h245.c
@@ -20832,7 +20832,7 @@ void proto_reg_handoff_h245(void) {
dissector_add_for_decode_as_with_preference("tcp.port", h245_handle);
- dissector_add_for_decode_as("udp.port", MultimediaSystemControlMessage_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", MultimediaSystemControlMessage_handle);
}
static void init_h245_packet_info(h245_packet_info *pi)
diff --git a/epan/dissectors/packet-h248.c b/epan/dissectors/packet-h248.c
index f9b876a021..e35e98f9f7 100644
--- a/epan/dissectors/packet-h248.c
+++ b/epan/dissectors/packet-h248.c
@@ -1310,9 +1310,8 @@ void gcp_analyze_msg(proto_tree* gcp_tree, packet_info* pinfo, tvbuff_t* gcp_tvb
/* END Gateway Control Protocol -- Context Tracking */
+#define H248_PORT 2945
static gboolean keep_persistent_data = FALSE;
-static guint global_udp_port = 2945;
-#define H248_TCP_PORT 2945
static gboolean h248_desegment = TRUE;
@@ -6087,7 +6086,7 @@ dissect_h248_SigParameterV1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
/*--- End of included file: packet-h248-fn.c ---*/
-#line 2165 "./asn1/h248/packet-h248-template.c"
+#line 2164 "./asn1/h248/packet-h248-template.c"
static int dissect_h248_tpkt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) {
dissect_tpkt_encap(tvb, pinfo, tree, h248_desegment, h248_handle);
@@ -7512,7 +7511,7 @@ void proto_register_h248(void) {
NULL, HFILL }},
/*--- End of included file: packet-h248-hfarr.c ---*/
-#line 2333 "./asn1/h248/packet-h248-template.c"
+#line 2332 "./asn1/h248/packet-h248-template.c"
GCP_HF_ARR_ELEMS("h248",h248_arrel)
@@ -7678,7 +7677,7 @@ void proto_register_h248(void) {
&ett_h248_SigParameterV1,
/*--- End of included file: packet-h248-ettarr.c ---*/
-#line 2351 "./asn1/h248/packet-h248-template.c"
+#line 2350 "./asn1/h248/packet-h248-template.c"
};
static ei_register_info ei[] = {
@@ -7704,16 +7703,11 @@ void proto_register_h248(void) {
subdissector_table = register_dissector_table("h248.magic_num", "H248 Magic Num", proto_h248, FT_UINT32, BASE_HEX);
- h248_module = prefs_register_protocol(proto_h248, proto_reg_handoff_h248);
+ h248_module = prefs_register_protocol(proto_h248, NULL);
prefs_register_bool_preference(h248_module, "ctx_info",
"Track Context",
"Maintain relationships between transactions and contexts and display an extra tree showing context data",
&keep_persistent_data);
- prefs_register_uint_preference(h248_module, "udp_port",
- "UDP port",
- "Port to be decoded as h248",
- 10,
- &global_udp_port);
prefs_register_bool_preference(h248_module, "desegment",
"Desegment H.248 over TCP",
"Desegment H.248 messages that span more TCP segments",
@@ -7730,24 +7724,10 @@ void proto_register_h248(void) {
/*--- proto_reg_handoff_h248 -------------------------------------------*/
void proto_reg_handoff_h248(void) {
- static gboolean initialized = FALSE;
- static guint32 udp_port;
-
- if (!initialized) {
- dissector_add_uint("mtp3.service_indicator", MTP_SI_GCP, h248_handle);
- h248_term_handle = find_dissector_add_dependency("h248term", proto_h248);
- dissector_add_uint_with_preference("tcp.port", H248_TCP_PORT, h248_tpkt_handle);
- initialized = TRUE;
- } else {
- if (udp_port != 0)
- dissector_delete_uint("udp.port", udp_port, h248_handle);
- }
-
- udp_port = global_udp_port;
-
- if (udp_port != 0) {
- dissector_add_uint("udp.port", udp_port, h248_handle);
- }
+ dissector_add_uint("mtp3.service_indicator", MTP_SI_GCP, h248_handle);
+ h248_term_handle = find_dissector_add_dependency("h248term", proto_h248);
+ dissector_add_uint_with_preference("tcp.port", H248_PORT, h248_tpkt_handle);
+ dissector_add_uint_with_preference("udp.port", H248_PORT, h248_handle);
ss7pc_address_type = address_type_get_by_name("AT_SS7PC");
exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
diff --git a/epan/dissectors/packet-h283.c b/epan/dissectors/packet-h283.c
index c85358be32..0ae8f5375f 100644
--- a/epan/dissectors/packet-h283.c
+++ b/epan/dissectors/packet-h283.c
@@ -764,7 +764,7 @@ void proto_register_h283(void) {
/*--- proto_reg_handoff_h283 -------------------------------------------*/
void proto_reg_handoff_h283(void)
{
- dissector_add_for_decode_as("udp.port", h283_udp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", h283_udp_handle);
rdc_pdu_handle = find_dissector_add_dependency("rdc", proto_h283);
rdc_device_list_handle = find_dissector_add_dependency("rdc.device_list", proto_h283);
diff --git a/epan/dissectors/packet-h501.c b/epan/dissectors/packet-h501.c
index 61b525de72..b824cd9a61 100644
--- a/epan/dissectors/packet-h501.c
+++ b/epan/dissectors/packet-h501.c
@@ -418,8 +418,7 @@ static gint ett_h501_TerminationCause = -1;
static dissector_handle_t h501_pdu_handle;
/* Preferences */
-#define H501_TCP_PORT 2099
-static guint h501_udp_port = 2099;
+#define H501_PORT 2099
static gboolean h501_desegment_tcp = TRUE;
void proto_reg_handoff_h501(void);
@@ -2514,7 +2513,7 @@ static int dissect_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_
/*--- End of included file: packet-h501-fn.c ---*/
-#line 61 "./asn1/h501/packet-h501-template.c"
+#line 60 "./asn1/h501/packet-h501-template.c"
static int
dissect_h501_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
@@ -3555,7 +3554,7 @@ void proto_register_h501(void) {
"INTEGER_1_65535", HFILL }},
/*--- End of included file: packet-h501-hfarr.c ---*/
-#line 97 "./asn1/h501/packet-h501-template.c"
+#line 96 "./asn1/h501/packet-h501-template.c"
};
/* List of subtrees */
@@ -3665,7 +3664,7 @@ void proto_register_h501(void) {
&ett_h501_TerminationCause,
/*--- End of included file: packet-h501-ettarr.c ---*/
-#line 103 "./asn1/h501/packet-h501-template.c"
+#line 102 "./asn1/h501/packet-h501-template.c"
};
/* Register protocol */
@@ -3677,11 +3676,7 @@ void proto_register_h501(void) {
h501_pdu_handle = register_dissector(PFNAME, dissect_h501_pdu, proto_h501);
- h501_module = prefs_register_protocol(proto_h501, proto_reg_handoff_h501);
- prefs_register_uint_preference(h501_module, "udp.port",
- "UDP port",
- "Port to be decoded as h501",
- 10, &h501_udp_port);
+ h501_module = prefs_register_protocol(proto_h501, NULL);
prefs_register_bool_preference(h501_module, "desegment",
"Desegment H.501 over TCP",
"Desegment H.501 messages that span more TCP segments",
@@ -3692,23 +3687,12 @@ void proto_register_h501(void) {
/*--- proto_reg_handoff_h501 -------------------------------------------*/
void proto_reg_handoff_h501(void)
{
- static gboolean h501_prefs_initialized = FALSE;
- static dissector_handle_t h501_udp_handle;
- static dissector_handle_t h501_tcp_handle;
- static guint saved_h501_udp_port;
-
- if (!h501_prefs_initialized) {
- h501_udp_handle = create_dissector_handle(dissect_h501_udp, proto_h501);
- h501_tcp_handle = create_dissector_handle(dissect_h501_tcp, proto_h501);
- dissector_add_uint_with_preference("tcp.port", H501_TCP_PORT, h501_tcp_handle);
- h501_prefs_initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", saved_h501_udp_port, h501_udp_handle);
- }
-
- /* Set our port number for future use */
- saved_h501_udp_port = h501_udp_port;
- dissector_add_uint("udp.port", saved_h501_udp_port, h501_udp_handle);
+ dissector_handle_t h501_udp_handle;
+ dissector_handle_t h501_tcp_handle;
+ h501_udp_handle = create_dissector_handle(dissect_h501_udp, proto_h501);
+ h501_tcp_handle = create_dissector_handle(dissect_h501_tcp, proto_h501);
+ dissector_add_uint_with_preference("tcp.port", H501_PORT, h501_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", H501_PORT, h501_udp_handle);
}
diff --git a/epan/dissectors/packet-hartip.c b/epan/dissectors/packet-hartip.c
index 9968f2b588..84212fbe46 100644
--- a/epan/dissectors/packet-hartip.c
+++ b/epan/dissectors/packet-hartip.c
@@ -2210,7 +2210,7 @@ proto_reg_handoff_hartip(void)
{
hartip_tcp_handle = create_dissector_handle(dissect_hartip_tcp, proto_hartip);
hartip_udp_handle = create_dissector_handle(dissect_hartip_udp, proto_hartip);
- dissector_add_uint("udp.port", HARTIP_PORT, hartip_udp_handle);
+ dissector_add_uint_with_preference("udp.port", HARTIP_PORT, hartip_udp_handle);
dissector_add_uint_with_preference("tcp.port", HARTIP_PORT, hartip_tcp_handle);
stats_tree_register("hart_ip", "hart_ip", "HART-IP", 0,
diff --git a/epan/dissectors/packet-hcrt.c b/epan/dissectors/packet-hcrt.c
index 1698241ebd..5f71b00a3a 100644
--- a/epan/dissectors/packet-hcrt.c
+++ b/epan/dissectors/packet-hcrt.c
@@ -32,8 +32,6 @@
static int proto_hcrt = -1;
-static range_t *hcrt_port_range_default;
-
#define HCRT_UDP_PORTS_DEFAULT "47000"
static gint ethertype_pref = 0xf052;
@@ -462,26 +460,14 @@ void proto_register_hcrt(void)
&ett_hcrt_body,
};
- proto_hcrt = proto_register_protocol (
- "Hotline Command-Response Transaction protocol", /* name */
- "HCrt", /* short name */
- "hcrt" /* abbrev */
- );
+ proto_hcrt = proto_register_protocol ("Hotline Command-Response Transaction protocol", "HCrt", "hcrt");
proto_register_field_array(proto_hcrt, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_hcrt = expert_register_protocol(proto_hcrt);
expert_register_field_array(expert_hcrt, ei, array_length(ei));
- /* Set default UDP ports */
- range_convert_str(&hcrt_port_range_default, HCRT_UDP_PORTS_DEFAULT, MAX_UDP_PORT);
-
hcrt_module = prefs_register_protocol(proto_hcrt, proto_reg_handoff_hcrt);
- prefs_register_range_preference(hcrt_module,
- "dissector_udp_port",
- "UDP port",
- "The UDP port used in L3 communications (default " HCRT_UDP_PORTS_DEFAULT ")",
- &hcrt_port_range_default, MAX_UDP_PORT);
prefs_register_uint_preference(hcrt_module,
"dissector_ethertype",
"Ethernet type",
@@ -493,7 +479,6 @@ void proto_reg_handoff_hcrt(void)
{
static dissector_handle_t hcrt_handle;
static gboolean hcrt_prefs_initialized = FALSE;
- static range_t* hcrt_port_range;
static gint hcrt_ethertype;
if (!hcrt_prefs_initialized) {
@@ -501,18 +486,15 @@ void proto_reg_handoff_hcrt(void)
/* Also register as a dissector that can be selected by a TCP port number via
"decode as" */
dissector_add_for_decode_as_with_preference("tcp.port", hcrt_handle);
+ dissector_add_uint_range_with_preference("udp.port", HCRT_UDP_PORTS_DEFAULT, hcrt_handle);
hcrt_prefs_initialized = TRUE;
} else {
dissector_delete_uint("ethertype", hcrt_ethertype, hcrt_handle);
- dissector_delete_uint_range("udp.port", hcrt_port_range, hcrt_handle);
- g_free(hcrt_port_range);
}
- hcrt_port_range = range_copy(hcrt_port_range_default);
hcrt_ethertype = ethertype_pref;
dissector_add_uint("ethertype", hcrt_ethertype, hcrt_handle);
- dissector_add_uint_range("udp.port", hcrt_port_range, hcrt_handle);
}
/*
diff --git a/epan/dissectors/packet-hip.c b/epan/dissectors/packet-hip.c
index 463e73507f..0c318fbe0c 100644
--- a/epan/dissectors/packet-hip.c
+++ b/epan/dissectors/packet-hip.c
@@ -43,6 +43,8 @@
void proto_register_hip(void);
void proto_reg_handoff_hip(void);
+#define HIP_UDP_PORT 10500
+
#define HI_ALG_DSA 3
#define HI_ALG_RSA 5
@@ -1607,7 +1609,7 @@ proto_reg_handoff_hip(void)
dissector_add_uint("ip.proto", IP_PROTO_HIP, hip_handle);
hip_handle2 = create_dissector_handle(dissect_hip_in_udp, proto_hip);
- dissector_add_uint("udp.port", 10500, hip_handle2);
+ dissector_add_uint_with_preference("udp.port", HIP_UDP_PORT, hip_handle2);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
diff --git a/epan/dissectors/packet-hiqnet.c b/epan/dissectors/packet-hiqnet.c
index 374442066d..382b26baee 100644
--- a/epan/dissectors/packet-hiqnet.c
+++ b/epan/dissectors/packet-hiqnet.c
@@ -1818,7 +1818,7 @@ proto_reg_handoff_hiqnet(void)
hiqnet_udp_handle = create_dissector_handle(dissect_hiqnet_udp, proto_hiqnet);
hiqnet_tcp_handle = create_dissector_handle(dissect_hiqnet_tcp, proto_hiqnet);
- dissector_add_uint("udp.port", HIQNET_PORT, hiqnet_udp_handle);
+ dissector_add_uint_with_preference("udp.port", HIQNET_PORT, hiqnet_udp_handle);
dissector_add_uint_with_preference("tcp.port", HIQNET_PORT, hiqnet_tcp_handle);
}
diff --git a/epan/dissectors/packet-hp-erm.c b/epan/dissectors/packet-hp-erm.c
index 73255703b0..2bcba313ee 100644
--- a/epan/dissectors/packet-hp-erm.c
+++ b/epan/dissectors/packet-hp-erm.c
@@ -46,7 +46,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_register_hp_erm(void);
void proto_reg_handoff_hp_erm(void);
@@ -54,8 +53,6 @@ void proto_reg_handoff_hp_erm(void);
#define PROTO_SHORT_NAME "HP_ERM"
#define PROTO_LONG_NAME "HP encapsulated remote mirroring"
-static guint global_hp_erm_udp_port = 0;
-
static int proto_hp_erm = -1;
static gint ett_hp_erm = -1;
static int hf_hp_erm_unknown1 = -1;
@@ -149,17 +146,8 @@ proto_register_hp_erm(void)
&ett_hp_erm,
};
- module_t *hp_erm_module;
-
proto_hp_erm = proto_register_protocol(PROTO_LONG_NAME, PROTO_SHORT_NAME, "hp_erm");
- hp_erm_module = prefs_register_protocol(proto_hp_erm, proto_reg_handoff_hp_erm);
- prefs_register_uint_preference(hp_erm_module, "udp.port", "HP_ERM UDP Port",
- "Set the UDP port (source or destination) used for HP"
- " encapsulated remote mirroring frames;\n"
- "0 (default) means that the HP_ERM dissector is not active",
- 10, &global_hp_erm_udp_port);
-
proto_register_field_array(proto_hp_erm, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
@@ -167,23 +155,11 @@ proto_register_hp_erm(void)
void
proto_reg_handoff_hp_erm(void)
{
- static dissector_handle_t hp_erm_handle;
- static guint hp_erm_udp_port;
- static gboolean initialized = FALSE;
-
- if (!initialized) {
- 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 {
- if (hp_erm_udp_port != 0)
- dissector_delete_uint("udp.port", hp_erm_udp_port, hp_erm_handle);
- }
-
- hp_erm_udp_port = global_hp_erm_udp_port;
-
- if (hp_erm_udp_port != 0)
- dissector_add_uint("udp.port", hp_erm_udp_port, hp_erm_handle);
+ dissector_handle_t hp_erm_handle;
+
+ eth_withoutfcs_handle = find_dissector_add_dependency("eth_withoutfcs", proto_hp_erm);
+ hp_erm_handle = create_dissector_handle(dissect_hp_erm, proto_hp_erm);
+ dissector_add_for_decode_as_with_preference("udp.port", hp_erm_handle);
}
/*
* Editor modelines
diff --git a/epan/dissectors/packet-hsrp.c b/epan/dissectors/packet-hsrp.c
index c796f35853..3426681810 100644
--- a/epan/dissectors/packet-hsrp.c
+++ b/epan/dissectors/packet-hsrp.c
@@ -200,6 +200,7 @@ static expert_field ei_hsrp_unknown_tlv = EI_INIT;
#define UDP_PORT_HSRP 1985
#define UDP_PORT_HSRP2_V6 2029
+#define UDP_PORT_HSRP_RANGE "1985,2009"
#define HSRP_DST_IP_ADDR 0xE0000002
#define HSRP2_DST_IP_ADDR 0xE0000066
@@ -835,14 +836,12 @@ void proto_register_hsrp(void)
{ &ei_hsrp_unknown_tlv, { "hsrp.unknown_tlv", PI_UNDECODED, PI_WARN, "Unknown TLV sequence (HSRPv1)", EXPFILL }},
};
- proto_hsrp = proto_register_protocol("Cisco Hot Standby Router Protocol",
- "HSRP", "hsrp");
+ proto_hsrp = proto_register_protocol("Cisco Hot Standby Router Protocol", "HSRP", "hsrp");
+
proto_register_field_array(proto_hsrp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_hsrp = expert_register_protocol(proto_hsrp);
expert_register_field_array(expert_hsrp, ei, array_length(ei));
-
- return;
}
void
@@ -851,8 +850,7 @@ proto_reg_handoff_hsrp(void)
dissector_handle_t hsrp_handle;
hsrp_handle = create_dissector_handle(dissect_hsrp, proto_hsrp);
- dissector_add_uint("udp.port", UDP_PORT_HSRP, hsrp_handle);
- dissector_add_uint("udp.port", UDP_PORT_HSRP2_V6, hsrp_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_HSRP_RANGE, hsrp_handle);
}
/*
diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c
index 2c7f724817..507bd93cbf 100644
--- a/epan/dissectors/packet-http.c
+++ b/epan/dissectors/packet-http.c
@@ -3750,7 +3750,7 @@ proto_reg_handoff_http(void)
* request or reply? I.e., should there be an SSDP dissector?
*/
ssdp_handle = create_dissector_handle(dissect_ssdp, proto_ssdp);
- dissector_add_uint("udp.port", UDP_PORT_SSDP, ssdp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_SSDP, ssdp_handle);
ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_http);
gssapi_handle = find_dissector_add_dependency("gssapi", proto_http);
diff --git a/epan/dissectors/packet-iapp.c b/epan/dissectors/packet-iapp.c
index 160d3497fd..c1484a7612 100644
--- a/epan/dissectors/packet-iapp.c
+++ b/epan/dissectors/packet-iapp.c
@@ -480,7 +480,7 @@ proto_reg_handoff_iapp(void)
dissector_handle_t iapp_handle;
iapp_handle = create_dissector_handle(dissect_iapp, proto_iapp);
- dissector_add_uint("udp.port", UDP_PORT_IAPP, iapp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_IAPP, iapp_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
diff --git a/epan/dissectors/packet-iax2.c b/epan/dissectors/packet-iax2.c
index f01a98df36..da9d402dd2 100644
--- a/epan/dissectors/packet-iax2.c
+++ b/epan/dissectors/packet-iax2.c
@@ -3216,7 +3216,7 @@ proto_reg_handoff_iax2(void)
{
dissector_handle_t v110_handle;
- dissector_add_uint("udp.port", IAX2_PORT, find_dissector("iax2"));
+ dissector_add_uint_with_preference("udp.port", IAX2_PORT, find_dissector("iax2"));
v110_handle = find_dissector("v110");
if (v110_handle)
dissector_add_uint("iax2.dataformat", AST_DATAFORMAT_V110, v110_handle);
diff --git a/epan/dissectors/packet-icep.c b/epan/dissectors/packet-icep.c
index fe9344f1b7..5b525d3f39 100644
--- a/epan/dissectors/packet-icep.c
+++ b/epan/dissectors/packet-icep.c
@@ -124,7 +124,6 @@ static expert_field ei_icep_context_too_long = EI_INIT;
static guint icep_max_batch_requests = 64;
static guint icep_max_ice_string_len = 512;
static guint icep_max_ice_context_pairs = 64;
-static guint icep_udp_port = 0;
static const value_string icep_msgtype_vals[] = {
@@ -1294,12 +1293,6 @@ void proto_register_icep(void)
expert_register_field_array(expert_icep, ei, array_length(ei));
icep_module = prefs_register_protocol(proto_icep, NULL);
- prefs_register_uint_preference(icep_module, "udp.port",
- "ICEP UDP Port",
- "ICEP UDP port",
- 10,
- &icep_udp_port);
-
prefs_register_uint_preference(icep_module, "max_batch_requests",
"Maximum batch requests",
"Maximum number of batch requests allowed",
@@ -1319,34 +1312,19 @@ void proto_register_icep(void)
void proto_reg_handoff_icep(void)
{
- static gboolean icep_prefs_initialized = FALSE;
- static dissector_handle_t icep_tcp_handle, icep_udp_handle;
- static guint old_icep_udp_port = 0;
+ dissector_handle_t icep_tcp_handle, icep_udp_handle;
/* Register as a heuristic TCP/UDP dissector */
- if (icep_prefs_initialized == FALSE) {
- icep_tcp_handle = create_dissector_handle(dissect_icep_tcp, proto_icep);
- icep_udp_handle = create_dissector_handle(dissect_icep_udp, proto_icep);
-
- heur_dissector_add("tcp", dissect_icep_tcp, "ICEP over TCP", "icep_tcp", proto_icep, HEURISTIC_ENABLE);
- heur_dissector_add("udp", dissect_icep_udp, "ICEP over UDP", "icep_udp", proto_icep, HEURISTIC_ENABLE);
+ icep_tcp_handle = create_dissector_handle(dissect_icep_tcp, proto_icep);
+ icep_udp_handle = create_dissector_handle(dissect_icep_udp, proto_icep);
- /* Register TCP port for dissection */
- dissector_add_for_decode_as_with_preference("tcp.port", icep_tcp_handle);
-
- icep_prefs_initialized = TRUE;
- }
+ heur_dissector_add("tcp", dissect_icep_tcp, "ICEP over TCP", "icep_tcp", proto_icep, HEURISTIC_ENABLE);
+ heur_dissector_add("udp", dissect_icep_udp, "ICEP over UDP", "icep_udp", proto_icep, HEURISTIC_ENABLE);
+ /* Register TCP port for dissection */
+ dissector_add_for_decode_as_with_preference("tcp.port", icep_tcp_handle);
/* Register UDP port for dissection */
- if(old_icep_udp_port != 0 && old_icep_udp_port != icep_udp_port){
- dissector_delete_uint("udp.port", old_icep_udp_port, icep_udp_handle);
- }
-
- if(icep_udp_port != 0 && old_icep_udp_port != icep_udp_port) {
- dissector_add_uint("udp.port", icep_udp_port, icep_udp_handle);
- }
-
- old_icep_udp_port = icep_udp_port;
+ dissector_add_for_decode_as_with_preference("udp.port", icep_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-icp.c b/epan/dissectors/packet-icp.c
index 12c973949f..56f4920604 100644
--- a/epan/dissectors/packet-icp.c
+++ b/epan/dissectors/packet-icp.c
@@ -258,7 +258,7 @@ proto_reg_handoff_icp(void)
dissector_handle_t icp_handle;
icp_handle = create_dissector_handle(dissect_icp, proto_icp);
- dissector_add_uint("udp.port", UDP_PORT_ICP, icp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_ICP, icp_handle);
}
/*
diff --git a/epan/dissectors/packet-icq.c b/epan/dissectors/packet-icq.c
index a7a1124750..5ca6810250 100644
--- a/epan/dissectors/packet-icq.c
+++ b/epan/dissectors/packet-icq.c
@@ -1398,7 +1398,7 @@ proto_reg_handoff_icq(void)
dissector_handle_t icq_handle;
icq_handle = create_dissector_handle(dissect_icq, proto_icq);
- dissector_add_uint("udp.port", UDP_PORT_ICQ, icq_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_ICQ, icq_handle);
}
/*
diff --git a/epan/dissectors/packet-infiniband.c b/epan/dissectors/packet-infiniband.c
index 3922b3e1e3..5daa7f1c75 100644
--- a/epan/dissectors/packet-infiniband.c
+++ b/epan/dissectors/packet-infiniband.c
@@ -7480,7 +7480,8 @@ void proto_reg_handoff_infiniband(void)
dissector_delete_uint("udp.port", prev_rroce_udp_port, rroce_handle);
}
/*we are saving the previous value of rroce udp port so we will be able to remove the dissector
- * the next time user pref is updated and we get called back to proto_reg_handoff_infiniband.*/
+ * the next time user pref is updated and we get called back to proto_reg_handoff_infiniband.
+ "Auto" preference not used because port isn't for infiniband protocol itself */
prev_rroce_udp_port = pref_rroce_udp_port;
dissector_add_uint("udp.port", pref_rroce_udp_port, rroce_handle);
diff --git a/epan/dissectors/packet-interlink.c b/epan/dissectors/packet-interlink.c
index 6b7a36800f..48e507c724 100644
--- a/epan/dissectors/packet-interlink.c
+++ b/epan/dissectors/packet-interlink.c
@@ -230,7 +230,7 @@ proto_reg_handoff_interlink(void)
interlink_handle = find_dissector("interlink");
/* Allow "Decode As" with any UDP packet. */
- dissector_add_for_decode_as("udp.port", interlink_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", interlink_handle);
/* Add our heuristic packet finder. */
heur_dissector_add("udp", dissect_interlink_heur, "Interlink over UDP", "interlink_udp", proto_interlink, HEURISTIC_ENABLE);
diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c
index 054ffcc6e2..7002ab7ecc 100644
--- a/epan/dissectors/packet-ip.c
+++ b/epan/dissectors/packet-ip.c
@@ -3160,7 +3160,7 @@ proto_reg_handoff_ip(void)
dissector_add_uint("pwach.channel_type", 0x21, ip_handle); /* IPv4, RFC4385 clause 6. */
dissector_add_uint("sflow_245.header_protocol", SFLOW_245_HEADER_IPv4, ip_handle);
dissector_add_uint("l2tp.pw_type", L2TPv3_PROTOCOL_IP, ip_handle);
- dissector_add_for_decode_as("udp.port", ip_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", ip_handle);
dissector_add_for_decode_as("pcli.payload", ip_handle);
dissector_add_uint("wtap_encap", WTAP_ENCAP_RAW_IP4, ip_handle);
dissector_add_uint("enc", BSD_AF_INET, ip_handle);
diff --git a/epan/dissectors/packet-ipsec-udp.c b/epan/dissectors/packet-ipsec-udp.c
index 0463066b9b..6863d656bb 100644
--- a/epan/dissectors/packet-ipsec-udp.c
+++ b/epan/dissectors/packet-ipsec-udp.c
@@ -29,6 +29,8 @@
void proto_register_udpencap(void);
void proto_reg_handoff_udpencap(void);
+#define UDPENCAP_PORT 4500
+
static int proto_udpencap = -1;
static int hf_nat_keepalive = -1;
@@ -93,8 +95,7 @@ proto_register_udpencap(void)
&ett_udpencap,
};
- proto_udpencap = proto_register_protocol(
- "UDP Encapsulation of IPsec Packets", "UDPENCAP", "udpencap");
+ proto_udpencap = proto_register_protocol("UDP Encapsulation of IPsec Packets", "UDPENCAP", "udpencap");
proto_register_field_array(proto_udpencap, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
@@ -108,7 +109,7 @@ proto_reg_handoff_udpencap(void)
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);
+ dissector_add_uint_with_preference("udp.port", UDPENCAP_PORT, udpencap_handle);
}
/*
diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c
index 55c2df8600..4cd90cd719 100644
--- a/epan/dissectors/packet-ipv6.c
+++ b/epan/dissectors/packet-ipv6.c
@@ -3586,7 +3586,7 @@ proto_reg_handoff_ipv6(void)
dissector_add_uint("enc", BSD_AF_INET6_BSD, ipv6_handle);
dissector_add_uint("vxlan.next_proto", VXLAN_IPV6, ipv6_handle);
- dissector_add_for_decode_as("udp.port", ipv6_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", ipv6_handle);
ipv6_hopopts_handle = create_dissector_handle(dissect_hopopts, proto_ipv6_hopopts);
dissector_add_uint("ip.proto", IP_PROTO_HOPOPTS, ipv6_hopopts_handle);
diff --git a/epan/dissectors/packet-ipvs-syncd.c b/epan/dissectors/packet-ipvs-syncd.c
index a66a72fac8..521283f010 100644
--- a/epan/dissectors/packet-ipvs-syncd.c
+++ b/epan/dissectors/packet-ipvs-syncd.c
@@ -60,7 +60,7 @@ static int ett_conn = -1;
static int ett_flags = -1;
#define IPVS_SYNCD_MC_GROUP "224.0.0.18"
-#define IPVS_SYNCD_PORT 8848
+#define IPVS_SYNCD_PORT 8848 /* Not IANA registered */
static const value_string proto_strings[] = {
{0x06, "TCP"},
@@ -322,8 +322,7 @@ proto_register_ipvs_syncd(void)
&ett_flags,
};
- proto_ipvs_syncd = proto_register_protocol("IP Virtual Services Sync Daemon",
- "IPVS", "ipvs");
+ proto_ipvs_syncd = proto_register_protocol("IP Virtual Services Sync Daemon", "IPVS", "ipvs");
proto_register_field_array(proto_ipvs_syncd, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
@@ -334,7 +333,7 @@ proto_reg_handoff_ipvs_syncd(void)
dissector_handle_t ipvs_syncd_handle;
ipvs_syncd_handle = create_dissector_handle(dissect_ipvs_syncd, proto_ipvs_syncd);
- dissector_add_uint("udp.port", IPVS_SYNCD_PORT, ipvs_syncd_handle);
+ dissector_add_uint_with_preference("udp.port", IPVS_SYNCD_PORT, ipvs_syncd_handle);
}
/*
diff --git a/epan/dissectors/packet-ipx.c b/epan/dissectors/packet-ipx.c
index acdbf29a6e..b5419394ad 100644
--- a/epan/dissectors/packet-ipx.c
+++ b/epan/dissectors/packet-ipx.c
@@ -1594,7 +1594,7 @@ proto_reg_handoff_ipx(void)
dissector_handle_t serialization_handle, ipxmsg_handle;
ipx_handle = find_dissector("ipx");
- dissector_add_uint("udp.port", UDP_PORT_IPX, ipx_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_IPX, ipx_handle);
dissector_add_uint("ethertype", ETHERTYPE_IPX, ipx_handle);
dissector_add_uint("chdlc.protocol", ETHERTYPE_IPX, ipx_handle);
dissector_add_uint("ppp.protocol", PPP_IPX, ipx_handle);
diff --git a/epan/dissectors/packet-isakmp.c b/epan/dissectors/packet-isakmp.c
index 1fb812d20c..d644ddf8c3 100644
--- a/epan/dissectors/packet-isakmp.c
+++ b/epan/dissectors/packet-isakmp.c
@@ -7150,7 +7150,7 @@ proto_reg_handoff_isakmp(void)
isakmp_handle = find_dissector("isakmp");
eap_handle = find_dissector_add_dependency("eap", proto_isakmp);
- dissector_add_uint("udp.port", UDP_PORT_ISAKMP, isakmp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_ISAKMP, isakmp_handle);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_ISAKMP, isakmp_handle);
}
diff --git a/epan/dissectors/packet-isns.c b/epan/dissectors/packet-isns.c
index 78d852e42d..1de7c1c0b9 100644
--- a/epan/dissectors/packet-isns.c
+++ b/epan/dissectors/packet-isns.c
@@ -1728,7 +1728,7 @@ proto_reg_handoff_isns(void)
isns_udp_handle = create_dissector_handle(dissect_isns_udp,proto_isns);
dissector_add_uint_with_preference("tcp.port",ISNS_TCP_PORT,isns_tcp_handle);
- dissector_add_uint("udp.port",ISNS_UDP_PORT,isns_udp_handle);
+ dissector_add_uint_with_preference("udp.port",ISNS_UDP_PORT,isns_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-jmirror.c b/epan/dissectors/packet-jmirror.c
index f5e3b78f64..cc2ffbb809 100644
--- a/epan/dissectors/packet-jmirror.c
+++ b/epan/dissectors/packet-jmirror.c
@@ -26,7 +26,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_register_jmirror(void);
void proto_reg_handoff_jmirror(void);
@@ -34,7 +33,7 @@ void proto_reg_handoff_jmirror(void);
#define MIRROR_HDR_SZ 8
#define MIRROR_ID_SZ 4
#define SESSION_ID_SZ 4
-#define DEF_JMIRROR_UDP_PORT 30030 /* a product of primes (1*2*3*5*7*11*13) :-) */
+#define DEF_JMIRROR_UDP_PORT 30030 /* a product of primes (1*2*3*5*7*11*13) :-) Not IANA registered */
/*
* See www.juniper.net JUNOSe Packet Mirroring documentation
@@ -51,8 +50,6 @@ static dissector_handle_t ipv4_handle;
static dissector_handle_t ipv6_handle;
static dissector_handle_t hdlc_handle;
-static guint global_jmirror_udp_port = DEF_JMIRROR_UDP_PORT;
-
/* Routine to return the dissector handle based on heuristic packet inspection */
static dissector_handle_t
get_heuristic_handle(tvbuff_t *tvb)
@@ -158,8 +155,6 @@ dissect_jmirror(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
void
proto_register_jmirror(void)
{
- module_t *jmirror_module = NULL;
-
/* Used by the Expression dialog and filter box */
static hf_register_info jmirror_hf[] = {
{ &hf_jmirror_mid,
@@ -178,14 +173,6 @@ proto_register_jmirror(void)
/* Register the Jmirror protocol with Wireshark */
proto_jmirror = proto_register_protocol("Juniper Packet Mirror", "Jmirror", "jmirror");
- /* Register the Jmirror preferences with Wireshark */
- jmirror_module = prefs_register_protocol(proto_jmirror, proto_reg_handoff_jmirror);
-
- /* Allow the user to set the UDP port for the decode under the Edit -> Preferences menu */
- prefs_register_uint_preference(jmirror_module, "udp.port", "JMirror UDP Port",
- "Set the port for JMirror Port (if other than the default of 30030)",
- 10, &global_jmirror_udp_port);
-
/* Register the Jmirror subfields for filters */
proto_register_field_array(proto_jmirror, jmirror_hf, array_length(jmirror_hf));
proto_register_subtree_array(jmirror_ett, array_length(jmirror_ett));
@@ -195,34 +182,21 @@ proto_register_jmirror(void)
void
proto_reg_handoff_jmirror(void)
{
- static int jmirror_inited = FALSE;
- static guint jmirror_udp_port;
- static dissector_handle_t jmirror_handle;
-
- if ( !jmirror_inited )
- {
- /* register as heuristic dissector for UDP */
- /* heur_dissector_add("udp", dissect_jmirror, proto_jmirror); */
-
- /* Create a dissector handle for the Jmirror protocol */
- jmirror_handle = create_dissector_handle(dissect_jmirror, proto_jmirror);
+ dissector_handle_t jmirror_handle;
- /* Create pointer to ipv4, ipv6, ppp and data dissectors */
- ipv4_handle = find_dissector("ip");
- ipv6_handle = find_dissector("ipv6");
- hdlc_handle = find_dissector("pw_hdlc_nocw_hdlc_ppp");
+ /* register as heuristic dissector for UDP */
+ /* heur_dissector_add("udp", dissect_jmirror, proto_jmirror); */
- /* Set the init flag */
- jmirror_inited = TRUE;
- } else {
- /* Unregister from the old UDP port */
- dissector_delete_uint("udp.port", jmirror_udp_port, jmirror_handle);
- }
+ /* Create a dissector handle for the Jmirror protocol */
+ jmirror_handle = create_dissector_handle(dissect_jmirror, proto_jmirror);
- jmirror_udp_port = global_jmirror_udp_port;
+ /* Create pointer to ipv4, ipv6, ppp and data dissectors */
+ ipv4_handle = find_dissector("ip");
+ ipv6_handle = find_dissector("ipv6");
+ hdlc_handle = find_dissector("pw_hdlc_nocw_hdlc_ppp");
/* Register as a normal IP dissector with default UDP port 30030 */
- dissector_add_uint("udp.port", jmirror_udp_port, jmirror_handle);
+ dissector_add_uint_with_preference("udp.port", DEF_JMIRROR_UDP_PORT, jmirror_handle);
}
/*
diff --git a/epan/dissectors/packet-juniper.c b/epan/dissectors/packet-juniper.c
index d03379dfdc..45830f7315 100644
--- a/epan/dissectors/packet-juniper.c
+++ b/epan/dissectors/packet-juniper.c
@@ -1600,7 +1600,7 @@ proto_reg_handoff_juniper(void)
dissector_add_uint("wtap_encap", WTAP_ENCAP_JUNIPER_VP, juniper_vp_handle);
dissector_add_uint("wtap_encap", WTAP_ENCAP_JUNIPER_SVCS, juniper_svcs_handle);
dissector_add_uint("wtap_encap", WTAP_ENCAP_JUNIPER_VN, juniper_vn_handle);
- dissector_add_for_decode_as("udp.port", juniper_vn_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", juniper_vn_handle);
}
diff --git a/epan/dissectors/packet-kdp.c b/epan/dissectors/packet-kdp.c
index e676731acc..f964286584 100644
--- a/epan/dissectors/packet-kdp.c
+++ b/epan/dissectors/packet-kdp.c
@@ -29,7 +29,7 @@
void proto_register_kdp(void);
void proto_reg_handoff_kdp(void);
-#define KDP_PORT 19948
+#define KDP_PORT 19948 /* Not IANA registered */
#define BUFFER_SIZE 80
static int proto_kdp = -1;
static gint ett_kdp = -1;
@@ -406,7 +406,7 @@ void
proto_reg_handoff_kdp(void) {
dissector_handle_t kdp_handle;
kdp_handle = create_dissector_handle(dissect_kdp, proto_kdp);
- dissector_add_uint("udp.port", KDP_PORT, kdp_handle);
+ dissector_add_uint_with_preference("udp.port", KDP_PORT, kdp_handle);
}
/*
diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c
index 57315e2c60..72a017661b 100644
--- a/epan/dissectors/packet-kerberos.c
+++ b/epan/dissectors/packet-kerberos.c
@@ -5433,7 +5433,7 @@ proto_reg_handoff_kerberos(void)
kerberos_handle_tcp = create_dissector_handle(dissect_kerberos_tcp,
proto_kerberos);
- dissector_add_uint("udp.port", UDP_PORT_KERBEROS, kerberos_handle_udp);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_KERBEROS, kerberos_handle_udp);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_KERBEROS, kerberos_handle_tcp);
register_dcerpc_auth_subdissector(DCE_C_AUTHN_LEVEL_CONNECT,
diff --git a/epan/dissectors/packet-kerberos4.c b/epan/dissectors/packet-kerberos4.c
index 0cf44af2d8..fae0108330 100644
--- a/epan/dissectors/packet-kerberos4.c
+++ b/epan/dissectors/packet-kerberos4.c
@@ -452,7 +452,7 @@ proto_reg_handoff_krb4(void)
dissector_handle_t krb4_handle;
krb4_handle = find_dissector("krb4");
- dissector_add_uint("udp.port", UDP_PORT_KRB4, krb4_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_KRB4, krb4_handle);
}
/*
diff --git a/epan/dissectors/packet-kingfisher.c b/epan/dissectors/packet-kingfisher.c
index d6cc0f4b1c..a934871f60 100644
--- a/epan/dissectors/packet-kingfisher.c
+++ b/epan/dissectors/packet-kingfisher.c
@@ -34,12 +34,12 @@ void proto_reg_handoff_kingfisher(void);
#define SUPPORT_KINGFISHER_SERIES_2
-#define UDP_PORT_KINGFISHER 4058
#ifdef SUPPORT_KINGFISHER_SERIES_2
#define TCP_PORT_KINGFISHER_RANGE "473,4058" /* 473 not IANA registered */
-#define UDP_PORT_KINGFISHER_OLD 473
+#define UDP_PORT_KINGFISHER_RANGE "473,4058" /* 473 not IANA registered */
#else
#define TCP_PORT_KINGFISHER_RANGE "4058"
+#define UDP_PORT_KINGFISHER_RANGE "4058"
#endif
static int proto_kingfisher = -1;
@@ -382,15 +382,12 @@ proto_register_kingfisher( void )
void
proto_reg_handoff_kingfisher( void )
{
- dissector_handle_t kingfisher_handle=NULL;
+ dissector_handle_t kingfisher_handle;
kingfisher_handle = create_dissector_handle(dissect_kingfisher_heur, proto_kingfisher);
dissector_add_uint_range_with_preference("tcp.port", TCP_PORT_KINGFISHER_RANGE, kingfisher_handle);
- dissector_add_uint("udp.port", UDP_PORT_KINGFISHER, kingfisher_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_KINGFISHER_RANGE, kingfisher_handle);
-#ifdef SUPPORT_KINGFISHER_SERIES_2
- dissector_add_uint("udp.port", UDP_PORT_KINGFISHER_OLD, kingfisher_handle);
-#endif
kingfisher_conv_handle = create_dissector_handle(dissect_kingfisher_conv, proto_kingfisher);
}
diff --git a/epan/dissectors/packet-kink.c b/epan/dissectors/packet-kink.c
index 16fc8fec82..c7cd83928a 100644
--- a/epan/dissectors/packet-kink.c
+++ b/epan/dissectors/packet-kink.c
@@ -35,7 +35,7 @@
void proto_register_kink(void);
void proto_reg_handoff_kink(void);
-#define KINK_PORT 57203
+#define KINK_PORT 57203 /* Not IANA registered */
#define KINK_ISAKMP_PAYLOAD_BASE 14
@@ -990,11 +990,11 @@ proto_register_kink(void) {
void proto_reg_handoff_kink(void) {
- dissector_handle_t kink_handle = NULL;
+ dissector_handle_t kink_handle;
kink_handle = create_dissector_handle(dissect_kink, proto_kink);
- dissector_add_uint("udp.port", KINK_PORT, kink_handle);
+ dissector_add_uint_with_preference("udp.port", KINK_PORT, kink_handle);
}
diff --git a/epan/dissectors/packet-knet.c b/epan/dissectors/packet-knet.c
index ecaa151fa2..8f50dd9c88 100644
--- a/epan/dissectors/packet-knet.c
+++ b/epan/dissectors/packet-knet.c
@@ -119,7 +119,6 @@ static dissector_handle_t knet_handle_udp;
/* Ports used by the dissectors */
static guint32 knet_sctp_port = PORT; /*!< Port used by kNet SCTP */
-static guint32 knet_udp_port = PORT; /*!< Port used by kNet UDP */
static const value_string packettypenames[] = { /*!< Messageid List */
{ PINGREQUEST, "Ping Request" },
@@ -756,10 +755,6 @@ proto_register_knet(void)
prefs_register_uint_preference(knet_module, "sctp.port", "kNet SCTP Port",
"Set the SCTP port for kNet messages",
10, &knet_sctp_port);
-
- prefs_register_uint_preference(knet_module, "udp.port", "kNet UDP Port",
- "Set the UDP port for kNet messages",
- 10, &knet_udp_port);
}
/**
@@ -772,24 +767,20 @@ proto_reg_handoff_knet(void)
static gboolean initialized = FALSE;
static guint current_sctp_port;
- static guint current_udp_port;
if(!initialized)
{
dissector_add_uint_with_preference("tcp.port", PORT, knet_handle_tcp);
+ dissector_add_uint_with_preference("udp.port", PORT, knet_handle_udp);
initialized = TRUE;
}
else
{
dissector_delete_uint("sctp.port", current_sctp_port, knet_handle_sctp);
- dissector_delete_uint("udp.port", current_udp_port, knet_handle_udp);
}
current_sctp_port = knet_sctp_port;
dissector_add_uint("sctp.port", current_sctp_port, knet_handle_sctp);
-
- current_udp_port = knet_udp_port;
- dissector_add_uint("udp.port", current_udp_port, knet_handle_udp);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
diff --git a/epan/dissectors/packet-kpasswd.c b/epan/dissectors/packet-kpasswd.c
index ef434c7ac6..a950b89182 100644
--- a/epan/dissectors/packet-kpasswd.c
+++ b/epan/dissectors/packet-kpasswd.c
@@ -328,7 +328,7 @@ proto_reg_handoff_kpasswd(void)
kpasswd_handle_udp = create_dissector_handle(dissect_kpasswd_udp, proto_kpasswd);
kpasswd_handle_tcp = create_dissector_handle(dissect_kpasswd_tcp, proto_kpasswd);
- dissector_add_uint("udp.port", UDP_PORT_KPASSWD, kpasswd_handle_udp);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_KPASSWD, kpasswd_handle_udp);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_KPASSWD, kpasswd_handle_tcp);
}
diff --git a/epan/dissectors/packet-l2tp.c b/epan/dissectors/packet-l2tp.c
index 97efd2e92e..84ab019951 100644
--- a/epan/dissectors/packet-l2tp.c
+++ b/epan/dissectors/packet-l2tp.c
@@ -3771,7 +3771,7 @@ proto_reg_handoff_l2tp(void)
dissector_handle_t atm_oam_llc_handle;
l2tp_udp_handle = create_dissector_handle(dissect_l2tp_udp, proto_l2tp);
- dissector_add_uint("udp.port", UDP_PORT_L2TP, l2tp_udp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_L2TP, l2tp_udp_handle);
l2tp_ip_handle = create_dissector_handle(dissect_l2tp_ip, proto_l2tp);
dissector_add_uint("ip.proto", IP_PROTO_L2TP, l2tp_ip_handle);
diff --git a/epan/dissectors/packet-laplink.c b/epan/dissectors/packet-laplink.c
index 717d7a0804..7e34d59427 100644
--- a/epan/dissectors/packet-laplink.c
+++ b/epan/dissectors/packet-laplink.c
@@ -239,7 +239,7 @@ proto_reg_handoff_laplink(void)
dissector_add_uint_with_preference("tcp.port", TCP_PORT_LAPLINK, laplink_tcp_handle);
laplink_udp_handle = create_dissector_handle(dissect_laplink_udp, proto_laplink);
- dissector_add_uint("udp.port", UDP_PORT_LAPLINK, laplink_udp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_LAPLINK, laplink_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-lbmr.c b/epan/dissectors/packet-lbmr.c
index 0963f6c787..de3e11d894 100644
--- a/epan/dissectors/packet-lbmr.c
+++ b/epan/dissectors/packet-lbmr.c
@@ -6690,7 +6690,7 @@ void proto_reg_handoff_lbmr(void)
if (!already_registered)
{
lbmr_dissector_handle = create_dissector_handle(dissect_lbmr, proto_lbmr);
- dissector_add_for_decode_as("udp.port", lbmr_dissector_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", lbmr_dissector_handle);
heur_dissector_add("udp", test_lbmr_packet, "LBM Topic Resolution over UDP", "lbmr_udp", proto_lbmr, HEURISTIC_ENABLE);
}
diff --git a/epan/dissectors/packet-lbtrm.c b/epan/dissectors/packet-lbtrm.c
index 16bbbf64e8..f201d8b1ec 100644
--- a/epan/dissectors/packet-lbtrm.c
+++ b/epan/dissectors/packet-lbtrm.c
@@ -1866,7 +1866,7 @@ void proto_reg_handoff_lbtrm(void)
if (!already_registered)
{
lbtrm_dissector_handle = create_dissector_handle(dissect_lbtrm, proto_lbtrm);
- dissector_add_for_decode_as("udp.port", lbtrm_dissector_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", lbtrm_dissector_handle);
heur_dissector_add("udp", test_lbtrm_packet, "LBT Reliable Multicast over UDP", "lbtrm_udp", proto_lbtrm, HEURISTIC_ENABLE);
lbtrm_tap_handle = register_tap("lbm_lbtrm");
}
diff --git a/epan/dissectors/packet-lbtru.c b/epan/dissectors/packet-lbtru.c
index 91fc8bea82..4adaa1cb90 100644
--- a/epan/dissectors/packet-lbtru.c
+++ b/epan/dissectors/packet-lbtru.c
@@ -2004,7 +2004,7 @@ void proto_reg_handoff_lbtru(void)
if (!already_registered)
{
lbtru_dissector_handle = create_dissector_handle(dissect_lbtru, proto_lbtru);
- dissector_add_for_decode_as("udp.port", lbtru_dissector_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", lbtru_dissector_handle);
heur_dissector_add("udp", test_lbtru_packet, "LBT Reliable Unicast over UDP", "lbtru_udp", proto_lbtru, HEURISTIC_ENABLE);
lbtru_tap_handle = register_tap("lbm_lbtru");
}
diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c
index a8398c4f36..17b54f4b22 100644
--- a/epan/dissectors/packet-ldap.c
+++ b/epan/dissectors/packet-ldap.c
@@ -5795,7 +5795,7 @@ proto_reg_handoff_ldap(void)
dissector_handle_t cldap_handle;
cldap_handle = create_dissector_handle(dissect_mscldap, proto_cldap);
- dissector_add_uint("udp.port", UDP_PORT_CLDAP, cldap_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_CLDAP, cldap_handle);
gssapi_handle = find_dissector_add_dependency("gssapi", proto_ldap);
gssapi_wrap_handle = find_dissector_add_dependency("gssapi_verf", proto_ldap);
diff --git a/epan/dissectors/packet-ldp.c b/epan/dissectors/packet-ldp.c
index 721a19a7d2..544025e93f 100644
--- a/epan/dissectors/packet-ldp.c
+++ b/epan/dissectors/packet-ldp.c
@@ -345,8 +345,6 @@ static expert_field ei_ldp_tlv_fec = EI_INIT;
/* desegmentation of LDP over TCP */
static gboolean ldp_desegment = TRUE;
-static guint32 global_ldp_udp_port = UDP_PORT_LDP;
-
/*
* The following define all the TLV types I know about
* http://www.iana.org/assignments/ldp-namespaces
@@ -4275,8 +4273,7 @@ proto_register_ldp(void)
module_t *ldp_module;
expert_module_t* expert_ldp;
- proto_ldp = proto_register_protocol("Label Distribution Protocol",
- "LDP", "ldp");
+ proto_ldp = proto_register_protocol("Label Distribution Protocol", "LDP", "ldp");
proto_register_field_array(proto_ldp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
@@ -4285,12 +4282,7 @@ proto_register_ldp(void)
/* Register our configuration options for , particularly our port */
- ldp_module = prefs_register_protocol(proto_ldp, proto_reg_handoff_ldp);
-
- prefs_register_uint_preference(ldp_module, "udp.port", "LDP UDP Port",
- "Set the UDP port for messages (if other"
- " than the default of 646)",
- 10, &global_ldp_udp_port);
+ ldp_module = prefs_register_protocol(proto_ldp, NULL);
prefs_register_bool_preference(ldp_module, "desegment_ldp_messages",
"Reassemble LDP messages spanning multiple TCP segments",
@@ -4304,30 +4296,12 @@ proto_register_ldp(void)
void
proto_reg_handoff_ldp(void)
{
- static gboolean ldp_prefs_initialized = FALSE;
- static dissector_handle_t ldp_tcp_handle, ldp_handle;
- static int udp_port;
-
- if (!ldp_prefs_initialized) {
-
- ldp_tcp_handle = create_dissector_handle(dissect_ldp_tcp, proto_ldp);
- ldp_handle = create_dissector_handle(dissect_ldp, proto_ldp);
- dissector_add_uint_with_preference("tcp.port", TCP_PORT_LDP, ldp_tcp_handle);
-
- ldp_prefs_initialized = TRUE;
-
- }
- else {
-
- dissector_delete_uint("udp.port", udp_port, ldp_handle);
-
- }
-
- /* Set our port number for future use */
- udp_port = global_ldp_udp_port;
-
- dissector_add_uint("udp.port", global_ldp_udp_port, ldp_handle);
+ dissector_handle_t ldp_tcp_handle, ldp_handle;
+ ldp_tcp_handle = create_dissector_handle(dissect_ldp_tcp, proto_ldp);
+ ldp_handle = create_dissector_handle(dissect_ldp, proto_ldp);
+ dissector_add_uint_with_preference("tcp.port", TCP_PORT_LDP, ldp_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_LDP, ldp_handle);
}
/*
diff --git a/epan/dissectors/packet-ldss.c b/epan/dissectors/packet-ldss.c
index cb8d87d234..56f33188fb 100644
--- a/epan/dissectors/packet-ldss.c
+++ b/epan/dissectors/packet-ldss.c
@@ -40,7 +40,6 @@
#include <math.h>
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
#include <epan/strutil.h>
#include "packet-tcp.h"
@@ -204,9 +203,6 @@ static expert_field ei_ldss_unrecognized_line = EI_INIT;
static dissector_handle_t ldss_udp_handle;
static dissector_handle_t ldss_tcp_handle;
-/* Global variables associated with the preferences for ldss */
-static guint global_udp_port_ldss = UDP_PORT_LDSS;
-
/* Avoid creating conversations and data twice */
static unsigned int highest_num_seen = 0;
@@ -957,7 +953,6 @@ proto_register_ldss (void) {
{ &ei_ldss_unrecognized_line, { "ldss.unrecognized_line", PI_PROTOCOL, PI_WARN, "Unrecognized line ignored", EXPFILL }},
};
- module_t *ldss_module;
expert_module_t* expert_ldss;
proto_ldss = proto_register_protocol("Local Download Sharing Service", "LDSS", "ldss");
@@ -966,14 +961,6 @@ proto_register_ldss (void) {
expert_ldss = expert_register_protocol(proto_ldss);
expert_register_field_array(expert_ldss, ei, array_length(ei));
- ldss_module = prefs_register_protocol( proto_ldss, proto_reg_handoff_ldss);
- prefs_register_uint_preference( ldss_module, "udp_port",
- "LDSS UDP Port",
- "The UDP port on which "
- "Local Download Sharing Service "
- "broadcasts will be sent",
- 10, &global_udp_port_ldss);
-
register_init_routine(&ldss_init_protocol);
}
@@ -982,19 +969,9 @@ proto_register_ldss (void) {
void
proto_reg_handoff_ldss (void)
{
- static guint saved_udp_port_ldss;
- static gboolean ldss_initialized = FALSE;
-
- if (!ldss_initialized) {
- ldss_udp_handle = create_dissector_handle(dissect_ldss, proto_ldss);
- ldss_tcp_handle = create_dissector_handle(dissect_ldss_transfer, proto_ldss);
- ldss_initialized = TRUE;
- }
- else {
- dissector_delete_uint("udp.port", saved_udp_port_ldss, ldss_udp_handle);
- }
- dissector_add_uint("udp.port", global_udp_port_ldss, ldss_udp_handle);
- saved_udp_port_ldss = global_udp_port_ldss;
+ ldss_udp_handle = create_dissector_handle(dissect_ldss, proto_ldss);
+ ldss_tcp_handle = create_dissector_handle(dissect_ldss_transfer, proto_ldss);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_LDSS, ldss_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-lge_monitor.c b/epan/dissectors/packet-lge_monitor.c
index f51f0fef7f..4ac982c81f 100644
--- a/epan/dissectors/packet-lge_monitor.c
+++ b/epan/dissectors/packet-lge_monitor.c
@@ -26,7 +26,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_reg_handoff_lge_monitor(void);
void proto_register_lge_monitor(void);
@@ -43,7 +42,6 @@ static int hf_lge_monitor_data = -1;
static int ett_lge_monitor = -1;
static int ett_lge_header = -1;
-static guint LGEMonitorUDPPort = 0;
static dissector_handle_t mtp3_handle, m3ua_handle, sccp_handle, sctp_handle;
static const value_string lge_monitor_dir_vals[] = {
@@ -116,37 +114,20 @@ dissect_lge_monitor(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
void
proto_reg_handoff_lge_monitor(void)
{
- static dissector_handle_t lge_monitor_handle;
- static guint saved_udp_port;
- static gboolean lge_monitor_prefs_initialized = FALSE;
-
- 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_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 {
- if (saved_udp_port != 0) {
- dissector_delete_uint("udp.port", saved_udp_port, lge_monitor_handle);
- }
- }
-
- if (LGEMonitorUDPPort != 0) {
- dissector_add_uint("udp.port", LGEMonitorUDPPort, lge_monitor_handle);
- }
- saved_udp_port = LGEMonitorUDPPort;
+ dissector_handle_t lge_monitor_handle;
+
+ lge_monitor_handle = create_dissector_handle(dissect_lge_monitor, proto_lge_monitor);
+ dissector_add_for_decode_as_with_preference("udp.port", lge_monitor_handle);
+ 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);
}
void
proto_register_lge_monitor(void)
{
- module_t *lge_monitor_module;
-
/* Setup list of header fields */
static hf_register_info hf[] = {
{ &hf_lge_monitor_dir,
@@ -183,17 +164,6 @@ proto_register_lge_monitor(void)
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_lge_monitor, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- /* Register a configuration option for port */
-
-
- lge_monitor_module = prefs_register_protocol(proto_lge_monitor, proto_reg_handoff_lge_monitor);
-
- prefs_register_uint_preference(lge_monitor_module, "udp.port",
- "LGE Monitor UDP Port",
- "Set UDP port for LGE Monitor messages",
- 10,
- &LGEMonitorUDPPort);
-
}
/*
diff --git a/epan/dissectors/packet-lisp-data.c b/epan/dissectors/packet-lisp-data.c
index 28669ade6e..ff9e831c91 100644
--- a/epan/dissectors/packet-lisp-data.c
+++ b/epan/dissectors/packet-lisp-data.c
@@ -289,7 +289,7 @@ 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);
+ dissector_add_uint_with_preference("udp.port", LISP_DATA_PORT, lisp_data_handle);
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 7ac5bf292c..1eae61d85f 100644
--- a/epan/dissectors/packet-lisp.c
+++ b/epan/dissectors/packet-lisp.c
@@ -3623,7 +3623,7 @@ proto_register_lisp(void)
void
proto_reg_handoff_lisp(void)
{
- dissector_add_uint("udp.port", LISP_CONTROL_PORT, lisp_handle);
+ dissector_add_uint_with_preference("udp.port", LISP_CONTROL_PORT, lisp_handle);
ipv4_handle = find_dissector_add_dependency("ip", proto_lisp);
ipv6_handle = find_dissector_add_dependency("ipv6", proto_lisp);
}
diff --git a/epan/dissectors/packet-llc.c b/epan/dissectors/packet-llc.c
index 8b7db4b1cb..17a86b7565 100644
--- a/epan/dissectors/packet-llc.c
+++ b/epan/dissectors/packet-llc.c
@@ -47,11 +47,7 @@ void proto_register_basicxid(void);
void proto_register_llc(void);
void proto_reg_handoff_llc(void);
-#define UDP_PORT_LLC1 12000
-#define UDP_PORT_LLC2 12001
-#define UDP_PORT_LLC3 12002
-#define UDP_PORT_LLC4 12003
-#define UDP_PORT_LLC5 12004
+#define UDP_PORT_LLC_RANGE "12000-12004"
static int proto_llc = -1;
static int hf_llc_dsap = -1;
@@ -885,11 +881,7 @@ proto_reg_handoff_llc(void)
/* RFC 2043 */
dissector_add_uint("ppp.protocol", PPP_LLC, llc_handle);
/* RFC 2353 */
- dissector_add_uint("udp.port", UDP_PORT_LLC1, llc_handle);
- dissector_add_uint("udp.port", UDP_PORT_LLC2, llc_handle);
- dissector_add_uint("udp.port", UDP_PORT_LLC3, llc_handle);
- dissector_add_uint("udp.port", UDP_PORT_LLC4, llc_handle);
- dissector_add_uint("udp.port", UDP_PORT_LLC5, llc_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_LLC_RANGE, llc_handle);
/* IP-over-FC when we have the full FC frame */
dissector_add_uint("fc.ftype", FC_FTYPE_IP, llc_handle);
diff --git a/epan/dissectors/packet-lmp.c b/epan/dissectors/packet-lmp.c
index c1d3942203..5c90e636c4 100644
--- a/epan/dissectors/packet-lmp.c
+++ b/epan/dissectors/packet-lmp.c
@@ -58,8 +58,6 @@ void proto_reg_handoff_lmp(void);
static int proto_lmp = -1;
#define UDP_PORT_LMP_DEFAULT 701
-static guint lmp_udp_port = UDP_PORT_LMP_DEFAULT;
-static guint lmp_udp_port_config = UDP_PORT_LMP_DEFAULT;
static gboolean lmp_checksum_config = FALSE;
@@ -1875,30 +1873,16 @@ dissect_lmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
}
static void
-lmp_prefs_applied (void)
-{
- if (lmp_udp_port != lmp_udp_port_config) {
- dissector_delete_uint("udp.port", lmp_udp_port, lmp_handle);
- lmp_udp_port = lmp_udp_port_config;
- dissector_add_uint("udp.port", lmp_udp_port, lmp_handle);
- }
-}
-
-static void
register_lmp_prefs (void)
{
module_t *lmp_module;
- lmp_module = prefs_register_protocol(proto_lmp, lmp_prefs_applied);
+ lmp_module = prefs_register_protocol(proto_lmp, NULL);
- prefs_register_uint_preference(
- lmp_module, "udp_port", "LMP UDP Port",
- "UDP port number to use for LMP", 10, &lmp_udp_port_config);
prefs_register_bool_preference(
lmp_module, "checksum", "LMP checksum field",
"Whether LMP contains a checksum which can be checked", &lmp_checksum_config);
- prefs_register_obsolete_preference(
- lmp_module, "version");
+ prefs_register_obsolete_preference(lmp_module, "version");
}
void
@@ -2635,8 +2619,7 @@ proto_register_lmp(void)
}
- proto_lmp = proto_register_protocol("Link Management Protocol (LMP)",
- "LMP", "lmp");
+ proto_lmp = proto_register_protocol("Link Management Protocol (LMP)", "LMP", "lmp");
expert_lmp = expert_register_protocol(proto_lmp);
expert_register_field_array(expert_lmp, ei, array_length(ei));
@@ -2651,7 +2634,7 @@ void
proto_reg_handoff_lmp(void)
{
lmp_handle = create_dissector_handle(dissect_lmp, proto_lmp);
- dissector_add_uint("udp.port", lmp_udp_port, lmp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_LMP_DEFAULT, lmp_handle);
}
/*
diff --git a/epan/dissectors/packet-lsc.c b/epan/dissectors/packet-lsc.c
index 969118aead..c0780dfbed 100644
--- a/epan/dissectors/packet-lsc.c
+++ b/epan/dissectors/packet-lsc.c
@@ -24,7 +24,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include "packet-tcp.h"
@@ -123,9 +122,6 @@ static int hf_lsc_scale_num = -1;
static int hf_lsc_scale_denom = -1;
static int hf_lsc_mode = -1;
-/* Preferences */
-static guint global_lsc_port = 0;
-
/* Initialize the subtree pointers */
static gint ett_lsc = -1;
@@ -340,8 +336,6 @@ dissect_lsc_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
void
proto_register_lsc(void)
{
- module_t *lsc_module;
-
/* Setup list of header fields */
static hf_register_info hf[] = {
{ &hf_lsc_version,
@@ -412,42 +406,18 @@ proto_register_lsc(void)
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_lsc, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- /* Register preferences module */
- lsc_module = prefs_register_protocol(proto_lsc, proto_reg_handoff_lsc);
-
- /* Register preferences */
- prefs_register_uint_preference(lsc_module, "port",
- "LSC Port",
- "Set the TCP or UDP port for Pegasus LSC messages",
- 10, &global_lsc_port);
}
void
proto_reg_handoff_lsc(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t lsc_udp_handle;
- static dissector_handle_t lsc_tcp_handle;
- static guint saved_lsc_port;
-
- if (!initialized) {
- lsc_udp_handle = create_dissector_handle(dissect_lsc_udp, proto_lsc);
- lsc_tcp_handle = create_dissector_handle(dissect_lsc_tcp, proto_lsc);
- dissector_add_for_decode_as("udp.port", lsc_udp_handle);
- dissector_add_for_decode_as_with_preference("tcp.port", lsc_tcp_handle);
- initialized = TRUE;
- } else {
- if (saved_lsc_port != 0) {
- dissector_delete_uint("udp.port", saved_lsc_port, lsc_udp_handle);
- }
- }
+ dissector_handle_t lsc_udp_handle;
+ dissector_handle_t lsc_tcp_handle;
- /* Set the port number */
- if (global_lsc_port != 0) {
- dissector_add_uint("udp.port", global_lsc_port, lsc_udp_handle);
- }
- saved_lsc_port = global_lsc_port;
+ lsc_udp_handle = create_dissector_handle(dissect_lsc_udp, proto_lsc);
+ lsc_tcp_handle = create_dissector_handle(dissect_lsc_tcp, proto_lsc);
+ dissector_add_for_decode_as_with_preference("udp.port", lsc_udp_handle);
+ dissector_add_for_decode_as_with_preference("tcp.port", lsc_tcp_handle);
}
/*
diff --git a/epan/dissectors/packet-lte-rrc.c b/epan/dissectors/packet-lte-rrc.c
index 827c5ba4c3..f5f5959320 100644
--- a/epan/dissectors/packet-lte-rrc.c
+++ b/epan/dissectors/packet-lte-rrc.c
@@ -91299,7 +91299,7 @@ proto_reg_handoff_lte_rrc(void)
static dissector_handle_t lte_rrc_dl_ccch_handle;
lte_rrc_dl_ccch_handle = find_dissector("lte_rrc.dl_ccch");
- dissector_add_for_decode_as("udp.port", lte_rrc_dl_ccch_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", lte_rrc_dl_ccch_handle);
nas_eps_handle = find_dissector("nas-eps");
rrc_irat_ho_to_utran_cmd_handle = find_dissector("rrc.irat.ho_to_utran_cmd");
rrc_sys_info_cont_handle = find_dissector("rrc.sysinfo.cont");
diff --git a/epan/dissectors/packet-ltp.c b/epan/dissectors/packet-ltp.c
index 52b85f789d..3b4c88ff17 100644
--- a/epan/dissectors/packet-ltp.c
+++ b/epan/dissectors/packet-ltp.c
@@ -43,7 +43,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
#include <epan/reassemble.h>
@@ -187,8 +186,7 @@ static const value_string client_service_id_info[] = {
{0, NULL}
};
-
-static guint ltp_port = 1113;
+#define LTP_PORT 1113
/* Initialize the subtree pointers */
static gint ett_ltp = -1;
@@ -837,8 +835,6 @@ ltp_defragment_init(void) {
void
proto_register_ltp(void)
{
- module_t *ltp_module;
-
static hf_register_info hf[] = {
{&hf_ltp_version,
{"LTP Version","ltp.version",
@@ -1032,43 +1028,26 @@ proto_register_ltp(void)
expert_module_t* expert_ltp;
/* Register the protocol name and description */
- proto_ltp = proto_register_protocol("Licklider Transmission Protocol",
- "LTP", "ltp");
+ proto_ltp = proto_register_protocol("Licklider Transmission Protocol", "LTP", "ltp");
proto_register_field_array(proto_ltp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_ltp = expert_register_protocol(proto_ltp);
expert_register_field_array(expert_ltp, ei, array_length(ei));
- ltp_module = prefs_register_protocol(proto_ltp, proto_reg_handoff_ltp);
-
- prefs_register_obsolete_preference(ltp_module, "udp.port");
- prefs_register_uint_preference(ltp_module, "port", "LTP Port",
- "The UDP or DCCP port to accept LTP Connections",
- 10, &ltp_port);
register_init_routine(ltp_defragment_init);
}
void
proto_reg_handoff_ltp(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t ltp_handle;
- static int currentPort;
-
- if (!initialized) {
- ltp_handle = create_dissector_handle(dissect_ltp, proto_ltp);
- bundle_handle = find_dissector_add_dependency("bundle", proto_ltp);
- initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", currentPort, ltp_handle);
- dissector_delete_uint("dccp.port", currentPort, ltp_handle);
- }
+ dissector_handle_t ltp_handle;
- currentPort = ltp_port;
+ ltp_handle = create_dissector_handle(dissect_ltp, proto_ltp);
+ bundle_handle = find_dissector_add_dependency("bundle", proto_ltp);
- dissector_add_uint("udp.port", currentPort, ltp_handle);
- dissector_add_uint("dccp.port", currentPort, ltp_handle);
+ dissector_add_uint_with_preference("udp.port", LTP_PORT, ltp_handle);
+ dissector_add_uint_with_preference("dccp.port", LTP_PORT, ltp_handle);
}
/*
diff --git a/epan/dissectors/packet-lwapp.c b/epan/dissectors/packet-lwapp.c
index 09007fde95..ee315b3bd1 100644
--- a/epan/dissectors/packet-lwapp.c
+++ b/epan/dissectors/packet-lwapp.c
@@ -32,6 +32,9 @@
void proto_register_lwapp(void);
void proto_reg_handoff_lwapp(void);
+#define LWAPP_8023_PORT 12220 /* Not IANA registered */
+#define LWAPP_UDP_PORT_RANGE "12222-12223" /* Not IANA registered */
+
#define LWAPP_FLAGS_T 0x04
#define LWAPP_FLAGS_F 0x02
#define LWAPP_FLAGS_FT 0x01
@@ -573,12 +576,10 @@ proto_reg_handoff_lwapp(void)
*/
/* Obsoleted LWAPP via encapsulated 802.3 over UDP */
-
- dissector_add_uint("udp.port", 12220, lwapp_l3_handle);
+ dissector_add_uint_with_preference("udp.port", LWAPP_8023_PORT, lwapp_l3_handle);
/* new-style lwapp directly over UDP: L3-lwapp*/
- dissector_add_uint("udp.port", 12222, lwapp_handle);
- dissector_add_uint("udp.port", 12223, lwapp_handle);
+ dissector_add_uint_range_with_preference("udp.port", LWAPP_UDP_PORT_RANGE, lwapp_handle);
/* Lwapp over L2 */
dissector_add_uint("ethertype", 0x88bb, lwapp_handle);
diff --git a/epan/dissectors/packet-lwres.c b/epan/dissectors/packet-lwres.c
index e9d618b257..2ea66a1aff 100644
--- a/epan/dissectors/packet-lwres.c
+++ b/epan/dissectors/packet-lwres.c
@@ -26,7 +26,6 @@
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/to_str.h>
#include "packet-dns.h"
@@ -180,10 +179,7 @@ static int ett_ns_rec_item = -1;
-#define LWRES_UDP_PORT 921
-
-static guint global_lwres_port = LWRES_UDP_PORT;
-
+#define LWRES_UDP_PORT 921 /* Not IANA registered */
/* Define the lwres proto */
static int proto_lwres = -1;
@@ -1129,44 +1125,20 @@ proto_register_lwres(void)
&ett_noop,
};
-
- module_t *lwres_module;
-
- proto_lwres = proto_register_protocol("Light Weight DNS RESolver (BIND9)",
- "LWRES", "lwres");
+ proto_lwres = proto_register_protocol("Light Weight DNS RESolver (BIND9)", "LWRES", "lwres");
proto_register_field_array(proto_lwres, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- lwres_module = prefs_register_protocol(proto_lwres, proto_reg_handoff_lwres);
-
- prefs_register_uint_preference(lwres_module, "udp.lwres_port",
- "lwres listener UDP Port",
- "Set the UDP port for lwres daemon"
- "(if other than the default of 921)",
- 10, &global_lwres_port);
-
}
/* The registration hand-off routine */
void
proto_reg_handoff_lwres(void)
{
- static gboolean lwres_prefs_initialized = FALSE;
- static dissector_handle_t lwres_handle;
- static guint lwres_port;
-
- if(!lwres_prefs_initialized) {
- lwres_handle = create_dissector_handle(dissect_lwres, proto_lwres);
- lwres_prefs_initialized = TRUE;
- }
- else {
- dissector_delete_uint("udp.port", lwres_port, lwres_handle);
- }
-
- dissector_add_uint("udp.port", global_lwres_port, lwres_handle);
- lwres_port = global_lwres_port;
+ dissector_handle_t lwres_handle;
+ lwres_handle = create_dissector_handle(dissect_lwres, proto_lwres);
+ dissector_add_uint_with_preference("udp.port", LWRES_UDP_PORT, lwres_handle);
}
/*
diff --git a/epan/dissectors/packet-mactelnet.c b/epan/dissectors/packet-mactelnet.c
index 262885c4dd..8e1670f1b3 100644
--- a/epan/dissectors/packet-mactelnet.c
+++ b/epan/dissectors/packet-mactelnet.c
@@ -29,7 +29,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/to_str.h>
void proto_register_mactelnet(void);
@@ -57,8 +56,7 @@ static gint hf_mactelnet_control_terminal = -1;
static gint hf_mactelnet_control_width = -1;
static gint hf_mactelnet_control_height = -1;
-/* Global port preference */
-static guint global_mactelnet_port = 20561;
+#define MACTELNET_UDP_PORT 20561 /* Not IANA registered */
/* Control packet definition */
static const guint32 control_packet = 0x563412FF;
@@ -373,38 +371,21 @@ proto_register_mactelnet(void)
&ett_mactelnet_control,
};
- module_t *mactelnet_module;
-
/* Register the protocol name and description */
proto_mactelnet = proto_register_protocol ("MikroTik MAC-Telnet Protocol", PROTO_TAG_MACTELNET, "mactelnet");
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array (proto_mactelnet, hf, array_length (hf));
proto_register_subtree_array (ett, array_length (ett));
-
- mactelnet_module = prefs_register_protocol(proto_mactelnet, proto_reg_handoff_mactelnet);
-
- prefs_register_uint_preference(mactelnet_module, "port", "UDP Port",
- "MAC-Telnet UDP port if other than the default",
- 10, &global_mactelnet_port);
}
void
proto_reg_handoff_mactelnet(void)
{
- static gboolean initialized = FALSE;
- static guint current_port;
- static dissector_handle_t mactelnet_handle;
-
- if (!initialized) {
- mactelnet_handle = create_dissector_handle(dissect_mactelnet, proto_mactelnet);
- initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", current_port, mactelnet_handle);
- }
+ dissector_handle_t mactelnet_handle;
- current_port = global_mactelnet_port;
- dissector_add_uint("udp.port", current_port, mactelnet_handle);
+ mactelnet_handle = create_dissector_handle(dissect_mactelnet, proto_mactelnet);
+ dissector_add_uint_with_preference("udp.port", MACTELNET_UDP_PORT, mactelnet_handle);
}
/*
diff --git a/epan/dissectors/packet-manolito.c b/epan/dissectors/packet-manolito.c
index fecbcecb25..17026e2606 100644
--- a/epan/dissectors/packet-manolito.c
+++ b/epan/dissectors/packet-manolito.c
@@ -31,6 +31,8 @@
void proto_register_manolito(void);
void proto_reg_handoff_manolito(void);
+#define MANOLITO_PORT 41170 /* Not IANA registered */
+
static int proto_manolito = -1;
static int hf_manolito_checksum = -1;
@@ -294,9 +296,8 @@ proto_reg_handoff_manolito(void)
{
dissector_handle_t manolito_handle;
- manolito_handle = create_dissector_handle(dissect_manolito,
- proto_manolito);
- dissector_add_uint("udp.port", 41170, manolito_handle);
+ manolito_handle = create_dissector_handle(dissect_manolito, proto_manolito);
+ dissector_add_uint_with_preference("udp.port", MANOLITO_PORT, manolito_handle);
}
/*
diff --git a/epan/dissectors/packet-mausb.c b/epan/dissectors/packet-mausb.c
index 00a450f173..52ff45ae85 100644
--- a/epan/dissectors/packet-mausb.c
+++ b/epan/dissectors/packet-mausb.c
@@ -27,7 +27,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
#include <epan/oui.h>
#include "packet-tcp.h"
@@ -673,9 +672,6 @@ static guint mausb_get_pkt_len(packet_info *pinfo _U_, tvbuff_t *tvb,
return tvb_get_letohs(tvb, offset + 2);
}
-/* Global Port Preference */
-static unsigned int mausb_udp_port_pref = 0;
-
/* Initialize the subtree pointers */
static gint ett_mausb = -1;
static gint ett_mausb_flags = -1;
@@ -2249,12 +2245,10 @@ proto_register_mausb(void)
},
};
- module_t *mausb_module;
expert_module_t* expert_mausb;
/* Register the protocol name and description */
- proto_mausb = proto_register_protocol("Media Agnostic USB",
- "MAUSB", "mausb");
+ proto_mausb = proto_register_protocol("Media Agnostic USB", "MAUSB", "mausb");
/* Required function calls to register the header fields and subtrees */
proto_register_field_array(proto_mausb, hf, array_length(hf));
@@ -2267,45 +2261,23 @@ proto_register_mausb(void)
expert_mausb = expert_register_protocol(proto_mausb);
expert_register_field_array(expert_mausb, ei, array_length(ei));
- /* Register Protocol preferences */
- mausb_module = prefs_register_protocol(proto_mausb, proto_reg_handoff_mausb);
-
- /* Register UDP port preference */
- prefs_register_uint_preference(mausb_module, "udp.port", "MAUSB UDP Port",
- "Set the port for Media Agnostic Packets",
- 10, &mausb_udp_port_pref);
-
llc_add_oui(OUI_WFA, "llc.wfa_pid", "LLC WFA OUI PID", oui_hf, proto_mausb);
}
void
proto_reg_handoff_mausb(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t mausb_tcp_handle;
- static dissector_handle_t mausb_pkt_handle;
- static guint saved_mausb_udp_port_pref;
-
- if (!initialized) {
- /* only initialize once */
- mausb_tcp_handle = create_dissector_handle(dissect_mausb,
- proto_mausb);
+ dissector_handle_t mausb_tcp_handle;
+ dissector_handle_t mausb_pkt_handle;
- mausb_pkt_handle = create_dissector_handle(dissect_mausb_pkt,
- proto_mausb);
+ mausb_tcp_handle = create_dissector_handle(dissect_mausb, proto_mausb);
- dissector_add_uint("llc.wfa_pid", PID_MAUSB, mausb_pkt_handle);
- initialized = TRUE;
-
- dissector_add_uint_range_with_preference("tcp.port", "", mausb_tcp_handle);
- } else {
- /* if we have already been initialized */
- dissector_delete_uint("udp.port", saved_mausb_udp_port_pref, mausb_pkt_handle);
- }
+ mausb_pkt_handle = create_dissector_handle(dissect_mausb_pkt, proto_mausb);
- saved_mausb_udp_port_pref = mausb_udp_port_pref;
+ dissector_add_uint("llc.wfa_pid", PID_MAUSB, mausb_pkt_handle);
- dissector_add_uint("udp.port", mausb_udp_port_pref, mausb_pkt_handle);
+ dissector_add_uint_range_with_preference("tcp.port", "", mausb_tcp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", mausb_pkt_handle);
}
/*
diff --git a/epan/dissectors/packet-mcpe.c b/epan/dissectors/packet-mcpe.c
index 1c486c73a6..1f99be9104 100644
--- a/epan/dissectors/packet-mcpe.c
+++ b/epan/dissectors/packet-mcpe.c
@@ -42,7 +42,7 @@
* http://wiki.vg/Pocket_Edition_Protocol_Documentation
*/
-#define MCPE_UDP_PORT_DEFAULT 19132
+#define MCPE_UDP_PORT_DEFAULT 19132 /* Not IANA registered */
static guint mcpe_udp_port_requested = MCPE_UDP_PORT_DEFAULT;
static int proto_mcpe = -1;
@@ -673,11 +673,7 @@ proto_register_mcpe(void)
/*
* Register the protocol with wireshark.
*/
- proto_mcpe = proto_register_protocol (
- "Minecraft Pocket Edition", /* name */
- "MCPE", /* short name */
- "mcpe" /* abbrev */
- );
+ proto_mcpe = proto_register_protocol ("Minecraft Pocket Edition", "MCPE", "mcpe");
/*
* Register expert support.
diff --git a/epan/dissectors/packet-megaco.c b/epan/dissectors/packet-megaco.c
index 96c96017cc..19a640fd24 100644
--- a/epan/dissectors/packet-megaco.c
+++ b/epan/dissectors/packet-megaco.c
@@ -189,7 +189,6 @@ static ws_mempbrk_pattern pbrk_braces;
* decode.
*/
static guint global_megaco_txt_sctp_port = PORT_MEGACO_TXT;
-static guint global_megaco_txt_udp_port = PORT_MEGACO_TXT;
#if 0
static guint global_megaco_bin_sctp_port = PORT_MEGACO_BIN;
static guint global_megaco_bin_tcp_port = PORT_MEGACO_BIN;
@@ -3792,11 +3791,6 @@ proto_register_megaco(void)
"Set the SCTP port for MEGACO text messages",
10, &global_megaco_txt_sctp_port);
- prefs_register_uint_preference(megaco_module, "udp.txt_port",
- "MEGACO Text UDP Port",
- "Set the UDP port for MEGACO text messages",
- 10, &global_megaco_txt_udp_port);
-
#if 0
prefs_register_uint_preference(megaco_module, "sctp.bin_port",
"MEGACO Binary SCTP Port",
@@ -3856,7 +3850,6 @@ proto_reg_handoff_megaco(void)
* the user changes port from the gui.
*/
static guint txt_sctp_port;
- static guint txt_udp_port;
#if 0
static guint bin_sctp_port;
static guint bin_tcp_port;
@@ -3874,21 +3867,19 @@ proto_reg_handoff_megaco(void)
megaco_text_tcp_handle = create_dissector_handle(dissect_megaco_text_tcp, proto_megaco);
dissector_add_uint_with_preference("tcp.port", PORT_MEGACO_TXT, megaco_text_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", PORT_MEGACO_TXT, megaco_text_handle);
dissector_add_uint("sctp.ppi", H248_PAYLOAD_PROTOCOL_ID, megaco_text_handle);
megaco_prefs_initialized = TRUE;
} else {
dissector_delete_uint("sctp.port", txt_sctp_port, megaco_text_handle);
- dissector_delete_uint("udp.port", txt_udp_port, megaco_text_handle);
}
/* Set our port number for future use */
txt_sctp_port = global_megaco_txt_sctp_port;
- txt_udp_port = global_megaco_txt_udp_port;
dissector_add_uint("sctp.port", global_megaco_txt_sctp_port, megaco_text_handle);
- dissector_add_uint("udp.port", global_megaco_txt_udp_port, megaco_text_handle);
exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
diff --git a/epan/dissectors/packet-memcache.c b/epan/dissectors/packet-memcache.c
index 66c5e4559d..3e61cbab18 100644
--- a/epan/dissectors/packet-memcache.c
+++ b/epan/dissectors/packet-memcache.c
@@ -104,7 +104,6 @@ void proto_reg_handoff_memcache(void);
static int proto_memcache = -1;
-static range_t *memcache_udp_port_range = NULL;
static dissector_handle_t memcache_tcp_handle;
static dissector_handle_t memcache_udp_handle;
@@ -2121,7 +2120,7 @@ proto_register_memcache (void)
expert_register_field_array(expert_memcache, ei, array_length(ei));
/* Register our configuration options */
- memcache_module = prefs_register_protocol (proto_memcache, proto_reg_handoff_memcache);
+ memcache_module = prefs_register_protocol (proto_memcache, NULL);
prefs_register_bool_preference (memcache_module, "desegment_headers",
"Reassemble MEMCACHE headers spanning multiple TCP segments",
@@ -2138,27 +2137,14 @@ proto_register_memcache (void)
" To use this option, you must also enable \"Allow subdissectors"
" to reassemble TCP streams\" in the TCP protocol settings.",
&memcache_desegment_body);
-
- range_convert_str(&memcache_udp_port_range, MEMCACHE_DEFAULT_RANGE, 65535);
-
- prefs_register_range_preference(memcache_module, "udp.ports", \
- "MEMCACHE UDP Port range", \
- "MEMCACHE UDP Port range", \
- &memcache_udp_port_range, \
- 65535);
}
/* Register the tcp and udp memcache dissectors. */
void
proto_reg_handoff_memcache (void)
{
- static range_t *orig_memcache_udp_port_range = NULL;
-
- g_free(orig_memcache_udp_port_range);
-
- orig_memcache_udp_port_range = range_copy(memcache_udp_port_range);
dissector_add_uint_range_with_preference("tcp.port", MEMCACHE_DEFAULT_RANGE, memcache_tcp_handle);
- dissector_add_uint_range("udp.port", orig_memcache_udp_port_range, memcache_udp_handle);
+ dissector_add_uint_range_with_preference("udp.port", MEMCACHE_DEFAULT_RANGE, memcache_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-mih.c b/epan/dissectors/packet-mih.c
index c5c885115b..daa5984343 100644
--- a/epan/dissectors/packet-mih.c
+++ b/epan/dissectors/packet-mih.c
@@ -4871,7 +4871,7 @@ void proto_reg_handoff_mih(void)
mih_handle = create_dissector_handle(dissect_mih, proto_mih);
/*Layer 3 handle*/
- dissector_add_uint("udp.port", MIH_PORT, mih_handle);
+ dissector_add_uint_with_preference("udp.port", MIH_PORT, mih_handle);
dissector_add_uint_with_preference("tcp.port", MIH_PORT, mih_handle);
/*Layer 2 handle*/
diff --git a/epan/dissectors/packet-mikey.c b/epan/dissectors/packet-mikey.c
index abb6693982..900793dc6c 100644
--- a/epan/dissectors/packet-mikey.c
+++ b/epan/dissectors/packet-mikey.c
@@ -38,7 +38,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/asn1.h>
#include <epan/proto_data.h>
#include "packet-x509af.h"
@@ -47,7 +46,6 @@ void proto_register_mikey(void);
void proto_reg_handoff_mikey(void);
#define PORT_MIKEY 2269
-static guint global_mikey_udp_port = PORT_MIKEY;
static const value_string on_off_vals[] = {
{ 0, "Off" },
@@ -1835,44 +1833,23 @@ proto_register_mikey(void)
&ett_mikey_enc_data
};
- module_t *mikey_module;
-
/* Register the protocol name and description */
- proto_mikey = proto_register_protocol("Multimedia Internet KEYing",
- "MIKEY", "mikey");
+ proto_mikey = proto_register_protocol("Multimedia Internet KEYing", "MIKEY", "mikey");
mikey_handle = register_dissector("mikey", dissect_mikey, proto_mikey);
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_mikey, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- /* Register our configuration options */
- mikey_module = prefs_register_protocol(proto_mikey, proto_reg_handoff_mikey);
-
- prefs_register_uint_preference(mikey_module, "udp.port", "MIKEY UDP Port",
- "Set the port for MIKEY messages (if other than the default of 2269)",
- 10, &global_mikey_udp_port);
}
void
proto_reg_handoff_mikey(void)
{
- static guint mikey_udp_port;
- static gboolean inited = FALSE;
-
- if (!inited) {
- dissector_add_string("key_mgmt", "mikey", mikey_handle);
- dissector_add_uint_with_preference("tcp.port", PORT_MIKEY, mikey_handle);
- inited = TRUE;
- } else {
- dissector_delete_uint("udp.port", mikey_udp_port, mikey_handle);
- }
-
- dissector_add_uint("udp.port", global_mikey_udp_port, mikey_handle);
-
- mikey_udp_port = global_mikey_udp_port;
+ dissector_add_string("key_mgmt", "mikey", mikey_handle);
+ dissector_add_uint_with_preference("tcp.port", PORT_MIKEY, mikey_handle);
+ dissector_add_uint_with_preference("udp.port", PORT_MIKEY, mikey_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
diff --git a/epan/dissectors/packet-mint.c b/epan/dissectors/packet-mint.c
index 32cc2d2f4f..f2cc30dbba 100644
--- a/epan/dissectors/packet-mint.c
+++ b/epan/dissectors/packet-mint.c
@@ -54,6 +54,7 @@ void proto_reg_handoff_mint(void);
#define PORT_MINT_CONTROL_TUNNEL 24576
/* 0x6001 */
#define PORT_MINT_DATA_TUNNEL 24577
+#define PORT_MINT_RANGE "24576-24577"
static dissector_handle_t eth_handle;
@@ -736,8 +737,7 @@ proto_register_mint(void)
void
proto_reg_handoff_mint(void)
{
- dissector_add_uint("udp.port", PORT_MINT_CONTROL_TUNNEL, mint_control_handle);
- dissector_add_uint("udp.port", PORT_MINT_DATA_TUNNEL, mint_data_handle);
+ dissector_add_uint_range_with_preference("udp.port", PORT_MINT_RANGE, mint_control_handle);
dissector_add_uint("ethertype", ETHERTYPE_MINT, mint_eth_handle);
eth_handle = find_dissector_add_dependency("eth_withoutfcs", hfi_mint->id);
diff --git a/epan/dissectors/packet-miop.c b/epan/dissectors/packet-miop.c
index ef60769a67..7d3985c4f4 100644
--- a/epan/dissectors/packet-miop.c
+++ b/epan/dissectors/packet-miop.c
@@ -316,7 +316,7 @@ void proto_reg_handoff_miop (void) {
dissector_handle_t miop_handle;
miop_handle = find_dissector("miop");
- dissector_add_for_decode_as("udp.port", miop_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", miop_handle);
heur_dissector_add("udp", dissect_miop_heur, "MIOP over UDP", "miop_udp", proto_miop, HEURISTIC_ENABLE);
diff --git a/epan/dissectors/packet-mip.c b/epan/dissectors/packet-mip.c
index ee8b2c3668..810b81b6f0 100644
--- a/epan/dissectors/packet-mip.c
+++ b/epan/dissectors/packet-mip.c
@@ -1481,7 +1481,7 @@ proto_reg_handoff_mip(void)
mip_handle = find_dissector("mip");
ip_handle = find_dissector_add_dependency("ip", proto_mip);
- dissector_add_uint("udp.port", UDP_PORT_MIP, mip_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_MIP, mip_handle);
/* Register as dissector for 3GPP2 NVSE */
dissector_add_uint("mip.nvse_ext", VENDOR_THE3GPP2,
diff --git a/epan/dissectors/packet-mip6.c b/epan/dissectors/packet-mip6.c
index b5d42fd08a..5cf0b4308b 100644
--- a/epan/dissectors/packet-mip6.c
+++ b/epan/dissectors/packet-mip6.c
@@ -5436,7 +5436,7 @@ proto_reg_handoff_mip6(void)
dissector_add_uint("ip.proto", IP_PROTO_MIPV6, mip6_handle);
/* Add support for PMIPv6 control messages over IPV4 */
- dissector_add_uint("udp.port", UDP_PORT_PMIP6_CNTL, mip6_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_PMIP6_CNTL, mip6_handle);
ip_dissector_table = find_dissector_table("ip.proto");
dissector_add_uint("mip6.vsm", VENDOR_THE3GPP, create_dissector_handle(dissect_mip6_opt_vsm_3gpp, proto_mip6));
diff --git a/epan/dissectors/packet-mndp.c b/epan/dissectors/packet-mndp.c
index a1e0f0c481..668290eb04 100644
--- a/epan/dissectors/packet-mndp.c
+++ b/epan/dissectors/packet-mndp.c
@@ -66,7 +66,7 @@ static int hf_mndp_interfacename = -1;
#define PROTO_SHORT_NAME "MNDP"
#define PROTO_LONG_NAME "Mikrotik Neighbor Discovery Protocol"
-#define PORT_MNDP 5678
+#define PORT_MNDP 5678 /* Not IANA registered */
/* ============= copy/paste/modify from value_string.[hc] ============== */
typedef struct _ext_value_string {
@@ -359,7 +359,7 @@ proto_reg_handoff_mndp(void)
dissector_handle_t mndp_handle;
mndp_handle = create_dissector_handle(dissect_mndp_static, proto_mndp);
- dissector_add_uint("udp.port", PORT_MNDP, mndp_handle);
+ dissector_add_uint_with_preference("udp.port", PORT_MNDP, mndp_handle);
heur_dissector_add("udp", dissect_mndp_heur, "MNDP over UDP", "mndp_udp", proto_mndp, HEURISTIC_DISABLE);
}
diff --git a/epan/dissectors/packet-mojito.c b/epan/dissectors/packet-mojito.c
index 63f135cbe3..dde239cea3 100644
--- a/epan/dissectors/packet-mojito.c
+++ b/epan/dissectors/packet-mojito.c
@@ -26,7 +26,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
void proto_register_mojito(void);
@@ -120,9 +119,6 @@ static gint ett_mojito_kuids = -1;
static expert_field ei_mojito_socketaddress_unknown = EI_INIT;
static expert_field ei_mojito_bigint_unsupported = EI_INIT;
-/* Preferences */
-static int udp_mojito_port = 0;
-
typedef struct mojito_header_data {
guint8 opcode;
guint32 payloadlength;
@@ -713,7 +709,6 @@ static gboolean dissect_mojito_heuristic (tvbuff_t *tvb, packet_info *pinfo, pro
void
proto_register_mojito(void)
{
- module_t *mojito_module;
expert_module_t* expert_mojito;
static hf_register_info hf[] = {
@@ -1023,42 +1018,17 @@ proto_register_mojito(void)
proto_register_subtree_array(ett, array_length(ett));
expert_mojito = expert_register_protocol(proto_mojito);
expert_register_field_array(expert_mojito, ei, array_length(ei));
-
- /* Set the Prefs */
- mojito_module = prefs_register_protocol(proto_mojito, NULL);
-
- prefs_register_uint_preference(mojito_module,
- "udp.port",
- "Mojito UDP Port",
- "Mojito UDP Port",
- 10,
- &udp_mojito_port);
}
/* Control the handoff */
void
proto_reg_handoff_mojito(void)
{
- static gboolean initialized = FALSE;
- static int old_mojito_udp_port = 0;
- static dissector_handle_t mojito_handle;
-
- if (!initialized) {
- mojito_handle = create_dissector_handle(dissect_mojito, proto_mojito);
- heur_dissector_add("udp", dissect_mojito_heuristic, "Mojito over UDP", "mojito_udp", proto_mojito, HEURISTIC_ENABLE);
- initialized = TRUE;
- }
-
- /* Register UDP port for dissection */
- if(old_mojito_udp_port != 0 && old_mojito_udp_port != udp_mojito_port){
- dissector_delete_uint("udp.port", old_mojito_udp_port, mojito_handle);
- }
-
- if(udp_mojito_port != 0 && old_mojito_udp_port != udp_mojito_port) {
- dissector_add_uint("udp.port", udp_mojito_port, mojito_handle);
- }
+ dissector_handle_t mojito_handle;
- old_mojito_udp_port = udp_mojito_port;
+ mojito_handle = create_dissector_handle(dissect_mojito, proto_mojito);
+ heur_dissector_add("udp", dissect_mojito_heuristic, "Mojito over UDP", "mojito_udp", proto_mojito, HEURISTIC_ENABLE);
+ dissector_add_for_decode_as_with_preference("udp.port", mojito_handle);
}
/*
diff --git a/epan/dissectors/packet-moldudp.c b/epan/dissectors/packet-moldudp.c
index b121633a2b..7d697ed8f1 100644
--- a/epan/dissectors/packet-moldudp.c
+++ b/epan/dissectors/packet-moldudp.c
@@ -26,7 +26,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
void proto_register_moldudp(void);
@@ -49,9 +48,6 @@ static int hf_moldudp_msgdata = -1;
#define MOLDUDP_HEARTBEAT 0x0000
-/* Global port pref */
-static guint pf_moldudp_port = 0;
-
/* Initialize the subtree pointers */
static gint ett_moldudp = -1;
static gint ett_moldudp_msgblk = -1;
@@ -187,8 +183,6 @@ dissect_moldudp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
void
proto_register_moldudp(void)
{
- module_t *moldudp_module;
-
/* Setup list of header fields */
static hf_register_info hf[] = {
@@ -235,46 +229,23 @@ proto_register_moldudp(void)
expert_module_t* expert_moldudp;
/* Register the protocol name and description */
- proto_moldudp = proto_register_protocol("MoldUDP",
- "MoldUDP", "moldudp");
+ proto_moldudp = proto_register_protocol("MoldUDP", "MoldUDP", "moldudp");
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_moldudp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_moldudp = expert_register_protocol(proto_moldudp);
expert_register_field_array(expert_moldudp, ei, array_length(ei));
-
- /* Register preferences module */
- moldudp_module = prefs_register_protocol(proto_moldudp,
- proto_reg_handoff_moldudp);
-
- /* Register a port preference */
- prefs_register_uint_preference(moldudp_module, "udp.port", "MoldUDP UDP Port",
- "MoldUDP UDP port to capture on.",
- 10, &pf_moldudp_port);
}
void
proto_reg_handoff_moldudp(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t moldudp_handle;
- static int currentPort;
-
- if (!initialized) {
- moldudp_handle = create_dissector_handle(dissect_moldudp,
- proto_moldudp);
- initialized = TRUE;
- } else {
-
- dissector_delete_uint("udp.port", currentPort, moldudp_handle);
- }
-
- currentPort = pf_moldudp_port;
-
- dissector_add_uint("udp.port", currentPort, moldudp_handle);
+ dissector_handle_t moldudp_handle;
+ moldudp_handle = create_dissector_handle(dissect_moldudp, proto_moldudp);
+ dissector_add_for_decode_as_with_preference("udp.port", moldudp_handle);
}
/*
diff --git a/epan/dissectors/packet-moldudp64.c b/epan/dissectors/packet-moldudp64.c
index 37b8e65cdb..efa85af34b 100644
--- a/epan/dissectors/packet-moldudp64.c
+++ b/epan/dissectors/packet-moldudp64.c
@@ -26,7 +26,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
#include <epan/decode_as.h>
@@ -51,9 +50,6 @@ static int hf_moldudp64_msgdata = -1;
#define MOLDUDP64_HEARTBEAT 0x0000
#define MOLDUDP64_ENDOFSESS 0xFFFF
-/* Global port pref */
-static guint pf_moldudp64_port = 0;
-
/* Initialize the subtree pointers */
static gint ett_moldudp64 = -1;
static gint ett_moldudp64_msgblk = -1;
@@ -220,8 +216,6 @@ dissect_moldudp64(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
void
proto_register_moldudp64(void)
{
- module_t *moldudp64_module;
-
/* Setup list of header fields */
static hf_register_info hf[] = {
@@ -287,15 +281,6 @@ proto_register_moldudp64(void)
expert_moldudp64 = expert_register_protocol(proto_moldudp64);
expert_register_field_array(expert_moldudp64, ei, array_length(ei));
- /* Register preferences module */
- moldudp64_module = prefs_register_protocol(proto_moldudp64,
- proto_reg_handoff_moldudp64);
-
- /* Register a sample port preference */
- prefs_register_uint_preference(moldudp64_module, "udp.port", "MoldUDP64 UDP Port",
- "MoldUDP64 UDP port to dissect on.",
- 10, &pf_moldudp64_port);
-
register_decode_as(&moldudp64_da);
}
@@ -303,24 +288,10 @@ proto_register_moldudp64(void)
void
proto_reg_handoff_moldudp64(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t moldudp64_handle;
- static int currentPort;
-
- if (!initialized) {
-
- moldudp64_handle = create_dissector_handle(dissect_moldudp64,
- proto_moldudp64);
- initialized = TRUE;
- } else {
-
- dissector_delete_uint("udp.port", currentPort, moldudp64_handle);
- }
-
- currentPort = pf_moldudp64_port;
-
- dissector_add_uint("udp.port", currentPort, moldudp64_handle);
+ dissector_handle_t moldudp64_handle;
+ moldudp64_handle = create_dissector_handle(dissect_moldudp64, proto_moldudp64);
+ dissector_add_for_decode_as_with_preference("udp.port", moldudp64_handle);
}
/*
diff --git a/epan/dissectors/packet-mp2t.c b/epan/dissectors/packet-mp2t.c
index c5011df8c1..aed4a51136 100644
--- a/epan/dissectors/packet-mp2t.c
+++ b/epan/dissectors/packet-mp2t.c
@@ -1553,7 +1553,7 @@ proto_reg_handoff_mp2t(void)
dissector_add_uint("rtp.pt", PT_MP2T, mp2t_handle);
dissector_add_for_decode_as_with_preference("tcp.port", mp2t_handle);
- dissector_add_for_decode_as("udp.port", mp2t_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", mp2t_handle);
heur_dissector_add("usb.bulk", heur_dissect_mp2t, "MP2T USB bulk endpoint", "mp2t_usb_bulk", proto_mp2t, HEURISTIC_ENABLE);
dissector_add_uint("wtap_encap", WTAP_ENCAP_MPEG_2_TS, mp2t_handle);
dissector_add_uint("l2tp.pw_type", L2TPv3_PROTOCOL_DOCSIS_DMPT, mp2t_handle);
diff --git a/epan/dissectors/packet-mpls-echo.c b/epan/dissectors/packet-mpls-echo.c
index 4c99b50c15..8960b7fd21 100644
--- a/epan/dissectors/packet-mpls-echo.c
+++ b/epan/dissectors/packet-mpls-echo.c
@@ -33,7 +33,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/sminmpec.h>
#include <epan/expert.h>
#include <epan/to_str.h>
@@ -242,8 +241,6 @@ static expert_field ei_mpls_echo_unknown_address_type = EI_INIT;
static expert_field ei_mpls_echo_incorrect_address_type = EI_INIT;
static expert_field ei_mpls_echo_malformed = EI_INIT;
-static guint global_mpls_echo_udp_port = UDP_PORT_MPLS_ECHO;
-
static const value_string mpls_echo_msgtype[] = {
{1, "MPLS Echo Request"},
{2, "MPLS Echo Reply"},
@@ -2542,42 +2539,24 @@ proto_register_mpls_echo(void)
{ &ei_mpls_echo_malformed, { "mpls_echo.malformed", PI_MALFORMED, PI_ERROR, "Malformed MPLS message", EXPFILL }},
};
- module_t *mpls_echo_module;
expert_module_t* expert_mpls_echo;
- proto_mpls_echo = proto_register_protocol("Multiprotocol Label Switching Echo",
- "MPLS Echo", "mpls-echo");
+ proto_mpls_echo = proto_register_protocol("Multiprotocol Label Switching Echo", "MPLS Echo", "mpls-echo");
proto_register_field_array(proto_mpls_echo, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_mpls_echo = expert_register_protocol(proto_mpls_echo);
expert_register_field_array(expert_mpls_echo, ei, array_length(ei));
-
- mpls_echo_module = prefs_register_protocol(proto_mpls_echo, proto_reg_handoff_mpls_echo);
- prefs_register_uint_preference(mpls_echo_module, "udp.port", "MPLS Echo UDP Port",
- "Set the UDP port for messages (if other"
- " than the default of 3503)",
- 10, &global_mpls_echo_udp_port);
}
void
proto_reg_handoff_mpls_echo(void)
{
- static gboolean mpls_echo_prefs_initialized = FALSE;
- static dissector_handle_t mpls_echo_handle;
- static guint mpls_echo_udp_port;
-
- if (!mpls_echo_prefs_initialized) {
- mpls_echo_handle = create_dissector_handle(dissect_mpls_echo,
- proto_mpls_echo);
- mpls_echo_prefs_initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", mpls_echo_udp_port, mpls_echo_handle);
- }
+ dissector_handle_t mpls_echo_handle;
- mpls_echo_udp_port = global_mpls_echo_udp_port;
- dissector_add_uint("udp.port", global_mpls_echo_udp_port, mpls_echo_handle);
+ mpls_echo_handle = create_dissector_handle(dissect_mpls_echo, proto_mpls_echo);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_MPLS_ECHO, mpls_echo_handle);
dissector_add_uint("pwach.channel_type", ACH_TYPE_ONDEMAND_CV, mpls_echo_handle);
}
diff --git a/epan/dissectors/packet-mpls.c b/epan/dissectors/packet-mpls.c
index 519d617d04..91b9dc86d1 100644
--- a/epan/dissectors/packet-mpls.c
+++ b/epan/dissectors/packet-mpls.c
@@ -645,7 +645,7 @@ proto_reg_handoff_mpls(void)
dissector_add_for_decode_as("pwach.channel_type", mpls_handle);
dissector_add_uint("sflow_245.header_protocol", SFLOW_245_HEADER_MPLS, mpls_handle);
dissector_add_uint("l2tp.pw_type", L2TPv3_PROTOCOL_MPLS, mpls_handle);
- dissector_add_uint("udp.port", UDP_PORT_MPLS_OVER_UDP, mpls_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_MPLS_OVER_UDP, mpls_handle);
dissector_add_uint("vxlan.next_proto", VXLAN_MPLS, mpls_handle);
mpls_pwcw_handle = create_dissector_handle( dissect_pw_mcw, proto_pw_mcw );
diff --git a/epan/dissectors/packet-mqtt-sn.c b/epan/dissectors/packet-mqtt-sn.c
index 8ed4725506..b01c721e9a 100644
--- a/epan/dissectors/packet-mqtt-sn.c
+++ b/epan/dissectors/packet-mqtt-sn.c
@@ -697,7 +697,7 @@ void proto_register_mqttsn(void)
/* Dissector Handoff */
void proto_reg_handoff_mqttsn(void)
{
- dissector_add_for_decode_as("udp.port", mqttsn_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", mqttsn_handle);
}
/*
diff --git a/epan/dissectors/packet-ms-mms.c b/epan/dissectors/packet-ms-mms.c
index 626e8d259a..c21361ba01 100644
--- a/epan/dissectors/packet-ms-mms.c
+++ b/epan/dissectors/packet-ms-mms.c
@@ -1882,7 +1882,7 @@ void proto_reg_handoff_msmms_command(void)
/* Control commands using TCP port */
dissector_add_uint_with_preference("tcp.port", MSMMS_PORT, msmms_handle);
/* Data command(s) using UDP port */
- dissector_add_uint("udp.port", MSMMS_PORT, msmms_handle);
+ dissector_add_uint_with_preference("udp.port", MSMMS_PORT, msmms_handle);
}
/*
diff --git a/epan/dissectors/packet-msproxy.c b/epan/dissectors/packet-msproxy.c
index 1dfd049548..ba8ee4a76e 100644
--- a/epan/dissectors/packet-msproxy.c
+++ b/epan/dissectors/packet-msproxy.c
@@ -1268,9 +1268,8 @@ proto_reg_handoff_msproxy(void) {
dissector_handle_t msproxy_handle;
- msproxy_handle = create_dissector_handle(dissect_msproxy,
- proto_msproxy);
- dissector_add_uint("udp.port", UDP_PORT_MSPROXY, msproxy_handle);
+ msproxy_handle = create_dissector_handle(dissect_msproxy, proto_msproxy);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_MSPROXY, msproxy_handle);
}
/*
diff --git a/epan/dissectors/packet-nat-pmp.c b/epan/dissectors/packet-nat-pmp.c
index cf5530129e..5c4f597e62 100644
--- a/epan/dissectors/packet-nat-pmp.c
+++ b/epan/dissectors/packet-nat-pmp.c
@@ -44,8 +44,7 @@
void proto_register_nat_pmp(void);
void proto_reg_handoff_nat_pmp(void);
-#define PCP_STATUS_PORT 5350
-#define PCP_PORT 5351
+#define PCP_PORT_RANGE "5350-5351"
/* NAT Port opcodes */
#define EXTERNAL_ADDRESS_REQUEST 0
@@ -825,17 +824,15 @@ void proto_reg_handoff_nat_pmp(void)
dissector_handle_t nat_pmp_handle;
dissector_handle_t pcp_handle;
-
pcp_handle = create_dissector_handle(dissect_portcontrol, proto_pcp);
- dissector_add_uint("udp.port", PCP_STATUS_PORT, pcp_handle);
- dissector_add_uint("udp.port", PCP_PORT, pcp_handle);
+ dissector_add_uint_range_with_preference("udp.port", PCP_PORT_RANGE, pcp_handle);
nat_pmp_handle = create_dissector_handle(dissect_nat_pmp, proto_nat_pmp);
/* Port Control Protocol (packet-portcontrol.c) shares the same UDP ports as
NAT-PMP, but it backwards compatible. However, still let NAT-PMP
use Decode As
*/
- dissector_add_for_decode_as("udp.port", nat_pmp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", nat_pmp_handle);
}
/*
diff --git a/epan/dissectors/packet-nb_rtpmux.c b/epan/dissectors/packet-nb_rtpmux.c
index a378f4a6fd..a68975f532 100644
--- a/epan/dissectors/packet-nb_rtpmux.c
+++ b/epan/dissectors/packet-nb_rtpmux.c
@@ -24,7 +24,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_register_nb_rtpmux(void);
void proto_reg_handoff_nb_rtpmux(void);
@@ -47,13 +46,6 @@ static gint ett_nb_rtpmux_cmp_rtp_hdr = -1;
static dissector_handle_t rtpdissector;
-/* There appears not to be a standard port or range of ports that can be used here. */
-/* For 3G, could potentially get it from HNB Register Accept... */
-#define UDP_PORT_NB_RTPMUX_RANGE "0"
-
-/* Preference settings */
-static range_t *global_nb_rtpmux_port_range;
-
static int
dissect_nb_rtpmux(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
@@ -248,57 +240,22 @@ proto_register_nb_rtpmux(void)
&ett_nb_rtpmux_cmp_rtp_hdr
};
- module_t *nb_rtpmux_module;
-
/* Register the protocol name and description */
- proto_nb_rtpmux = proto_register_protocol("3GPP Nb Interface RTP Multiplex",
- "NB_RTPMUX", "nb_rtpmux");
+ proto_nb_rtpmux = proto_register_protocol("3GPP Nb Interface RTP Multiplex", "NB_RTPMUX", "nb_rtpmux");
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_nb_rtpmux, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- /* Set default UDP ports */
- range_convert_str(&global_nb_rtpmux_port_range, UDP_PORT_NB_RTPMUX_RANGE, MAX_UDP_PORT);
-
- nb_rtpmux_module = prefs_register_protocol(proto_nb_rtpmux, proto_reg_handoff_nb_rtpmux);
- prefs_register_range_preference(nb_rtpmux_module, "udp_ports",
- "NB RTPMUX server port numbers",
- "UDP port numbers used for NB RTPMUX traffic "
- "(default " UDP_PORT_NB_RTPMUX_RANGE ")",
- &global_nb_rtpmux_port_range, MAX_UDP_PORT);
}
void
proto_reg_handoff_nb_rtpmux(void)
{
- static range_t *nb_rtpmux_port_range;
- static gboolean nb_rtpmux_initialized = FALSE;
dissector_handle_t nb_rtpmux_handle;
- /* Use create_dissector_handle() to indicate that dissect_nb_rtpmux()
- * returns the number of bytes it dissected (or 0 if it thinks the packet
- * does not belong to PROTONAME).
- */
- nb_rtpmux_handle = create_dissector_handle(dissect_nb_rtpmux,
- proto_nb_rtpmux);
-
- if (!nb_rtpmux_initialized)
- {
- nb_rtpmux_initialized = TRUE;
- }
- else {
- /* Remove and delete previous UDP port range */
- dissector_delete_uint_range("udp.port", nb_rtpmux_port_range, nb_rtpmux_handle);
- g_free(nb_rtpmux_port_range);
- }
-
- /* Set range of ports from preference to use this dissector */
- nb_rtpmux_port_range = range_copy(global_nb_rtpmux_port_range);
- dissector_add_uint_range("udp.port", nb_rtpmux_port_range, nb_rtpmux_handle);
+ nb_rtpmux_handle = create_dissector_handle(dissect_nb_rtpmux, proto_nb_rtpmux);
+ dissector_add_uint_range_with_preference("udp.port", "", nb_rtpmux_handle);
- /* Allow 'decode-as' for UDP ports */
- dissector_add_for_decode_as("udp.port", nb_rtpmux_handle);
rtpdissector = find_dissector_add_dependency("rtp", proto_nb_rtpmux);
}
diff --git a/epan/dissectors/packet-nbt.c b/epan/dissectors/packet-nbt.c
index cceaaee562..d4df6f8a76 100644
--- a/epan/dissectors/packet-nbt.c
+++ b/epan/dissectors/packet-nbt.c
@@ -2086,10 +2086,10 @@ proto_reg_handoff_nbt(void)
dissector_handle_t nbns_handle, nbdgm_handle, nbss_handle;
nbns_handle = create_dissector_handle(dissect_nbns, proto_nbns);
- dissector_add_uint("udp.port", UDP_PORT_NBNS, nbns_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_NBNS, nbns_handle);
nbdgm_handle = create_dissector_handle(dissect_nbdgm, proto_nbdgm);
- dissector_add_uint("udp.port", UDP_PORT_NBDGM, nbdgm_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_NBDGM, nbdgm_handle);
nbss_handle = create_dissector_handle(dissect_nbss, proto_nbss);
dissector_add_uint_range_with_preference("tcp.port", TCP_NBSS_PORT_RANGE, nbss_handle);
diff --git a/epan/dissectors/packet-netdump.c b/epan/dissectors/packet-netdump.c
index 5dec2cc4fd..1246c9b7dd 100644
--- a/epan/dissectors/packet-netdump.c
+++ b/epan/dissectors/packet-netdump.c
@@ -25,7 +25,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_register_netdump(void);
void proto_reg_handoff_netdump(void);
@@ -42,9 +41,6 @@ static int hf_netdump_code = -1;
static int hf_netdump_info = -1;
static int hf_netdump_version = -1;
-/* Global sample port pref */
-static guint gPORT_PREF = 0;
-
/* Initialize the subtree pointers */
static gint ett_netdump = -1;
@@ -114,8 +110,6 @@ dissect_netdump(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
void proto_register_netdump(void)
{
- module_t *netdump_module;
-
/* Setup protocol subtree array */
static gint *ett[] = {
&ett_netdump
@@ -178,45 +172,18 @@ void proto_register_netdump(void)
}
};
- proto_netdump = proto_register_protocol (
- "Netdump Protocol", /* name */
- "Netdump", /* short name */
- "netdump" /* abbrev */
- );
+ proto_netdump = proto_register_protocol ("Netdump Protocol", "Netdump", "netdump" );
proto_register_field_array(proto_netdump, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- netdump_module = prefs_register_protocol(proto_netdump,
- proto_reg_handoff_netdump);
-
- /* Register a sample port preference */
- prefs_register_uint_preference(netdump_module, "udp.port",
- "Netdump UDP port",
- "port if other than the default",
- 10, &gPORT_PREF);
}
void proto_reg_handoff_netdump(void)
{
- static gboolean initalized = FALSE;
- static dissector_handle_t netdump_handle;
- static int CurrentPort;
-
- if (!initalized) {
- netdump_handle = create_dissector_handle(dissect_netdump,
- proto_netdump);
-
- dissector_add_for_decode_as("udp.port", netdump_handle);
- initalized = TRUE;
- } else {
- if (CurrentPort != 0)
- dissector_delete_uint("udp.port", CurrentPort, netdump_handle);
- }
+ dissector_handle_t netdump_handle;
- CurrentPort = gPORT_PREF;
+ netdump_handle = create_dissector_handle(dissect_netdump, proto_netdump);
- if (CurrentPort != 0)
- dissector_add_uint("udp.port", CurrentPort, netdump_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", netdump_handle);
}
/*
diff --git a/epan/dissectors/packet-newmail.c b/epan/dissectors/packet-newmail.c
index 80cbc84d5d..0cf16a599a 100644
--- a/epan/dissectors/packet-newmail.c
+++ b/epan/dissectors/packet-newmail.c
@@ -24,14 +24,10 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_register_newmail(void);
void proto_reg_handoff_newmail(void);
-/* Variables for preferences */
-static guint preference_default_port = 0;
-
/* Initialize the protocol and registered fields */
static int proto_newmail = -1;
static int hf_newmail_payload = -1;
@@ -83,50 +79,21 @@ proto_register_newmail(void)
&ett_newmail,
};
- module_t *newmail_module;
-
- proto_newmail = proto_register_protocol("Microsoft Exchange New Mail Notification",
- "NEWMAIL", "newmail");
+ proto_newmail = proto_register_protocol("Microsoft Exchange New Mail Notification", "NEWMAIL", "newmail");
proto_register_field_array(proto_newmail, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
register_dissector("newmail", dissect_newmail, proto_newmail);
-
- newmail_module = prefs_register_protocol(proto_newmail,
- proto_reg_handoff_newmail);
-
- prefs_register_uint_preference(newmail_module,
- "default_port",
- "Default UDP port (optional)",
- "Always dissect this port's traffic as newmail notifications."
- " Additional ports will be dynamically registered as they"
- " are seen in MAPI register push notification packets.",
- 10, &preference_default_port);
-
}
void
proto_reg_handoff_newmail(void)
{
- static gboolean inited = FALSE;
- static dissector_handle_t newmail_handle;
- static guint preference_default_port_last;
-
- if(!inited) {
- newmail_handle = find_dissector("newmail");
- dissector_add_for_decode_as("udp.port", newmail_handle);
- inited = TRUE;
- } else {
- if (preference_default_port_last != 0) {
- dissector_delete_uint("udp.port", preference_default_port_last, newmail_handle);
- }
- }
+ dissector_handle_t newmail_handle;
- if(preference_default_port != 0) {
- dissector_add_uint("udp.port", preference_default_port, newmail_handle);
- }
- preference_default_port_last = preference_default_port;
+ newmail_handle = find_dissector("newmail");
+ dissector_add_for_decode_as_with_preference("udp.port", newmail_handle);
}
/*
diff --git a/epan/dissectors/packet-nordic_ble.c b/epan/dissectors/packet-nordic_ble.c
index 596cc18117..902bb2df58 100644
--- a/epan/dissectors/packet-nordic_ble.c
+++ b/epan/dissectors/packet-nordic_ble.c
@@ -706,24 +706,19 @@ proto_register_nordic_ble(void)
void
proto_reg_handoff_nordic_ble(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t nordic_ble_handle;
+ dissector_handle_t nordic_ble_handle;
/*static int currentPort;*/
- if (!initialized) {
- nordic_ble_handle = create_dissector_handle(dissect_nordic_ble, proto_nordic_ble);
+ nordic_ble_handle = create_dissector_handle(dissect_nordic_ble, proto_nordic_ble);
- btle_dissector_handle = find_dissector("btle");
- debug_handle = find_dissector("nordic_debug");
- initialized = TRUE;
- }
+ btle_dissector_handle = find_dissector("btle");
+ debug_handle = find_dissector("nordic_debug");
#ifdef TRANSPARENT
- dissector_add_uint("udp.port", udp_port, btle_dissector_handle);
+ dissector_add_uint_with_preference("udp.port", udp_port, btle_dissector_handle);
#else
- /*dissector_add_uint("udp.port", udp_port, nordic_ble_handle);*/
/*dissector_add_uint("wtap_encap", user_dlt_num, nordic_ble_handle);*/
- dissector_add_for_decode_as("udp.port", nordic_ble_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", nordic_ble_handle);
#endif
}
diff --git a/epan/dissectors/packet-nsip.c b/epan/dissectors/packet-nsip.c
index 93b9ce68a5..c43386e478 100644
--- a/epan/dissectors/packet-nsip.c
+++ b/epan/dissectors/packet-nsip.c
@@ -37,8 +37,7 @@ void proto_reg_handoff_nsip(void);
#define NSIP_DEBUG 0
#define NSIP_SEP ", " /* Separator string */
-static range_t *global_nsip_udp_port_range;
-#define DEFAULT_NSIP_PORT_RANGE "2157,19999"
+#define DEFAULT_NSIP_PORT_RANGE "2157,19999" /* Not IANA registered */
/* Initialize the protocol and registered fields */
static int proto_nsip = -1;
@@ -1140,8 +1139,7 @@ proto_register_nsip(void)
module_t *nsip_module;
/* Register the protocol name and description */
- proto_nsip = proto_register_protocol("GPRS Network Service",
- "GPRS-NS", "gprs-ns");
+ proto_nsip = proto_register_protocol("GPRS Network Service", "GPRS-NS", "gprs-ns");
/* Required function calls to register the header fields and
subtrees used */
@@ -1150,36 +1148,19 @@ proto_register_nsip(void)
register_dissector("gprs_ns", dissect_nsip, proto_nsip);
- /* Set default UDP ports */
- range_convert_str(&global_nsip_udp_port_range, DEFAULT_NSIP_PORT_RANGE, MAX_UDP_PORT);
-
/* Register configuration options */
- nsip_module = prefs_register_protocol(proto_nsip, proto_reg_handoff_nsip);
+ nsip_module = prefs_register_protocol(proto_nsip, NULL);
prefs_register_obsolete_preference(nsip_module, "udp.port1");
prefs_register_obsolete_preference(nsip_module, "udp.port2");
- prefs_register_range_preference(nsip_module, "udp.ports", "GPRS-NS UDP ports",
- "UDP ports to be decoded as GPRS-NS (default: "
- DEFAULT_NSIP_PORT_RANGE ")",
- &global_nsip_udp_port_range, MAX_UDP_PORT);
}
void
proto_reg_handoff_nsip(void) {
- static gboolean nsip_prefs_initialized = FALSE;
- static range_t *nsip_udp_port_range;
-
- if (!nsip_prefs_initialized) {
- 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);
- g_free(nsip_udp_port_range);
- }
- nsip_udp_port_range = range_copy(global_nsip_udp_port_range);
+ nsip_handle = find_dissector_add_dependency("gprs_ns", proto_nsip);
+ bssgp_handle = find_dissector_add_dependency("bssgp", proto_nsip);
- dissector_add_uint_range("udp.port", nsip_udp_port_range, nsip_handle);
+ dissector_add_uint_range_with_preference("udp.port", DEFAULT_NSIP_PORT_RANGE, nsip_handle);
dissector_add_uint("atm.aal5.type", TRAF_GPRS_NS, nsip_handle);
}
diff --git a/epan/dissectors/packet-nt-tpcp.c b/epan/dissectors/packet-nt-tpcp.c
index 8b2f1940f5..d3567b4813 100644
--- a/epan/dissectors/packet-nt-tpcp.c
+++ b/epan/dissectors/packet-nt-tpcp.c
@@ -30,7 +30,7 @@
void proto_register_tpcp(void);
void proto_reg_handoff_tpcp(void);
-#define UDP_PORT_TPCP 3121
+#define UDP_PORT_TPCP 3121 /* Not IANA registered */
/* TPCP version1/2 PDU format */
typedef struct _tpcppdu_t {
@@ -232,8 +232,7 @@ proto_register_tpcp(void)
&ett_tpcp_flags,
};
- proto_tpcp = proto_register_protocol("Alteon - Transparent Proxy Cache Protocol",
- "TPCP", "tpcp");
+ proto_tpcp = proto_register_protocol("Alteon - Transparent Proxy Cache Protocol", "TPCP", "tpcp");
proto_register_field_array(proto_tpcp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
@@ -244,7 +243,7 @@ proto_reg_handoff_tpcp(void)
dissector_handle_t tpcp_handle;
tpcp_handle = create_dissector_handle(dissect_tpcp, proto_tpcp);
- dissector_add_uint("udp.port", UDP_PORT_TPCP, tpcp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_TPCP, tpcp_handle);
}
/*
diff --git a/epan/dissectors/packet-ntp.c b/epan/dissectors/packet-ntp.c
index b073ae7872..cfd2cf3e3e 100644
--- a/epan/dissectors/packet-ntp.c
+++ b/epan/dissectors/packet-ntp.c
@@ -1704,7 +1704,7 @@ proto_reg_handoff_ntp(void)
dissector_handle_t ntp_handle;
ntp_handle = create_dissector_handle(dissect_ntp, proto_ntp);
- dissector_add_uint("udp.port", UDP_PORT_NTP, ntp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_NTP, ntp_handle);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_NTP, ntp_handle);
}
diff --git a/epan/dissectors/packet-nwmtp.c b/epan/dissectors/packet-nwmtp.c
index c42386ca27..5df4f0196d 100644
--- a/epan/dissectors/packet-nwmtp.c
+++ b/epan/dissectors/packet-nwmtp.c
@@ -163,7 +163,7 @@ void proto_register_mwmtp(void)
void proto_reg_handoff_nwmtp(void)
{
- dissector_add_for_decode_as("udp.port", nwmtp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", nwmtp_handle);
mtp_handle = find_dissector_add_dependency("mtp3", proto_nwmtp);
}
diff --git a/epan/dissectors/packet-obex.c b/epan/dissectors/packet-obex.c
index 0c75cdeb73..4b85d7b280 100644
--- a/epan/dissectors/packet-obex.c
+++ b/epan/dissectors/packet-obex.c
@@ -3960,7 +3960,7 @@ proto_reg_handoff_obex(void)
dissector_add_for_decode_as("usb.device", obex_handle);
dissector_add_for_decode_as("usb.protocol", obex_handle);
dissector_add_for_decode_as_with_preference("tcp.port", obex_handle);
- dissector_add_for_decode_as("udp.port", obex_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", obex_handle);
}
/*
diff --git a/epan/dissectors/packet-oicq.c b/epan/dissectors/packet-oicq.c
index 4063038209..8e33dbe0e0 100644
--- a/epan/dissectors/packet-oicq.c
+++ b/epan/dissectors/packet-oicq.c
@@ -48,7 +48,7 @@ void proto_reg_handoff_oicq(void);
*/
/* By default, but can be completely different */
-#define UDP_PORT_OICQ 8000
+#define UDP_PORT_OICQ 8000 /* Not IANA regisrered */
static int proto_oicq = -1;
@@ -185,8 +185,7 @@ proto_register_oicq(void)
&ett_oicq,
};
- proto_oicq = proto_register_protocol("OICQ - IM software, popular in China", "OICQ",
- "oicq");
+ proto_oicq = proto_register_protocol("OICQ - IM software, popular in China", "OICQ", "oicq");
proto_register_field_array(proto_oicq, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
@@ -197,7 +196,7 @@ proto_reg_handoff_oicq(void)
dissector_handle_t oicq_handle;
oicq_handle = create_dissector_handle(dissect_oicq, proto_oicq);
- dissector_add_uint("udp.port", UDP_PORT_OICQ, oicq_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_OICQ, oicq_handle);
}
/*
diff --git a/epan/dissectors/packet-olsr.c b/epan/dissectors/packet-olsr.c
index 1a9cd7bedb..a338411f92 100644
--- a/epan/dissectors/packet-olsr.c
+++ b/epan/dissectors/packet-olsr.c
@@ -995,7 +995,7 @@ void proto_reg_handoff_olsr(void) {
dissector_handle_t olsr_handle;
olsr_handle = create_dissector_handle(dissect_olsr, proto_olsr);
- dissector_add_uint("udp.port", UDP_PORT_OLSR, olsr_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_OLSR, olsr_handle);
}
/*
diff --git a/epan/dissectors/packet-omron-fins.c b/epan/dissectors/packet-omron-fins.c
index 6e8dfcf9c5..846b307159 100644
--- a/epan/dissectors/packet-omron-fins.c
+++ b/epan/dissectors/packet-omron-fins.c
@@ -35,7 +35,7 @@
void proto_register_omron_fins(void);
void proto_reg_handoff_omron_fins(void);
-#define OMRON_FINS_UDP_PORT 9600
+#define OMRON_FINS_UDP_PORT 9600 /* Not IANA registered */
static int proto_omron_fins = -1;
static gint ett_omron = -1;
@@ -3969,7 +3969,7 @@ proto_reg_handoff_omron_fins(void)
dissector_handle_t omron_fins_handle;
omron_fins_handle = create_dissector_handle(dissect_omron_fins, proto_omron_fins);
- dissector_add_uint("udp.port", OMRON_FINS_UDP_PORT, omron_fins_handle);
+ dissector_add_uint_with_preference("udp.port", OMRON_FINS_UDP_PORT, omron_fins_handle);
}
/*
diff --git a/epan/dissectors/packet-opensafety.c b/epan/dissectors/packet-opensafety.c
index 9a85c8f01d..6921c61acd 100644
--- a/epan/dissectors/packet-opensafety.c
+++ b/epan/dissectors/packet-opensafety.c
@@ -2439,6 +2439,7 @@ apply_prefs ( void )
opensafety_udp_siii_port_number = global_network_udp_port_sercosiii;
/* Default UDP only based dissector, will hand traffic to SIII dissector if needed */
+ /* Preference names to specific to use "auto" preference */
dissector_add_uint("udp.port", opensafety_udp_port_number, opensafety_udpdata_handle);
dissector_add_uint("udp.port", opensafety_udp_siii_port_number, opensafety_udpdata_handle);
diff --git a/epan/dissectors/packet-openvpn.c b/epan/dissectors/packet-openvpn.c
index 2d40d47085..df7af4982e 100644
--- a/epan/dissectors/packet-openvpn.c
+++ b/epan/dissectors/packet-openvpn.c
@@ -90,7 +90,6 @@ static dissector_handle_t ssl_handle;
static gboolean pref_long_format = TRUE;
static gboolean pref_tls_auth = FALSE;
static gboolean pref_tls_auth_override = FALSE;
-static guint pref_udp_port = OPENVPN_PORT;
static guint tls_auth_hmac_size = 20; /* Default SHA-1 160 Bits */
static const value_string openvpn_message_types[] =
@@ -615,13 +614,8 @@ proto_register_openvpn(void)
register_init_routine(&openvpn_reassemble_init);
register_cleanup_routine(&openvpn_reassemble_cleanup);
- openvpn_module = prefs_register_protocol(proto_openvpn, proto_reg_handoff_openvpn);
+ openvpn_module = prefs_register_protocol(proto_openvpn, NULL);
- prefs_register_uint_preference(openvpn_module,
- "udp.port",
- "OpenVPN UDP Port",
- "UDP Port of the OpenVPN tunnel",
- 10, &pref_udp_port);
prefs_register_bool_preference(openvpn_module,
"tls_auth_detection_override",
"override tls-auth detection",
@@ -655,22 +649,9 @@ proto_register_openvpn(void)
void
proto_reg_handoff_openvpn(void)
{
- static guint udp_port;
- static gboolean initialized = FALSE;
-
- if (! initialized) {
- ssl_handle = find_dissector_add_dependency("ssl", proto_openvpn);
- dissector_add_uint_with_preference("tcp.port", OPENVPN_PORT, openvpn_tcp_handle);
- initialized = TRUE;
- } else {
- if (udp_port > 0)
- dissector_delete_uint("udp.port", udp_port, openvpn_udp_handle);
- }
-
- udp_port = pref_udp_port;
-
- if (udp_port > 0)
- dissector_add_uint("udp.port", udp_port, openvpn_udp_handle);
+ ssl_handle = find_dissector_add_dependency("ssl", proto_openvpn);
+ dissector_add_uint_with_preference("tcp.port", OPENVPN_PORT, openvpn_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", OPENVPN_PORT, openvpn_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-p_mul.c b/epan/dissectors/packet-p_mul.c
index 3f83ce2867..84383625ec 100644
--- a/epan/dissectors/packet-p_mul.c
+++ b/epan/dissectors/packet-p_mul.c
@@ -211,7 +211,6 @@ static GHashTable *p_mul_id_hash_table = NULL;
static GList *p_mul_package_data_list = NULL;
/* User definable values to use for dissection */
-static range_t *global_p_mul_port_range;
static gboolean p_mul_reassemble = TRUE;
static gint decode_option = DECODE_NONE;
static gboolean use_relative_msgid = TRUE;
@@ -1592,23 +1591,14 @@ void proto_register_p_mul (void)
register_init_routine (&p_mul_init_routine);
register_cleanup_routine (&p_mul_cleanup_routine);
- /* Set default UDP ports */
- range_convert_str (&global_p_mul_port_range, DEFAULT_P_MUL_PORT_RANGE,
- MAX_UDP_PORT);
-
/* Register our configuration options */
- p_mul_module = prefs_register_protocol (proto_p_mul,
- proto_reg_handoff_p_mul);
+ p_mul_module = prefs_register_protocol (proto_p_mul, NULL);
prefs_register_obsolete_preference (p_mul_module, "tport");
prefs_register_obsolete_preference (p_mul_module, "rport");
prefs_register_obsolete_preference (p_mul_module, "dport");
prefs_register_obsolete_preference (p_mul_module, "aport");
- prefs_register_range_preference (p_mul_module, "udp_ports",
- "P_Mul port numbers",
- "Port numbers used for P_Mul traffic",
- &global_p_mul_port_range, MAX_UDP_PORT);
prefs_register_bool_preference (p_mul_module, "reassemble",
"Reassemble fragmented P_Mul packets",
"Reassemble fragmented P_Mul packets",
@@ -1630,21 +1620,8 @@ void proto_register_p_mul (void)
void proto_reg_handoff_p_mul (void)
{
- static gboolean p_mul_prefs_initialized = FALSE;
- static range_t *p_mul_port_range;
-
- if (!p_mul_prefs_initialized) {
- p_mul_prefs_initialized = TRUE;
- dissector_add_uint ("s5066sis.ctl.appid", S5066_CLIENT_S4406_ANNEX_E_TMI_1_P_MUL, p_mul_handle);
- } else {
- dissector_delete_uint_range ("udp.port", p_mul_port_range, p_mul_handle);
- g_free (p_mul_port_range);
- }
-
- /* Save port number for later deletion */
- p_mul_port_range = range_copy (global_p_mul_port_range);
-
- dissector_add_uint_range ("udp.port", p_mul_port_range, p_mul_handle);
+ dissector_add_uint ("s5066sis.ctl.appid", S5066_CLIENT_S4406_ANNEX_E_TMI_1_P_MUL, p_mul_handle);
+ dissector_add_uint_range_with_preference("udp.port", DEFAULT_P_MUL_PORT_RANGE, p_mul_handle);
}
/*
diff --git a/epan/dissectors/packet-packetbb.c b/epan/dissectors/packet-packetbb.c
index 6de5857243..2adb62b707 100644
--- a/epan/dissectors/packet-packetbb.c
+++ b/epan/dissectors/packet-packetbb.c
@@ -27,7 +27,6 @@
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
void proto_reg_handoff_packetbb(void);
@@ -100,7 +99,8 @@ const value_string addrtlv_type_vals[] = {
{ 0, NULL }};
static int proto_packetbb = -1;
-static guint global_packetbb_port = 269;
+
+#define PACKETBB_PORT 269 /* Not IANA registered */
static int hf_packetbb_header = -1;
static int hf_packetbb_version = -1;
@@ -789,20 +789,10 @@ static int dissect_packetbb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
void proto_reg_handoff_packetbb(void) {
- static gboolean packetbb_prefs_initialized = FALSE;
- static dissector_handle_t packetbb_handle;
- static guint packetbb_udp_port;
+ dissector_handle_t packetbb_handle;
- if (!packetbb_prefs_initialized) {
- packetbb_handle = create_dissector_handle(dissect_packetbb, proto_packetbb);
- packetbb_prefs_initialized = TRUE;
- }
- else {
- dissector_delete_uint("udp.port", global_packetbb_port, packetbb_handle);
- }
-
- packetbb_udp_port = global_packetbb_port;
- dissector_add_uint("udp.port", packetbb_udp_port, packetbb_handle);
+ packetbb_handle = create_dissector_handle(dissect_packetbb, proto_packetbb);
+ dissector_add_uint_with_preference("udp.port", PACKETBB_PORT, packetbb_handle);
}
void proto_register_packetbb(void) {
@@ -1121,7 +1111,6 @@ void proto_register_packetbb(void) {
};
static gint *ett[array_length(ett_base) + 2*PACKETBB_MSG_TLV_LENGTH];
- module_t *packetbb_module;
expert_module_t* expert_packetbb;
int i,j;
@@ -1136,20 +1125,13 @@ void proto_register_packetbb(void) {
}
/* name, short name, abbrev */
- proto_packetbb = proto_register_protocol("PacketBB Protocol", "PacketBB",
- "packetbb");
+ proto_packetbb = proto_register_protocol("PacketBB Protocol", "PacketBB", "packetbb");
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_packetbb, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_packetbb = expert_register_protocol(proto_packetbb);
expert_register_field_array(expert_packetbb, ei, array_length(ei));
-
- /* configurable packetbb port */
- packetbb_module = prefs_register_protocol(proto_packetbb, proto_reg_handoff_packetbb);
- prefs_register_uint_preference(packetbb_module, "communication_port",
- "UDP port for packetbb", "UDP communication port for packetbb PDUs",
- 10, &global_packetbb_port);
}
/*
diff --git a/epan/dissectors/packet-pana.c b/epan/dissectors/packet-pana.c
index 6be6c215e8..299230737f 100644
--- a/epan/dissectors/packet-pana.c
+++ b/epan/dissectors/packet-pana.c
@@ -888,7 +888,7 @@ proto_reg_handoff_pana(void)
heur_dissector_add("udp", dissect_pana, "PANA over UDP", "pana_udp", proto_pana, HEURISTIC_ENABLE);
pana_handle = create_dissector_handle(dissect_pana, proto_pana);
- dissector_add_for_decode_as("udp.port", pana_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", pana_handle);
eap_handle = find_dissector_add_dependency("eap", proto_pana);
diff --git a/epan/dissectors/packet-pathport.c b/epan/dissectors/packet-pathport.c
index 23b57eca31..fa57b4debc 100644
--- a/epan/dissectors/packet-pathport.c
+++ b/epan/dissectors/packet-pathport.c
@@ -26,7 +26,7 @@
#include <epan/to_str.h>
-#define PATHPORT_UDP_PORT 3792
+#define PATHPORT_UDP_PORT 3792 /* Not IANA registered */
#define PATHPORT_MIN_LENGTH 24 /* HEADER + 1 PDU */
#define PATHPORT_PROTO_MAGIC 0xed01
@@ -696,7 +696,7 @@ proto_reg_handoff_pathport(void)
pathport_handle = create_dissector_handle(dissect_pathport, proto_pathport);
heur_dissector_add("udp", dissect_pathport_heur, "Pathport over UDP", "pathport_udp", proto_pathport, HEURISTIC_ENABLE);
- dissector_add_uint("udp.port", PATHPORT_UDP_PORT, pathport_handle);
+ dissector_add_uint_with_preference("udp.port", PATHPORT_UDP_PORT, pathport_handle);
}
/*
diff --git a/epan/dissectors/packet-pcli.c b/epan/dissectors/packet-pcli.c
index 3f2611bbad..4f21ac3f71 100644
--- a/epan/dissectors/packet-pcli.c
+++ b/epan/dissectors/packet-pcli.c
@@ -259,7 +259,7 @@ proto_register_pcli(void)
proto_register_field_array(proto_pcli,hf,array_length(hf));
proto_register_subtree_array(ett,array_length(ett));
- pcli_module = prefs_register_protocol(proto_pcli, proto_reg_handoff_pcli);
+ pcli_module = prefs_register_protocol(proto_pcli, NULL);
prefs_register_obsolete_preference(pcli_module, "udp_port");
prefs_register_bool_preference(pcli_module, "summary_in_tree",
@@ -279,21 +279,17 @@ proto_register_pcli(void)
void
proto_reg_handoff_pcli(void)
{
- static gboolean pcli_initialized = FALSE;
- static dissector_handle_t pcli_handle, pcli_handle8, pcli_handle12, pcli_handle20;
-
- if(!pcli_initialized) {
- pcli_handle = create_dissector_handle(dissect_pcli, proto_pcli);
- pcli_handle8 = create_dissector_handle(dissect_pcli8, proto_pcli8);
- pcli_handle12 = create_dissector_handle(dissect_pcli12, proto_pcli12);
- pcli_handle20 = create_dissector_handle(dissect_pcli20, proto_pcli20);
- pcli_initialized = TRUE;
- }
+ dissector_handle_t pcli_handle, pcli_handle8, pcli_handle12, pcli_handle20;
+
+ pcli_handle = create_dissector_handle(dissect_pcli, proto_pcli);
+ pcli_handle8 = create_dissector_handle(dissect_pcli8, proto_pcli8);
+ pcli_handle12 = create_dissector_handle(dissect_pcli12, proto_pcli12);
+ pcli_handle20 = create_dissector_handle(dissect_pcli20, proto_pcli20);
- dissector_add_for_decode_as("udp.port", pcli_handle);
- dissector_add_for_decode_as("udp.port", pcli_handle8);
- dissector_add_for_decode_as("udp.port", pcli_handle12);
- dissector_add_for_decode_as("udp.port", pcli_handle20);
+ dissector_add_for_decode_as_with_preference("udp.port", pcli_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", pcli_handle8);
+ dissector_add_for_decode_as_with_preference("udp.port", pcli_handle12);
+ dissector_add_for_decode_as_with_preference("udp.port", pcli_handle20);
}
/*
diff --git a/epan/dissectors/packet-peekremote.c b/epan/dissectors/packet-peekremote.c
index d497582b62..eb0dc63047 100644
--- a/epan/dissectors/packet-peekremote.c
+++ b/epan/dissectors/packet-peekremote.c
@@ -61,6 +61,8 @@
#define IS_ARUBA 0x01
+#define PEEKREMOTE_PORT 5000 /* Not IANA registered */
+
void proto_register_peekremote(void);
void proto_reg_handoff_peekremote(void);
@@ -688,7 +690,7 @@ proto_reg_handoff_peekremote(void)
{
wlan_radio_handle = find_dissector_add_dependency("wlan_radio", proto_peekremote);
- dissector_add_uint("udp.port", 5000, peekremote_handle);
+ dissector_add_uint_with_preference("udp.port", PEEKREMOTE_PORT, peekremote_handle);
heur_dissector_add("udp", dissect_peekremote_new, "OmniPeek Remote over UDP", "peekremote_udp", proto_peekremote, HEURISTIC_ENABLE);
}
diff --git a/epan/dissectors/packet-pgm.c b/epan/dissectors/packet-pgm.c
index d261ee09a8..7e552647f4 100644
--- a/epan/dissectors/packet-pgm.c
+++ b/epan/dissectors/packet-pgm.c
@@ -109,15 +109,6 @@ static gboolean pgm_check_checksum = TRUE;
#define PGM_OPT_REDIRECT_SIZE 12
#define PGM_OPT_FRAGMENT_SIZE 16
-/*
- * Udp port for UDP encapsulation
- */
-#define DEFAULT_UDP_ENCAP_UCAST_PORT 3055
-#define DEFAULT_UDP_ENCAP_MCAST_PORT 3056
-
-static guint udp_encap_ucast_port = 0;
-static guint udp_encap_mcast_port = 0;
-
static int proto_pgm = -1;
static int ett_pgm = -1;
static int ett_pgm_optbits = -1;
@@ -1383,8 +1374,7 @@ proto_register_pgm(void)
module_t *pgm_module;
expert_module_t* expert_pgm;
- proto_pgm = proto_register_protocol("Pragmatic General Multicast",
- "PGM", "pgm");
+ proto_pgm = proto_register_protocol("Pragmatic General Multicast", "PGM", "pgm");
proto_register_field_array(proto_pgm, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
@@ -1404,25 +1394,12 @@ proto_register_pgm(void)
* dissector_add_for_decode_as is called so that pgm
* is available for 'decode-as'
*/
- pgm_module = prefs_register_protocol(proto_pgm, proto_reg_handoff_pgm);
+ pgm_module = prefs_register_protocol(proto_pgm, NULL);
prefs_register_bool_preference(pgm_module, "check_checksum",
"Check the validity of the PGM checksum when possible",
"Whether to check the validity of the PGM checksum",
&pgm_check_checksum);
-
- prefs_register_uint_preference(pgm_module, "udp.encap_ucast_port",
- "PGM Encap Unicast Port (standard is 3055)",
- "PGM Encap is PGM packets encapsulated in UDP packets"
- " (Note: This option is off, i.e. port is 0, by default)",
- 10, &udp_encap_ucast_port);
-
- prefs_register_uint_preference(pgm_module, "udp.encap_mcast_port",
- "PGM Encap Multicast Port (standard is 3056)",
- "PGM Encap is PGM packets encapsulated in UDP packets"
- " (Note: This option is off, i.e. port is 0, by default)",
- 10, &udp_encap_mcast_port);
-
}
/* The registration hand-off routine */
@@ -1433,33 +1410,11 @@ proto_register_pgm(void)
void
proto_reg_handoff_pgm(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t pgm_handle;
- static guint old_udp_encap_ucast_port;
- static guint old_udp_encap_mcast_port;
-
- if (! initialized) {
- pgm_handle = create_dissector_handle(dissect_pgm, proto_pgm);
- dissector_add_for_decode_as("udp.port", pgm_handle);
- dissector_add_uint("ip.proto", IP_PROTO_PGM, pgm_handle);
- initialized = TRUE;
- } else {
- if (old_udp_encap_ucast_port != 0) {
- dissector_delete_uint("udp.port", old_udp_encap_ucast_port, pgm_handle);
- }
- if (old_udp_encap_mcast_port != 0) {
- dissector_delete_uint("udp.port", old_udp_encap_mcast_port, pgm_handle);
- }
- }
+ dissector_handle_t pgm_handle;
- if (udp_encap_ucast_port != 0) {
- dissector_add_uint("udp.port", udp_encap_ucast_port, pgm_handle);
- }
- if (udp_encap_mcast_port != 0) {
- dissector_add_uint("udp.port", udp_encap_mcast_port, pgm_handle);
- }
- old_udp_encap_ucast_port = udp_encap_ucast_port;
- old_udp_encap_mcast_port = udp_encap_mcast_port;
+ pgm_handle = create_dissector_handle(dissect_pgm, proto_pgm);
+ dissector_add_uint_range_with_preference("udp.port", "", pgm_handle);
+ dissector_add_uint("ip.proto", IP_PROTO_PGM, pgm_handle);
}
/*
diff --git a/epan/dissectors/packet-pktc.c b/epan/dissectors/packet-pktc.c
index c1c162ad7d..e98f771adc 100644
--- a/epan/dissectors/packet-pktc.c
+++ b/epan/dissectors/packet-pktc.c
@@ -751,7 +751,7 @@ proto_reg_handoff_pktc(void)
dissector_handle_t pktc_handle;
pktc_handle = create_dissector_handle(dissect_pktc, proto_pktc);
- dissector_add_uint("udp.port", PKTC_PORT, pktc_handle);
+ dissector_add_uint_with_preference("udp.port", PKTC_PORT, pktc_handle);
}
@@ -812,7 +812,7 @@ proto_reg_handoff_pktc_mtafqdn(void)
dissector_handle_t pktc_mtafqdn_handle;
pktc_mtafqdn_handle = create_dissector_handle(dissect_pktc_mtafqdn, proto_pktc_mtafqdn);
- dissector_add_uint("udp.port", PKTC_MTAFQDN_PORT, pktc_mtafqdn_handle);
+ dissector_add_uint_with_preference("udp.port", PKTC_MTAFQDN_PORT, pktc_mtafqdn_handle);
}
/*
diff --git a/epan/dissectors/packet-pnrp.c b/epan/dissectors/packet-pnrp.c
index 5842cf00ee..794e6ca3c5 100644
--- a/epan/dissectors/packet-pnrp.c
+++ b/epan/dissectors/packet-pnrp.c
@@ -1486,7 +1486,7 @@ void proto_reg_handoff_pnrp(void)
{
dissector_handle_t pnrp_handle;
pnrp_handle = create_dissector_handle(dissect_pnrp, proto_pnrp);
- dissector_add_uint("udp.port",PNRP_PORT,pnrp_handle);
+ dissector_add_uint_with_preference("udp.port",PNRP_PORT,pnrp_handle);
}
/*
diff --git a/epan/dissectors/packet-ptp.c b/epan/dissectors/packet-ptp.c
index c74b682da5..117e554261 100644
--- a/epan/dissectors/packet-ptp.c
+++ b/epan/dissectors/packet-ptp.c
@@ -59,8 +59,7 @@
/**********************************************************/
/* Port definition's for PTP */
/**********************************************************/
-#define EVENT_PORT_PTP 319
-#define GENERAL_PORT_PTP 320
+#define PTP_PORT_RANGE "319-320"
/* END Port definition's for PTP */
void proto_register_ptp(void);
@@ -6258,8 +6257,7 @@ proto_reg_handoff_ptp(void)
ptp_handle = create_dissector_handle(dissect_ptp, proto_ptp);
ethertype_ptp_handle = create_dissector_handle(dissect_ptp_oE, proto_ptp);
- dissector_add_uint("udp.port", EVENT_PORT_PTP, ptp_handle);
- dissector_add_uint("udp.port", GENERAL_PORT_PTP, ptp_handle);
+ dissector_add_uint_range_with_preference("udp.port", PTP_PORT_RANGE, ptp_handle);
dissector_add_uint("ethertype", ETHERTYPE_PTP, ethertype_ptp_handle);
}
diff --git a/epan/dissectors/packet-pulse.c b/epan/dissectors/packet-pulse.c
index 658247287f..c08e15f011 100644
--- a/epan/dissectors/packet-pulse.c
+++ b/epan/dissectors/packet-pulse.c
@@ -29,12 +29,8 @@
# include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
-#define PORT_PULSE 539
-
-
-static guint pulse_port = PORT_PULSE;
+#define PORT_PULSE 539 /* Not IANA registered */
void proto_register_pulse(void);
void proto_reg_handoff_pulse(void);
@@ -94,8 +90,6 @@ dissect_pulse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
void
proto_register_pulse(void)
{
- module_t *pulse_module;
-
static hf_register_info hf[] = {
{ &hf_pulse_magic,
{ "Magic", "pulse.magic",
@@ -108,42 +102,17 @@ proto_register_pulse(void)
};
- proto_pulse = proto_register_protocol("PULSE protocol for Linux Virtual Server redundancy",
- "PULSE",
- "pulse");
+ proto_pulse = proto_register_protocol("PULSE protocol for Linux Virtual Server redundancy", "PULSE", "pulse");
proto_register_field_array(proto_pulse, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- pulse_module = prefs_register_protocol(proto_pulse, proto_reg_handoff_pulse);
- prefs_register_uint_preference(pulse_module, "udp.port",
- "UDP Port",
- "Set the UDP port for pulse",
- 10,
- &pulse_port);
}
void
proto_reg_handoff_pulse(void)
{
- static gboolean initialized = FALSE;
-
- static int port = 0;
-
- static dissector_handle_t pulse_handle;
-
- if (initialized)
- {
- dissector_delete_uint("udp.port", port, pulse_handle);
- }
- else
- {
- pulse_handle = create_dissector_handle(dissect_pulse,
- proto_pulse);
- initialized = TRUE;
- }
-
- port = pulse_port;
- dissector_add_uint("udp.port", port, pulse_handle);
+ dissector_handle_t pulse_handle;
+ pulse_handle = create_dissector_handle(dissect_pulse, proto_pulse);
+ dissector_add_uint_with_preference("udp.port", PORT_PULSE, pulse_handle);
}
/*
diff --git a/epan/dissectors/packet-pw-cesopsn.c b/epan/dissectors/packet-pw-cesopsn.c
index 085c24fca8..5f581341c4 100644
--- a/epan/dissectors/packet-pw-cesopsn.c
+++ b/epan/dissectors/packet-pw-cesopsn.c
@@ -457,7 +457,7 @@ void proto_reg_handoff_pw_cesopsn(void)
pw_cesopsn_mpls_handle = create_dissector_handle( dissect_pw_cesopsn_mpls, proto );
dissector_add_for_decode_as("mpls.label", pw_cesopsn_mpls_handle);
- dissector_add_for_decode_as("udp.port", find_dissector("pw_cesopsn_udp"));
+ dissector_add_for_decode_as_with_preference("udp.port", find_dissector("pw_cesopsn_udp"));
return;
}
diff --git a/epan/dissectors/packet-pw-satop.c b/epan/dissectors/packet-pw-satop.c
index a66dc070a1..5905bf9170 100644
--- a/epan/dissectors/packet-pw-satop.c
+++ b/epan/dissectors/packet-pw-satop.c
@@ -473,7 +473,7 @@ void proto_reg_handoff_pw_satop(void)
pw_satop_mpls_handle = create_dissector_handle( dissect_pw_satop_mpls, proto );
dissector_add_for_decode_as("mpls.label", pw_satop_mpls_handle);
- dissector_add_for_decode_as("udp.port", find_dissector("pw_satop_udp"));
+ dissector_add_for_decode_as_with_preference("udp.port", find_dissector("pw_satop_udp"));
}
/*
diff --git a/epan/dissectors/packet-quake.c b/epan/dissectors/packet-quake.c
index 58c57d6994..77cde0daae 100644
--- a/epan/dissectors/packet-quake.c
+++ b/epan/dissectors/packet-quake.c
@@ -29,7 +29,6 @@
#include <epan/packet.h>
#include <epan/conversation.h>
-#include <epan/prefs.h>
void proto_register_quake(void);
@@ -80,7 +79,6 @@ static dissector_handle_t quake_handle;
/* I took these names directly out of the Q1 source. */
#define NET_HEADERSIZE 8
#define DEFAULTnet_hostport 26000
-static guint gbl_quakeServerPort=DEFAULTnet_hostport;
#define NETFLAG_DATA 0x0001
#define NETFLAG_ACK 0x0002
@@ -581,40 +579,18 @@ proto_register_quake(void)
&ett_quake_control_colors,
&ett_quake_flags,
};
- module_t *quake_module;
- proto_quake = proto_register_protocol("Quake Network Protocol",
- "QUAKE", "quake");
+ proto_quake = proto_register_protocol("Quake Network Protocol", "QUAKE", "quake");
proto_register_field_array(proto_quake, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- /* Register a configuration option for port */
- quake_module = prefs_register_protocol(proto_quake,
- proto_reg_handoff_quake);
- prefs_register_uint_preference(quake_module, "udp.port",
- "Quake Server UDP Port",
- "Set the UDP port for the Quake Server",
- 10, &gbl_quakeServerPort);
}
void
proto_reg_handoff_quake(void)
{
- static gboolean Initialized=FALSE;
- static guint ServerPort;
-
- if (!Initialized) {
- quake_handle = create_dissector_handle(dissect_quake, proto_quake);
- Initialized=TRUE;
- } else {
- dissector_delete_uint("udp.port", ServerPort, quake_handle);
- }
-
- /* set port for future deletes */
- ServerPort=gbl_quakeServerPort;
-
- dissector_add_uint("udp.port", gbl_quakeServerPort, quake_handle);
+ quake_handle = create_dissector_handle(dissect_quake, proto_quake);
+ dissector_add_uint_with_preference("udp.port", DEFAULTnet_hostport, quake_handle);
}
/*
diff --git a/epan/dissectors/packet-quake2.c b/epan/dissectors/packet-quake2.c
index 5ca865a874..030c61a8b9 100644
--- a/epan/dissectors/packet-quake2.c
+++ b/epan/dissectors/packet-quake2.c
@@ -32,8 +32,10 @@
#include <epan/packet.h>
#include <epan/prefs.h>
+#include <epan/prefs-int.h>
void proto_register_quake2(void);
+void proto_reg_handoff_quake2(void);
static int proto_quake2 = -1;
@@ -79,7 +81,7 @@ static gint ett_quake2_game_clc_cmd_move_bitfield = -1;
static gint ett_quake2_game_clc_cmd_move_moves = -1;
-#define PORT_MASTER 27910
+#define PORT_MASTER 27910 /* Not IANA registered */
static guint gbl_quake2ServerPort=PORT_MASTER;
@@ -681,8 +683,13 @@ dissect_quake2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _
return tvb_captured_length(tvb);
}
-
-void proto_reg_handoff_quake2(void);
+static void
+apply_quake2_prefs(void)
+{
+ /* Port preference used to determine client/server */
+ pref_t *quake2_port = prefs_find_preference(prefs_find_module("quake2"), "udp.port");
+ gbl_quake2ServerPort = *quake2_port->varp.uint;
+}
void
proto_register_quake2(void)
@@ -822,42 +829,22 @@ proto_register_quake2(void)
&ett_quake2_game_clc_cmd_move_moves,
&ett_quake2_game_clc_cmd_move_bitfield
};
- module_t *quake2_module;
- proto_quake2 = proto_register_protocol("Quake II Network Protocol",
- "QUAKE2", "quake2");
+ proto_quake2 = proto_register_protocol("Quake II Network Protocol", "QUAKE2", "quake2");
proto_register_field_array(proto_quake2, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
/* Register a configuration option for port */
- quake2_module = prefs_register_protocol(proto_quake2,
- proto_reg_handoff_quake2);
- prefs_register_uint_preference(quake2_module, "udp.port",
- "Quake II Server UDP Port",
- "Set the UDP port for the Quake II Server",
- 10, &gbl_quake2ServerPort);
+ prefs_register_protocol(proto_quake2, apply_quake2_prefs);
}
-
void
proto_reg_handoff_quake2(void)
{
- static gboolean Initialized=FALSE;
- static dissector_handle_t quake2_handle;
- static guint ServerPort;
-
- if (!Initialized) {
- quake2_handle = create_dissector_handle(dissect_quake2,
- proto_quake2);
- Initialized=TRUE;
- } else {
- dissector_delete_uint("udp.port", ServerPort, quake2_handle);
- }
-
- /* set port for future deletes */
- ServerPort=gbl_quake2ServerPort;
+ dissector_handle_t quake2_handle;
+ quake2_handle = create_dissector_handle(dissect_quake2, proto_quake2);
- dissector_add_uint("udp.port", gbl_quake2ServerPort, quake2_handle);
+ dissector_add_uint("udp.port", PORT_MASTER, quake2_handle);
}
/*
diff --git a/epan/dissectors/packet-quake3.c b/epan/dissectors/packet-quake3.c
index ed39a3c7ec..c3fa719827 100644
--- a/epan/dissectors/packet-quake3.c
+++ b/epan/dissectors/packet-quake3.c
@@ -557,14 +557,12 @@ proto_register_quake3(void)
};
module_t *quake3_module;
- proto_quake3 = proto_register_protocol("Quake III Arena Network Protocol",
- "QUAKE3", "quake3");
+ proto_quake3 = proto_register_protocol("Quake III Arena Network Protocol", "QUAKE3", "quake3");
proto_register_field_array(proto_quake3, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
/* Register a configuration option for port */
- quake3_module = prefs_register_protocol(proto_quake3,
- proto_reg_handoff_quake3);
+ quake3_module = prefs_register_protocol(proto_quake3, proto_reg_handoff_quake3);
prefs_register_uint_preference(quake3_module, "udp.arena_port",
"Quake III Arena Server UDP Base Port",
"Set the UDP base port for the Quake III Arena Server",
@@ -600,7 +598,7 @@ proto_reg_handoff_quake3(void)
server_port = gbl_quake3_server_port;
master_port = gbl_quake3_master_port;
- /* add dissectors */
+ /* add dissectors. Port preference names to specific to use "auto" */
for (i=0;i<4;i++)
dissector_add_uint("udp.port", gbl_quake3_server_port + i,
quake3_handle);
diff --git a/epan/dissectors/packet-quakeworld.c b/epan/dissectors/packet-quakeworld.c
index d22e3d13d1..e3616e34b8 100644
--- a/epan/dissectors/packet-quakeworld.c
+++ b/epan/dissectors/packet-quakeworld.c
@@ -30,7 +30,10 @@
#include <stdlib.h>
#include <epan/packet.h>
#include <epan/prefs.h>
+#include <epan/prefs-int.h>
+
void proto_register_quakeworld(void);
+void proto_reg_handoff_quakeworld(void);
static int proto_quakeworld = -1;
@@ -313,7 +316,7 @@ static const value_string names_direction[] = {
/* I took this name and value directly out of the QW source. */
-#define PORT_MASTER 27500
+#define PORT_MASTER 27500 /* Not IANA registered */
static guint gbl_quakeworldServerPort=PORT_MASTER;
@@ -685,8 +688,13 @@ dissect_quakeworld(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* da
return tvb_captured_length(tvb);
}
-
-void proto_reg_handoff_quakeworld(void);
+static void
+apply_quakeworld_prefs(void)
+{
+ /* Port preference used to determine client/server */
+ pref_t *quakeworld_port = prefs_find_preference(prefs_find_module("quakeworld"), "udp.port");
+ gbl_quakeworldServerPort = *quakeworld_port->varp.uint;
+}
void
proto_register_quakeworld(void)
@@ -794,42 +802,23 @@ proto_register_quakeworld(void)
&ett_quakeworld_game_clc,
&ett_quakeworld_game_svc
};
- module_t *quakeworld_module;
- proto_quakeworld = proto_register_protocol("QuakeWorld Network Protocol",
- "QUAKEWORLD", "quakeworld");
+ proto_quakeworld = proto_register_protocol("QuakeWorld Network Protocol", "QUAKEWORLD", "quakeworld");
proto_register_field_array(proto_quakeworld, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
/* Register a configuration option for port */
- quakeworld_module = prefs_register_protocol(proto_quakeworld,
- proto_reg_handoff_quakeworld);
- prefs_register_uint_preference(quakeworld_module, "udp.port",
- "QuakeWorld Server UDP Port",
- "Set the UDP port for the QuakeWorld Server",
- 10, &gbl_quakeworldServerPort);
+ prefs_register_protocol(proto_quakeworld, apply_quakeworld_prefs);
}
void
proto_reg_handoff_quakeworld(void)
{
- static gboolean Initialized=FALSE;
- static dissector_handle_t quakeworld_handle;
- static guint ServerPort;
-
- if (!Initialized) {
- quakeworld_handle = create_dissector_handle(dissect_quakeworld,
- proto_quakeworld);
- Initialized=TRUE;
- } else {
- dissector_delete_uint("udp.port", ServerPort, quakeworld_handle);
- }
-
- /* set port for future deletes */
- ServerPort=gbl_quakeworldServerPort;
+ dissector_handle_t quakeworld_handle;
- dissector_add_uint("udp.port", gbl_quakeworldServerPort, quakeworld_handle);
+ quakeworld_handle = create_dissector_handle(dissect_quakeworld, proto_quakeworld);
+ dissector_add_uint("udp.port", PORT_MASTER, quakeworld_handle);
}
/*
diff --git a/epan/dissectors/packet-quic.c b/epan/dissectors/packet-quic.c
index b2b6c92c62..b906eee64a 100644
--- a/epan/dissectors/packet-quic.c
+++ b/epan/dissectors/packet-quic.c
@@ -177,8 +177,7 @@ static int hf_quic_padding = -1;
static int hf_quic_stream_data = -1;
static int hf_quic_payload = -1;
-static guint g_quic_port = 80;
-static guint g_quics_port = 443;
+#define QUIC_PORT_RANGE "80,443"
static gboolean g_quic_debug = FALSE;
static gint ett_quic = -1;
@@ -2847,22 +2846,12 @@ proto_register_quic(void)
expert_module_t *expert_quic;
- proto_quic = proto_register_protocol("QUIC (Quick UDP Internet Connections)",
- "QUIC", "quic");
+ proto_quic = proto_register_protocol("QUIC (Quick UDP Internet Connections)", "QUIC", "quic");
proto_register_field_array(proto_quic, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- quic_module = prefs_register_protocol(proto_quic, proto_reg_handoff_quic);
-
-
- prefs_register_uint_preference(quic_module, "udp.quic.port", "QUIC UDP Port",
- "QUIC UDP port if other than the default",
- 10, &g_quic_port);
-
- prefs_register_uint_preference(quic_module, "udp.quics.port", "QUICS UDP Port",
- "QUICS (Secure) UDP port if other than the default",
- 10, &g_quics_port);
+ quic_module = prefs_register_protocol(proto_quic, NULL);
prefs_register_bool_preference(quic_module, "debug.quic",
"Force decode of all QUIC Payload",
@@ -2876,27 +2865,10 @@ proto_register_quic(void)
void
proto_reg_handoff_quic(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t quic_handle;
- static int current_quic_port;
- static int current_quics_port;
-
- if (!initialized) {
- quic_handle = create_dissector_handle(dissect_quic,
- proto_quic);
- initialized = TRUE;
-
- } else {
- dissector_delete_uint("udp.port", current_quic_port, quic_handle);
- dissector_delete_uint("udp.port", current_quics_port, quic_handle);
- }
-
- current_quic_port = g_quic_port;
- current_quics_port = g_quics_port;
-
+ dissector_handle_t quic_handle;
- dissector_add_uint("udp.port", current_quic_port, quic_handle);
- dissector_add_uint("udp.port", current_quics_port, quic_handle);
+ quic_handle = create_dissector_handle(dissect_quic, proto_quic);
+ dissector_add_uint_range_with_preference("udp.port", QUIC_PORT_RANGE, quic_handle);
}
diff --git a/epan/dissectors/packet-radius.c b/epan/dissectors/packet-radius.c
index b49f0967d1..0352a9b12b 100644
--- a/epan/dissectors/packet-radius.c
+++ b/epan/dissectors/packet-radius.c
@@ -221,8 +221,6 @@ static dissector_handle_t eap_handle;
static const gchar *shared_secret = "";
static gboolean validate_authenticator = FALSE;
static gboolean show_length = FALSE;
-static guint alt_port_pref = 0;
-static range_t *global_ports_range;
static guint8 authenticator[AUTHENTICATOR_LENGTH];
@@ -2635,7 +2633,7 @@ proto_register_radius(void)
proto_radius = proto_register_protocol("RADIUS Protocol", "RADIUS", "radius");
register_dissector("radius", dissect_radius, proto_radius);
register_init_routine(&radius_init_protocol);
- radius_module = prefs_register_protocol(proto_radius, proto_reg_handoff_radius);
+ radius_module = prefs_register_protocol(proto_radius, NULL);
prefs_register_string_preference(radius_module, "shared_secret", "Shared Secret",
"Shared secret used to decode User Passwords and validate Response Authenticators",
&shared_secret);
@@ -2645,12 +2643,6 @@ proto_register_radius(void)
prefs_register_bool_preference(radius_module, "show_length", "Show AVP Lengths",
"Whether to add or not to the tree the AVP's payload length",
&show_length);
- prefs_register_uint_preference(radius_module, "alternate_port", "Alternate Port",
- "An alternate UDP port to decode as RADIUS", 10, &alt_port_pref);
-
- range_convert_str(&global_ports_range, DEFAULT_RADIUS_PORT_RANGE, MAX_UDP_PORT);
- prefs_register_range_preference(radius_module, "ports", "RADIUS ports",
- "A list of UDP ports to decode as RADIUS", &global_ports_range, MAX_UDP_PORT);
prefs_register_obsolete_preference(radius_module, "request_ttl");
radius_tap = register_tap("radius");
@@ -2669,34 +2661,11 @@ proto_register_radius(void)
void
proto_reg_handoff_radius(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t radius_handle;
- static range_t *ports_range;
-
- if (!initialized) {
- radius_handle = find_dissector("radius");
- eap_handle = find_dissector_add_dependency("eap", proto_radius);
-
- initialized = TRUE;
- } else {
- dissector_delete_uint_range("udp.port", ports_range, radius_handle);
- g_free(ports_range);
- }
-
- if (alt_port_pref != 0) {
- /* Append it to the range of ports but only if necessary */
- if (!value_is_in_range(global_ports_range, alt_port_pref)) {
- global_ports_range = (range_t *)g_realloc(global_ports_range,
- /* see epan/range.c:range_copy function */
- sizeof (range_t) - sizeof (range_admin_t) + (global_ports_range->nranges + 1) * sizeof (range_admin_t));
- global_ports_range->ranges[global_ports_range->nranges].low = alt_port_pref;
- global_ports_range->ranges[global_ports_range->nranges].high = alt_port_pref;
- global_ports_range->nranges++;
- }
- }
+ dissector_handle_t radius_handle;
- ports_range = range_copy(global_ports_range);
- dissector_add_uint_range("udp.port", ports_range, radius_handle);
+ radius_handle = find_dissector("radius");
+ eap_handle = find_dissector_add_dependency("eap", proto_radius);
+ dissector_add_uint_range_with_preference("udp.port", DEFAULT_RADIUS_PORT_RANGE, radius_handle);
}
/*
diff --git a/epan/dissectors/packet-rdt.c b/epan/dissectors/packet-rdt.c
index 1f622723c4..30e6546561 100644
--- a/epan/dissectors/packet-rdt.c
+++ b/epan/dissectors/packet-rdt.c
@@ -163,9 +163,7 @@ static gint ett_rdt_bw_probing_flags = -1;
static expert_field ei_rdt_packet_length = EI_INIT;
-/* Port preference settings */
-static gboolean global_rdt_register_udp_port = FALSE;
-static guint global_rdt_udp_port = 6970;
+#define RDT_UDP_PORT 6970
void proto_register_rdt(void);
void proto_reg_handoff_rdt(void);
@@ -2165,62 +2163,20 @@ void proto_register_rdt(void)
register_dissector("rdt", dissect_rdt, proto_rdt);
/* Preference settings */
- rdt_module = prefs_register_protocol(proto_rdt, proto_reg_handoff_rdt);
+ rdt_module = prefs_register_protocol(proto_rdt, NULL);
prefs_register_bool_preference(rdt_module, "show_setup_info",
"Show stream setup information",
"Where available, show which protocol and frame caused "
"this RDT stream to be created",
&global_rdt_show_setup_info);
- prefs_register_bool_preference(rdt_module, "register_udp_port",
- "Register default UDP client port",
- "Register a client UDP port for RDT traffic",
- &global_rdt_register_udp_port);
-
- /* TODO: better to specify a range of ports instead? */
- prefs_register_uint_preference(rdt_module, "default_udp_port",
- "Default UDP client port",
- "Set the UDP port for clients",
- 10, &global_rdt_udp_port);
-
+ prefs_register_obsolete_preference(rdt_module, "register_udp_port");
}
void proto_reg_handoff_rdt(void)
{
- static gboolean rdt_prefs_initialized = FALSE;
- /* Also store this so can delete registered setting properly */
- static gboolean rdt_register_udp_port;
- static guint rdt_udp_port;
-
- if (!rdt_prefs_initialized)
- {
- /* Register this dissector as one that can be selected by a
- UDP port number. */
- rdt_handle = find_dissector("rdt");
- dissector_add_for_decode_as("udp.port", rdt_handle);
- rdt_prefs_initialized = TRUE;
- }
- else
- {
- /* Undo any current port registrations */
- if (rdt_register_udp_port)
- {
- dissector_delete_uint("udp.port", rdt_udp_port, rdt_handle);
- }
- }
-
- /* Remember whether a port is set for next time */
- rdt_register_udp_port = global_rdt_register_udp_port;
-
- /* Add any new port registration */
- if (global_rdt_register_udp_port)
- {
- /* Set our port number for future use */
- rdt_udp_port = global_rdt_udp_port;
-
- /* And register with this port */
- dissector_add_uint("udp.port", global_rdt_udp_port, rdt_handle);
- }
+ rdt_handle = find_dissector("rdt");
+ dissector_add_uint_with_preference("udp.port", RDT_UDP_PORT, rdt_handle);
}
/*
diff --git a/epan/dissectors/packet-redbackli.c b/epan/dissectors/packet-redbackli.c
index ac64c51f9f..46cb174976 100644
--- a/epan/dissectors/packet-redbackli.c
+++ b/epan/dissectors/packet-redbackli.c
@@ -276,8 +276,7 @@ void proto_register_redbackli(void) {
&ett_redbackli
};
- proto_redbackli = proto_register_protocol("Redback Lawful Intercept",
- "RedbackLI", "redbackli");
+ proto_redbackli = proto_register_protocol("Redback Lawful Intercept", "RedbackLI", "redbackli");
proto_register_field_array(proto_redbackli, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
@@ -291,7 +290,7 @@ void proto_reg_handoff_redbackli(void) {
ip_handle = find_dissector_add_dependency("ip", proto_redbackli);
redbackli_handle = find_dissector("redbackli");
- dissector_add_for_decode_as("udp.port", redbackli_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", redbackli_handle);
heur_dissector_add("udp", redbackli_dissect_heur, "Redback Lawful Intercept over UDP", "redbackli_udp", proto_redbackli, HEURISTIC_ENABLE);
}
diff --git a/epan/dissectors/packet-reload-framing.c b/epan/dissectors/packet-reload-framing.c
index 142c0cdc7c..42de6f4311 100644
--- a/epan/dissectors/packet-reload-framing.c
+++ b/epan/dissectors/packet-reload-framing.c
@@ -593,7 +593,7 @@ proto_reg_handoff_reload_framing(void)
reload_handle = find_dissector_add_dependency("reload", proto_reload_framing);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_RELOAD, reload_framing_tcp_handle);
- dissector_add_uint("udp.port", UDP_PORT_RELOAD, reload_framing_udp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_RELOAD, reload_framing_udp_handle);
heur_dissector_add("udp", dissect_reload_framing_heur, "RELOAD Framing over UDP", "reload_framing_udp", proto_reload_framing, HEURISTIC_ENABLE);
heur_dissector_add("tcp", dissect_reload_framing_heur, "RELOAD Framing over TCP", "reload_framing_tcp", proto_reload_framing, HEURISTIC_ENABLE);
diff --git a/epan/dissectors/packet-riemann.c b/epan/dissectors/packet-riemann.c
index 5ee4093fd1..261c718ee4 100644
--- a/epan/dissectors/packet-riemann.c
+++ b/epan/dissectors/packet-riemann.c
@@ -75,7 +75,6 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
#include "packet-tcp.h"
@@ -111,8 +110,6 @@ static int hf_riemann_state_time = -1;
static int hf_riemann_state_state = -1;
static int hf_riemann_state_once = -1;
-static guint udp_port_pref = 0;
-
static gint ett_riemann = -1;
static gint ett_query = -1;
static gint ett_event = -1;
@@ -672,7 +669,6 @@ dissect_riemann_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
void
proto_register_riemann(void)
{
- module_t *riemann_module;
expert_module_t *riemann_expert_module;
static hf_register_info hf[] = {
@@ -812,31 +808,17 @@ proto_register_riemann(void)
proto_register_field_array(proto_riemann, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- riemann_module = prefs_register_protocol(proto_riemann, proto_reg_handoff_riemann);
-
- prefs_register_uint_preference(riemann_module, "udp.port", "Riemann UDP Port",
- " riemann UDP port if other than the default",
- 10, &udp_port_pref);
}
void
proto_reg_handoff_riemann(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t riemann_udp_handle, riemann_tcp_handle;
- static int current_udp_port;
-
- if (!initialized) {
- riemann_udp_handle = create_dissector_handle(dissect_riemann_udp, proto_riemann);
- riemann_tcp_handle = create_dissector_handle(dissect_riemann_tcp, proto_riemann);
- dissector_add_for_decode_as_with_preference("tcp.port", riemann_tcp_handle);
- initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", current_udp_port, riemann_udp_handle);
- }
- current_udp_port = udp_port_pref;
- dissector_add_uint("udp.port", current_udp_port, riemann_udp_handle);
+ dissector_handle_t riemann_udp_handle, riemann_tcp_handle;
+
+ riemann_udp_handle = create_dissector_handle(dissect_riemann_udp, proto_riemann);
+ riemann_tcp_handle = create_dissector_handle(dissect_riemann_tcp, proto_riemann);
+ dissector_add_for_decode_as_with_preference("tcp.port", riemann_tcp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", riemann_udp_handle);
}
/*
diff --git a/epan/dissectors/packet-rip.c b/epan/dissectors/packet-rip.c
index 93e42c6542..9cd2108b36 100644
--- a/epan/dissectors/packet-rip.c
+++ b/epan/dissectors/packet-rip.c
@@ -393,7 +393,7 @@ proto_register_rip(void)
void
proto_reg_handoff_rip(void)
{
- dissector_add_uint("udp.port", UDP_PORT_RIP, rip_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_RIP, rip_handle);
}
/*
diff --git a/epan/dissectors/packet-ripng.c b/epan/dissectors/packet-ripng.c
index 7991b666b1..a81c4bf2dc 100644
--- a/epan/dissectors/packet-ripng.c
+++ b/epan/dissectors/packet-ripng.c
@@ -172,7 +172,7 @@ proto_reg_handoff_ripng(void)
dissector_handle_t ripng_handle;
ripng_handle = create_dissector_handle(dissect_ripng, proto_ripng);
- dissector_add_uint("udp.port", UDP_PORT_RIPNG, ripng_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_RIPNG, ripng_handle);
}
/*
diff --git a/epan/dissectors/packet-rmcp.c b/epan/dissectors/packet-rmcp.c
index 2df5acd1bb..6a880d3806 100644
--- a/epan/dissectors/packet-rmcp.c
+++ b/epan/dissectors/packet-rmcp.c
@@ -255,7 +255,7 @@ proto_reg_handoff_rmcp(void)
dissector_handle_t rmcp_handle;
rmcp_handle = create_dissector_handle(dissect_rmcp, proto_rmcp);
- dissector_add_uint("udp.port", UDP_PORT_RMCP, rmcp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_RMCP, rmcp_handle);
}
void
@@ -264,7 +264,7 @@ proto_reg_handoff_rsp(void)
dissector_handle_t rsp_handle;
rsp_handle = create_dissector_handle(dissect_rsp, proto_rsp);
- dissector_add_uint("udp.port", UDP_PORT_RMCP_SECURE, rsp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_RMCP_SECURE, rsp_handle);
}
/*
diff --git a/epan/dissectors/packet-rmt-alc.c b/epan/dissectors/packet-rmt-alc.c
index 68de96c4d0..9ea477387c 100644
--- a/epan/dissectors/packet-rmt-alc.c
+++ b/epan/dissectors/packet-rmt-alc.c
@@ -63,7 +63,6 @@ static dissector_handle_t xml_handle;
static dissector_handle_t rmt_lct_handle;
static dissector_handle_t rmt_fec_handle;
-static guint g_default_udp_port = 0; /* 4001 */
static gboolean g_codepoint_as_fec_encoding = TRUE;
static gint g_ext_192 = LCT_PREFS_EXT_192_FLUTE;
static gint g_ext_193 = LCT_PREFS_EXT_193_FLUTE;
@@ -193,16 +192,10 @@ void proto_register_alc(void)
expert_register_field_array(expert_rmt_alc, ei, array_length(ei));
/* Register preferences */
- module = prefs_register_protocol(proto_rmt_alc, proto_reg_handoff_alc);
+ module = prefs_register_protocol(proto_rmt_alc, NULL);
prefs_register_obsolete_preference(module, "default.udp_port.enabled");
- prefs_register_uint_preference(module,
- "default.udp_port",
- "UDP destination port",
- "Specifies the UDP destination port for automatic dissection of ALC packets",
- 10, &g_default_udp_port);
-
prefs_register_bool_preference(module,
"lct.codepoint_as_fec_id",
"LCT Codepoint as FEC Encoding ID",
@@ -228,30 +221,13 @@ void proto_register_alc(void)
void proto_reg_handoff_alc(void)
{
- static dissector_handle_t handle;
- static gboolean preferences_initialized = FALSE;
- static guint old_udp_port = 0;
-
- if (!preferences_initialized)
- {
- preferences_initialized = TRUE;
- handle = create_dissector_handle(dissect_alc, proto_rmt_alc);
- dissector_add_for_decode_as("udp.port", handle);
- 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 */
- if(old_udp_port != 0 && old_udp_port != g_default_udp_port){
- dissector_delete_uint("udp.port", old_udp_port, handle);
- }
-
- if(g_default_udp_port != 0 && old_udp_port != g_default_udp_port) {
- dissector_add_uint("udp.port", g_default_udp_port, handle);
- }
+ dissector_handle_t handle;
- old_udp_port = g_default_udp_port;
+ handle = create_dissector_handle(dissect_alc, proto_rmt_alc);
+ dissector_add_for_decode_as_with_preference("udp.port", handle);
+ 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);
}
/*
diff --git a/epan/dissectors/packet-rmt-norm.c b/epan/dissectors/packet-rmt-norm.c
index ffdb6e877c..d5afcfbdad 100644
--- a/epan/dissectors/packet-rmt-norm.c
+++ b/epan/dissectors/packet-rmt-norm.c
@@ -977,7 +977,7 @@ void proto_reg_handoff_norm(void)
static dissector_handle_t handle;
handle = create_dissector_handle(dissect_norm, proto_rmt_norm);
- dissector_add_for_decode_as("udp.port", handle);
+ dissector_add_for_decode_as_with_preference("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_add_dependency("rmt-fec", proto_rmt_norm);
diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c
index 498c4bd94f..e6bd7fa9ca 100644
--- a/epan/dissectors/packet-rpc.c
+++ b/epan/dissectors/packet-rpc.c
@@ -4438,7 +4438,7 @@ proto_reg_handoff_rpc(void)
rpc_tcp_handle = find_dissector("rpc-tcp");
dissector_add_uint_with_preference("tcp.port", RPC_TCP_PORT, rpc_tcp_handle);
rpc_handle = find_dissector("rpc");
- dissector_add_uint("udp.port", 111, rpc_handle);
+ dissector_add_uint_with_preference("udp.port", RPC_TCP_PORT, rpc_handle);
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);
diff --git a/epan/dissectors/packet-rsip.c b/epan/dissectors/packet-rsip.c
index 2c4689038a..5d30c56874 100644
--- a/epan/dissectors/packet-rsip.c
+++ b/epan/dissectors/packet-rsip.c
@@ -1245,7 +1245,7 @@ proto_reg_handoff_rsip(void)
dissector_handle_t rsip_handle;
rsip_handle = create_dissector_handle(dissect_rsip, proto_rsip);
- dissector_add_uint("udp.port", UDP_PORT_RSIP, rsip_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_RSIP, rsip_handle);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_RSIP, rsip_handle);
}
diff --git a/epan/dissectors/packet-rsvp.c b/epan/dissectors/packet-rsvp.c
index 3c5307f2c6..e2ef83cff0 100644
--- a/epan/dissectors/packet-rsvp.c
+++ b/epan/dissectors/packet-rsvp.c
@@ -9574,7 +9574,7 @@ proto_reg_handoff_rsvp(void)
rsvpe2ei_handle = create_dissector_handle(dissect_rsvp_e2ei, proto_rsvp_e2e1);
dissector_add_uint("ip.proto", IP_PROTO_RSVP, rsvp_handle);
dissector_add_uint("ip.proto", IP_PROTO_RSVPE2EI, rsvpe2ei_handle);
- dissector_add_uint("udp.port", UDP_PORT_PRSVP, rsvp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_PRSVP, rsvp_handle);
rsvp_tap = register_tap("rsvp");
}
diff --git a/epan/dissectors/packet-rtcp.c b/epan/dissectors/packet-rtcp.c
index d991e22aa4..1c5e02b188 100644
--- a/epan/dissectors/packet-rtcp.c
+++ b/epan/dissectors/packet-rtcp.c
@@ -6544,7 +6544,7 @@ proto_reg_handoff_rtcp(void)
* UDP port number.
*/
rtcp_handle = find_dissector("rtcp");
- dissector_add_for_decode_as("udp.port", rtcp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", rtcp_handle);
dissector_add_for_decode_as("flip.payload", rtcp_handle );
heur_dissector_add( "udp", dissect_rtcp_heur_udp, "RTCP over UDP", "rtcp_udp", proto_rtcp, HEURISTIC_ENABLE);
diff --git a/epan/dissectors/packet-rtls.c b/epan/dissectors/packet-rtls.c
index 5c18bda9c2..9e17ce779a 100644
--- a/epan/dissectors/packet-rtls.c
+++ b/epan/dissectors/packet-rtls.c
@@ -787,7 +787,7 @@ proto_reg_handoff_rtls(void)
dissector_handle_t rtls_handle;
rtls_handle = create_dissector_handle(dissect_rtls, proto_rtls);
- dissector_add_for_decode_as("udp.port", rtls_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", rtls_handle);
}
/*
diff --git a/epan/dissectors/packet-rtp.c b/epan/dissectors/packet-rtp.c
index 9868e08df8..ab01da6cde 100644
--- a/epan/dissectors/packet-rtp.c
+++ b/epan/dissectors/packet-rtp.c
@@ -267,9 +267,6 @@ static gint ett_pkt_ccc = -1;
static expert_field ei_rtp_fragment_unfinished = EI_INIT;
static expert_field ei_rtp_padding_missing = EI_INIT;
-/* PacketCable CCC port preference */
-static guint global_pkt_ccc_udp_port = 0;
-
/* RFC 5285 Header extensions */
static int hf_rtp_ext_rfc5285_id = -1;
static int hf_rtp_ext_rfc5285_length = -1;
@@ -2760,21 +2757,11 @@ proto_register_pkt_ccc(void)
&ett_pkt_ccc,
};
- module_t *pkt_ccc_module;
-
- proto_pkt_ccc = proto_register_protocol("PacketCable Call Content Connection",
- "PKT CCC", "pkt_ccc");
+ proto_pkt_ccc = proto_register_protocol("PacketCable Call Content Connection", "PKT CCC", "pkt_ccc");
proto_register_field_array(proto_pkt_ccc, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
register_dissector("pkt_ccc", dissect_pkt_ccc, proto_pkt_ccc);
-
- pkt_ccc_module = prefs_register_protocol(proto_pkt_ccc, proto_reg_handoff_pkt_ccc);
-
- prefs_register_uint_preference(pkt_ccc_module, "udp_port",
- "UDP port",
- "Decode packets on this UDP port as PacketCable CCC",
- 10, &global_pkt_ccc_udp_port);
}
void
@@ -2784,24 +2771,10 @@ proto_reg_handoff_pkt_ccc(void)
* Register this dissector as one that can be selected by a
* UDP port number.
*/
- static gboolean initialized = FALSE;
- static dissector_handle_t pkt_ccc_handle;
- static guint saved_pkt_ccc_udp_port;
-
- if (!initialized) {
- pkt_ccc_handle = find_dissector("pkt_ccc");
- dissector_add_for_decode_as("udp.port", pkt_ccc_handle);
- initialized = TRUE;
- } else {
- if (saved_pkt_ccc_udp_port != 0) {
- dissector_delete_uint("udp.port", saved_pkt_ccc_udp_port, pkt_ccc_handle);
- }
- }
+ dissector_handle_t pkt_ccc_handle;
- if (global_pkt_ccc_udp_port != 0) {
- dissector_add_uint("udp.port", global_pkt_ccc_udp_port, pkt_ccc_handle);
- }
- saved_pkt_ccc_udp_port = global_pkt_ccc_udp_port;
+ pkt_ccc_handle = find_dissector("pkt_ccc");
+ dissector_add_for_decode_as_with_preference("udp.port", pkt_ccc_handle);
}
/* Register RTP */
diff --git a/epan/dissectors/packet-rtpproxy.c b/epan/dissectors/packet-rtpproxy.c
index 3600e56d9a..7323afdf5a 100644
--- a/epan/dissectors/packet-rtpproxy.c
+++ b/epan/dissectors/packet-rtpproxy.c
@@ -277,7 +277,6 @@ static gint ett_rtpproxy_ng_bencode = -1;
/* Default values */
#define RTPPROXY_PORT 22222 /* Not IANA registered */
-static guint rtpproxy_udp_port = RTPPROXY_PORT;
static gboolean rtpproxy_establish_conversation = TRUE;
/* See - https://www.opensips.org/html/docs/modules/1.10.x/rtpproxy.html#id293555 */
/* See - http://www.kamailio.org/docs/modules/4.3.x/modules/rtpproxy.html#idp15794952 */
@@ -1440,11 +1439,7 @@ proto_register_rtpproxy(void)
&ett_rtpproxy_ng_bencode
};
- proto_rtpproxy = proto_register_protocol (
- "Sippy RTPproxy Protocol", /* name */
- "RTPproxy", /* short name */
- "rtpproxy" /* abbrev */
- );
+ proto_rtpproxy = proto_register_protocol ("Sippy RTPproxy Protocol", "RTPproxy", "rtpproxy");
proto_register_field_array(proto_rtpproxy, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
@@ -1454,12 +1449,6 @@ proto_register_rtpproxy(void)
rtpproxy_module = prefs_register_protocol(proto_rtpproxy, proto_reg_handoff_rtpproxy);
- prefs_register_uint_preference(rtpproxy_module, "udp.port",
- "RTPproxy UDP Port", /* Title */
- "RTPproxy UDP Port", /* Descr */
- 10,
- &rtpproxy_udp_port);
-
prefs_register_bool_preference(rtpproxy_module, "establish_conversation",
"Establish Media Conversation",
"Specifies that RTP/RTCP/T.38/MSRP/etc streams are decoded based "
@@ -1476,11 +1465,9 @@ proto_register_rtpproxy(void)
void
proto_reg_handoff_rtpproxy(void)
{
- static guint old_rtpproxy_udp_port = 0;
-
static gboolean rtpproxy_initialized = FALSE;
- static dissector_handle_t rtpproxy_tcp_handle, rtpproxy_udp_handle;
+ dissector_handle_t rtpproxy_tcp_handle, rtpproxy_udp_handle;
if(!rtpproxy_initialized){
rtpproxy_tcp_handle = create_dissector_handle(dissect_rtpproxy, proto_rtpproxy);
@@ -1488,16 +1475,10 @@ proto_reg_handoff_rtpproxy(void)
/* Register TCP port for dissection */
dissector_add_uint_with_preference("tcp.port", RTPPROXY_PORT, rtpproxy_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", RTPPROXY_PORT, rtpproxy_udp_handle);
rtpproxy_initialized = TRUE;
}
- /* Register UDP port for dissection */
- if(old_rtpproxy_udp_port != 0 && old_rtpproxy_udp_port != rtpproxy_udp_port)
- dissector_delete_uint("udp.port", old_rtpproxy_udp_port, rtpproxy_udp_handle);
- if(rtpproxy_udp_port != 0 && old_rtpproxy_udp_port != rtpproxy_udp_port)
- dissector_add_uint("udp.port", rtpproxy_udp_port, rtpproxy_udp_handle);
- old_rtpproxy_udp_port = rtpproxy_udp_port;
-
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);
diff --git a/epan/dissectors/packet-rudp.c b/epan/dissectors/packet-rudp.c
index ea8d25f5ed..8e1478dc20 100644
--- a/epan/dissectors/packet-rudp.c
+++ b/epan/dissectors/packet-rudp.c
@@ -43,21 +43,10 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_register_rudp(void);
-/* Disable rudp by default. The previously hardcoded value of
- * 7000 (used by Cisco) collides with afs and as the draft states:
- * "RUDP doesn't place any restrictions on which UDP port numbers are used.
- * Valid port numbers are ports not defined in RFC 1700."
- */
-/* FIXME: The proper solution would be to convert this dissector into
- * heuristic dissector, but it isn't complete anyway.
- */
-static guint udp_port = 0;
-
void proto_reg_handoff_rudp(void);
static int proto_rudp = -1;
@@ -213,50 +202,29 @@ proto_register_rudp(void)
};
- proto_rudp = proto_register_protocol (
- "Reliable UDP", /* name */
- "RUDP", /* short name */
- "rudp" /* abbrev */
- );
+ proto_rudp = proto_register_protocol ("Reliable UDP", "RUDP", "rudp");
proto_register_field_array(proto_rudp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- {
- module_t *rudp_module;
- rudp_module = prefs_register_protocol(proto_rudp, proto_reg_handoff_rudp);
- prefs_register_uint_preference(rudp_module,
- "udp.port",
- "UDP port for RUDP",
- "Set the UDP port for Reliable UDP traffic",
- 10,
- &udp_port);
- }
-
}
void
proto_reg_handoff_rudp(void) {
- static gboolean initialized = FALSE;
- static dissector_handle_t rudp_handle;
- static guint saved_udp_port;
-
- if (!initialized) {
- rudp_handle = create_dissector_handle(dissect_rudp, proto_rudp);
- dissector_add_for_decode_as("udp.port", rudp_handle);
- sm_handle = find_dissector_add_dependency("sm", proto_rudp);
- initialized = TRUE;
- } else {
- if (saved_udp_port != 0) {
- dissector_delete_uint("udp.port", saved_udp_port, rudp_handle);
- }
- }
+ dissector_handle_t rudp_handle;
- if (udp_port != 0) {
- dissector_add_uint("udp.port", udp_port, rudp_handle);
- }
- saved_udp_port = udp_port;
+/* Disable rudp by default. The previously hardcoded value of
+ * 7000 (used by Cisco) collides with afs and as the draft states:
+ * "RUDP doesn't place any restrictions on which UDP port numbers are used.
+ * Valid port numbers are ports not defined in RFC 1700."
+ */
+/* FIXME: The proper solution would be to convert this dissector into
+ * heuristic dissector, but it isn't complete anyway.
+ */
+
+ rudp_handle = create_dissector_handle(dissect_rudp, proto_rudp);
+ dissector_add_for_decode_as_with_preference("udp.port", rudp_handle);
+ sm_handle = find_dissector_add_dependency("sm", proto_rudp);
}
/*
diff --git a/epan/dissectors/packet-rx.c b/epan/dissectors/packet-rx.c
index 0d514b9022..34533307bf 100644
--- a/epan/dissectors/packet-rx.c
+++ b/epan/dissectors/packet-rx.c
@@ -42,9 +42,7 @@
void proto_register_rx(void);
void proto_reg_handoff_rx(void);
-#define UDP_PORT_RX_LOW 7000
-#define UDP_PORT_RX_HIGH 7009
-#define UDP_PORT_RX_AFS_BACKUPS 7021
+#define UDP_PORT_RX_RANGE "7000-7009,7021"
static const value_string rx_types[] = {
{ RX_PACKET_TYPE_DATA, "data" },
@@ -755,19 +753,13 @@ proto_reg_handoff_rx(void)
{
dissector_handle_t rx_handle;
- int port;
-
/*
* Get handle for the AFS dissector.
*/
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. */
rx_handle = create_dissector_handle(dissect_rx, proto_rx);
- for (port = UDP_PORT_RX_LOW; port <= UDP_PORT_RX_HIGH; port++)
- dissector_add_uint("udp.port", port, rx_handle);
- dissector_add_uint("udp.port", UDP_PORT_RX_AFS_BACKUPS, rx_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_RX_RANGE, rx_handle);
}
/*
diff --git a/epan/dissectors/packet-sabp.c b/epan/dissectors/packet-sabp.c
index f7297d81e1..a5e7b7a2ca 100644
--- a/epan/dissectors/packet-sabp.c
+++ b/epan/dissectors/packet-sabp.c
@@ -2290,7 +2290,7 @@ void proto_register_sabp(void) {
void
proto_reg_handoff_sabp(void)
{
- dissector_add_uint("udp.port", SABP_PORT, sabp_handle);
+ dissector_add_uint_with_preference("udp.port", SABP_PORT, sabp_handle);
dissector_add_uint_with_preference("tcp.port", SABP_PORT, sabp_tcp_handle);
dissector_add_uint("sctp.ppi", SABP_PAYLOAD_PROTOCOL_ID, sabp_handle);
diff --git a/epan/dissectors/packet-sap.c b/epan/dissectors/packet-sap.c
index 7701627724..6dc2c036e1 100644
--- a/epan/dissectors/packet-sap.c
+++ b/epan/dissectors/packet-sap.c
@@ -383,7 +383,7 @@ proto_reg_handoff_sap(void)
dissector_handle_t sap_handle;
sap_handle = create_dissector_handle(dissect_sap, proto_sap);
- dissector_add_uint("udp.port", UDP_PORT_SAP, sap_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_SAP, sap_handle);
/*
* Get a handle for the SDP dissector.
diff --git a/epan/dissectors/packet-sbus.c b/epan/dissectors/packet-sbus.c
index f761eff181..a81abd7f45 100644
--- a/epan/dissectors/packet-sbus.c
+++ b/epan/dissectors/packet-sbus.c
@@ -30,6 +30,8 @@
void proto_register_sbus(void);
void proto_reg_handoff_sbus(void);
+#define SBUS_UDP_PORT 5050 /* Not IANA registered */
+
/* Attribute values*/
#define SBUS_REQUEST 0x00
#define SBUS_RESPONSE 0x01
@@ -2314,7 +2316,7 @@ proto_reg_handoff_sbus(void)
dissector_handle_t sbus_handle;
sbus_handle = create_dissector_handle(dissect_sbus, proto_sbus);
- dissector_add_uint("udp.port", 5050, sbus_handle);
+ dissector_add_uint_with_preference("udp.port", SBUS_UDP_PORT, sbus_handle);
}
/*
diff --git a/epan/dissectors/packet-scop.c b/epan/dissectors/packet-scop.c
index 2996962212..953a038710 100644
--- a/epan/dissectors/packet-scop.c
+++ b/epan/dissectors/packet-scop.c
@@ -23,12 +23,10 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include "packet-tcp.h"
/* Default SCOP Port numbers. */
-#define SCOP_DEFAULT_PORT 17755
-#define SCOP_DEFAULT_PORT_SECURED 17756
+#define SCOP_DEFAULT_PORT_RANGE "17755-17756"
void proto_register_scop(void);
@@ -117,9 +115,6 @@ static const value_string scop_services [] = {
{ 0, NULL }
};
-static guint32 gPREF_scop_port = SCOP_DEFAULT_PORT;
-static guint32 gPREF_scop_port_secured = SCOP_DEFAULT_PORT_SECURED;
-
/* Dissector handle */
static dissector_handle_t ieee802154_handle;
@@ -323,8 +318,6 @@ dissect_scop_bridge(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
*/
void proto_register_scop(void)
{
- module_t *scop_module;
-
static hf_register_info hf[] = {
{ &hf_scop_transport,
{ "Transport Type", "scop.transport", FT_UINT8, BASE_DEC, VALS(scop_transports), 0x0,
@@ -362,17 +355,6 @@ void proto_register_scop(void)
proto_register_field_array(proto_scop, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- /* Register preferences module */
- scop_module = prefs_register_protocol(proto_scop, proto_reg_handoff_scop);
-
- /* Register preferences */
- prefs_register_uint_preference(scop_module, "port", "SCoP Port",
- "Set the port for SCoP\n",
- 10, &gPREF_scop_port);
- prefs_register_uint_preference(scop_module, "port_secure", "SCoP Secured Port",
- "Set the port for secured SCoP\n",
- 10, &gPREF_scop_port_secured);
-
/* Register dissector with Wireshark. */
register_dissector("scop.udp", dissect_scop, proto_scop);
register_dissector("scop.tcp", dissect_scop_tcp, proto_scop);
@@ -392,33 +374,16 @@ void proto_register_scop(void)
*/
void proto_reg_handoff_scop(void)
{
- static gboolean inited = FALSE;
- static guint32 lastPort;
- static guint32 lastPort_secured;
-
- static dissector_handle_t scop_udp_handle;
- static dissector_handle_t scop_tcp_handle;
-
- if (!inited){
- scop_udp_handle = find_dissector("scop.udp");
- scop_tcp_handle = find_dissector("scop.tcp");
- ieee802154_handle = find_dissector_add_dependency("wpan_nofcs", proto_scop);
- inited = TRUE;
- } else {
- dissector_delete_uint("udp.port", lastPort, scop_udp_handle);
- dissector_delete_uint("tcp.port", lastPort, scop_tcp_handle);
- dissector_delete_uint("udp.port", lastPort_secured, scop_udp_handle);
- dissector_delete_uint("tcp.port", lastPort_secured, scop_tcp_handle);
- }
- /* XXX - Should this be a range with "auto" preference? */
- dissector_add_uint("udp.port", gPREF_scop_port, scop_udp_handle);
- dissector_add_uint("tcp.port", gPREF_scop_port, scop_tcp_handle);
- dissector_add_uint("udp.port", gPREF_scop_port_secured, scop_udp_handle);
- dissector_add_uint("tcp.port", gPREF_scop_port_secured, scop_tcp_handle);
-
- lastPort = gPREF_scop_port;
- lastPort_secured = gPREF_scop_port_secured;
-} /* proto_reg_handoff_scop */
+ dissector_handle_t scop_udp_handle;
+ dissector_handle_t scop_tcp_handle;
+
+ scop_udp_handle = find_dissector("scop.udp");
+ scop_tcp_handle = find_dissector("scop.tcp");
+ ieee802154_handle = find_dissector_add_dependency("wpan_nofcs", proto_scop);
+
+ dissector_add_uint_range_with_preference("udp.port", SCOP_DEFAULT_PORT_RANGE, scop_udp_handle);
+ dissector_add_uint_range_with_preference("tcp.port", SCOP_DEFAULT_PORT_RANGE, scop_tcp_handle);
+}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
diff --git a/epan/dissectors/packet-sctp.c b/epan/dissectors/packet-sctp.c
index 2f5ebd1a50..dbc5af532b 100644
--- a/epan/dissectors/packet-sctp.c
+++ b/epan/dissectors/packet-sctp.c
@@ -5098,7 +5098,7 @@ proto_reg_handoff_sctp(void)
sctp_handle = find_dissector("sctp");
dissector_add_uint("wtap_encap", WTAP_ENCAP_SCTP, sctp_handle);
dissector_add_uint("ip.proto", IP_PROTO_SCTP, sctp_handle);
- dissector_add_uint("udp.port", UDP_TUNNELING_PORT, sctp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_TUNNELING_PORT, sctp_handle);
register_capture_dissector("ip.proto", IP_PROTO_SCTP, capture_sctp, proto_sctp);
}
diff --git a/epan/dissectors/packet-sebek.c b/epan/dissectors/packet-sebek.c
index e7530fbcb8..0b801167cd 100644
--- a/epan/dissectors/packet-sebek.c
+++ b/epan/dissectors/packet-sebek.c
@@ -77,7 +77,7 @@
*/
/* By default, but can be completely different */
-#define UDP_PORT_SEBEK 1101
+#define UDP_PORT_SEBEK 1101 /* Not IANA registered */
void proto_register_sebek(void);
void proto_reg_handoff_sebek(void);
@@ -342,7 +342,7 @@ proto_reg_handoff_sebek(void)
dissector_handle_t sebek_handle;
sebek_handle = create_dissector_handle(dissect_sebek, proto_sebek);
- dissector_add_uint("udp.port", UDP_PORT_SEBEK, sebek_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_SEBEK, sebek_handle);
}
/*
diff --git a/epan/dissectors/packet-sflow.c b/epan/dissectors/packet-sflow.c
index 5ea293c10c..2292d34ce7 100644
--- a/epan/dissectors/packet-sflow.c
+++ b/epan/dissectors/packet-sflow.c
@@ -64,11 +64,6 @@ void proto_register_sflow(void);
static dissector_handle_t sflow_handle;
/*
- * global_sflow_ports : holds the configured range of ports for sflow
- */
-static range_t *global_sflow_ports = NULL;
-
-/*
* sflow_245_ports : holds the currently used range of ports for sflow
*/
static gboolean global_dissect_samp_headers = TRUE;
@@ -3621,11 +3616,7 @@ proto_register_sflow(void) {
expert_module_t* expert_sflow;
/* Register the protocol name and description */
- proto_sflow = proto_register_protocol(
- "InMon sFlow", /* name */
- "sFlow", /* short name */
- "sflow" /* abbrev */
- );
+ proto_sflow = proto_register_protocol("InMon sFlow", "sFlow", "sflow");
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_sflow, hf, array_length(hf));
@@ -3636,18 +3627,7 @@ proto_register_sflow(void) {
header_subdissector_table = register_dissector_table("sflow_245.header_protocol", "SFLOW header protocol", proto_sflow, FT_UINT32, BASE_DEC);
/* Register our configuration options for sFlow */
- sflow_245_module = prefs_register_protocol(proto_sflow, proto_reg_handoff_sflow_245);
-
- /* Set default Neflow port(s) */
- range_convert_str(&global_sflow_ports, SFLOW_UDP_PORTS, MAX_UDP_PORT);
-
- prefs_register_obsolete_preference(sflow_245_module, "udp.port");
-
- prefs_register_range_preference(sflow_245_module, "ports",
- "sFlow UDP Port(s)",
- "Set the port(s) for sFlow messages"
- " (default: " SFLOW_UDP_PORTS ")",
- &global_sflow_ports, MAX_UDP_PORT);
+ sflow_245_module = prefs_register_protocol(proto_sflow, NULL);
/*
If I use a filter like "ip.src == 10.1.1.1" this will, in
@@ -3679,19 +3659,9 @@ proto_register_sflow(void) {
void
proto_reg_handoff_sflow_245(void) {
- static range_t *sflow_ports;
- static gboolean sflow_245_prefs_initialized = FALSE;
-
- if (!sflow_245_prefs_initialized) {
- sflow_handle = create_dissector_handle(dissect_sflow_245, proto_sflow);
- sflow_245_prefs_initialized = TRUE;
- } else {
- dissector_delete_uint_range("udp.port", sflow_ports, sflow_handle);
- g_free(sflow_ports);
- }
- sflow_ports = range_copy(global_sflow_ports);
- dissector_add_uint_range("udp.port", sflow_ports, sflow_handle);
+ sflow_handle = create_dissector_handle(dissect_sflow_245, proto_sflow);
+ dissector_add_uint_range_with_preference("udp.port", SFLOW_UDP_PORTS, sflow_handle);
}
/*
diff --git a/epan/dissectors/packet-sigcomp.c b/epan/dissectors/packet-sigcomp.c
index 4a4e78770c..93e28e5e4d 100644
--- a/epan/dissectors/packet-sigcomp.c
+++ b/epan/dissectors/packet-sigcomp.c
@@ -168,9 +168,6 @@ static expert_field ei_sigcomp_sigcomp_message_decompression_failure = EI_INIT;
static expert_field ei_sigcomp_execution_of_this_instruction_is_not_implemented = EI_INIT;
static dissector_handle_t sip_handle;
-/* set the udp ports */
-static guint SigCompUDPPort1 = 5555;
-static guint SigCompUDPPort2 = 6666;
/* set the tcp ports */
#define SIGCOMP_TCP_PORT_RANGE "5555,6666" /* Not IANA registered */
@@ -6704,20 +6701,7 @@ proto_register_sigcomp(void)
expert_register_field_array(expert_sigcomp, ei, array_length(ei));
/* Register a configuration option for port */
- sigcomp_module = prefs_register_protocol(proto_sigcomp,
- proto_reg_handoff_sigcomp);
-
- prefs_register_uint_preference(sigcomp_module, "udp.port",
- "Sigcomp UDP Port 1",
- "Set UDP port 1 for SigComp messages",
- 10,
- &SigCompUDPPort1);
-
- prefs_register_uint_preference(sigcomp_module, "udp.port2",
- "Sigcomp UDP Port 2",
- "Set UDP port 2 for SigComp messages",
- 10,
- &SigCompUDPPort2);
+ sigcomp_module = prefs_register_protocol(proto_sigcomp, NULL);
prefs_register_bool_preference(sigcomp_module, "display.udvm.code",
"Dissect the UDVM code",
@@ -6755,28 +6739,14 @@ proto_register_sigcomp(void)
void
proto_reg_handoff_sigcomp(void)
{
- static dissector_handle_t sigcomp_handle;
- static dissector_handle_t sigcomp_tcp_handle;
- static gboolean Initialized = FALSE;
- static guint udp_port1;
- static guint udp_port2;
-
- if (!Initialized) {
- sigcomp_handle = find_dissector("sigcomp");
- sigcomp_tcp_handle = create_dissector_handle(dissect_sigcomp_tcp,proto_sigcomp);
- sip_handle = find_dissector_add_dependency("sip",proto_sigcomp);
- dissector_add_uint_range_with_preference("tcp.port", SIGCOMP_TCP_PORT_RANGE, sigcomp_tcp_handle);
- Initialized=TRUE;
- } else {
- dissector_delete_uint("udp.port", udp_port1, sigcomp_handle);
- dissector_delete_uint("udp.port", udp_port2, sigcomp_handle);
- }
-
- udp_port1 = SigCompUDPPort1;
- udp_port2 = SigCompUDPPort2;
-
- dissector_add_uint("udp.port", SigCompUDPPort1, sigcomp_handle);
- dissector_add_uint("udp.port", SigCompUDPPort2, sigcomp_handle);
+ dissector_handle_t sigcomp_handle;
+ dissector_handle_t sigcomp_tcp_handle;
+
+ sigcomp_handle = find_dissector("sigcomp");
+ sigcomp_tcp_handle = create_dissector_handle(dissect_sigcomp_tcp,proto_sigcomp);
+ sip_handle = find_dissector_add_dependency("sip",proto_sigcomp);
+ dissector_add_uint_range_with_preference("tcp.port", SIGCOMP_TCP_PORT_RANGE, sigcomp_tcp_handle);
+ dissector_add_uint_range_with_preference("udp.port", SIGCOMP_TCP_PORT_RANGE, sigcomp_handle);
}
/*
diff --git a/epan/dissectors/packet-simple.c b/epan/dissectors/packet-simple.c
index 396efb2ef0..18838aa5ce 100644
--- a/epan/dissectors/packet-simple.c
+++ b/epan/dissectors/packet-simple.c
@@ -685,7 +685,7 @@ void proto_reg_handoff_simple(void)
{
dissector_handle_t simple_dissector_handle;
simple_dissector_handle = create_dissector_handle(dissect_simple, proto_simple);
- dissector_add_for_decode_as("udp.port", simple_dissector_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", simple_dissector_handle);
dissector_add_for_decode_as_with_preference("tcp.port", simple_dissector_handle);
link16_handle = find_dissector_add_dependency("link16", proto_simple);
diff --git a/epan/dissectors/packet-simulcrypt.c b/epan/dissectors/packet-simulcrypt.c
index 7f16632044..65218c621b 100644
--- a/epan/dissectors/packet-simulcrypt.c
+++ b/epan/dissectors/packet-simulcrypt.c
@@ -73,7 +73,6 @@ static void dissect_simulcrypt_data(proto_tree *simulcrypt_tree, proto_item *sim
static guint proto_simulcrypt = -1;
/* Preferences (with default values) */
-static guint global_simulcrypt_udp_port = 0; /* Simulcrypt registered only if pref set to non-zero value */
static int ca_system_id_mikey = CA_SYSTEM_ID_MIKEY; /* MIKEY ECM CA_system_ID */
/* MIKEY payload start bytes */
@@ -1837,10 +1836,6 @@ proto_register_simulcrypt (void)
/* called when preferences are applied. */
simulcrypt_module = prefs_register_protocol(proto_simulcrypt, proto_reg_handoff_simulcrypt);
- prefs_register_uint_preference(simulcrypt_module, "udp.port", "Simulcrypt UDP Port",
- "Set the UDP port for Simulcrypt messages ('0' means no port is assigned)",
- 10, &global_simulcrypt_udp_port);
-
prefs_register_uint_preference(simulcrypt_module, "ca_system_id_mikey","MIKEY ECM CA_system_ID (in hex)",
"Set the CA_system_ID used to decode ECM datagram as MIKEY", 16, &ca_system_id_mikey);
}
@@ -1850,8 +1845,7 @@ void
proto_reg_handoff_simulcrypt(void)
{
static gboolean initialized=FALSE;
- static dissector_handle_t simulcrypt_handle;
- static guint udp_port;
+ dissector_handle_t simulcrypt_handle;
guint i;
if (!initialized) {
@@ -1860,18 +1854,10 @@ proto_reg_handoff_simulcrypt(void)
{
tab_ecm_inter[i].protocol_handle = find_dissector(tab_ecm_inter[i].protocol_name);
}
- dissector_add_for_decode_as("udp.port", simulcrypt_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", simulcrypt_handle);
dissector_add_for_decode_as_with_preference("tcp.port", simulcrypt_handle);
initialized = TRUE;
}
- else {
- dissector_delete_uint("udp.port", udp_port, simulcrypt_handle);
- }
-
- if (global_simulcrypt_udp_port != 0) {
- dissector_add_uint("udp.port", global_simulcrypt_udp_port, simulcrypt_handle);
- }
- udp_port = global_simulcrypt_udp_port;
/* update tab_ecm_inter table (always do this) */
tab_ecm_inter[ECM_MIKEY_INDEX].ca_system_id=ca_system_id_mikey;
diff --git a/epan/dissectors/packet-sip.c b/epan/dissectors/packet-sip.c
index 80609eb42f..4dcdf11754 100644
--- a/epan/dissectors/packet-sip.c
+++ b/epan/dissectors/packet-sip.c
@@ -61,8 +61,6 @@
/* #define DEBUG_CONVERSATION */
#include "conversation_debug.h"
-#define TCP_PORT_SIP 5060
-#define UDP_PORT_SIP 5060
#define TLS_PORT_SIP 5061
#define DEFAULT_SIP_PORT_RANGE "5060"
@@ -6794,7 +6792,7 @@ proto_reg_handoff_sip(void)
/* SIP content type and internet media type used by other dissectors are the same */
media_type_dissector_table = find_dissector_table("media_type");
- dissector_add_uint("udp.port", UDP_PORT_SIP, sip_handle);
+ dissector_add_uint_range_with_preference("udp.port", DEFAULT_SIP_PORT_RANGE, sip_handle);
dissector_add_string("media_type", "message/sip", sip_handle);
dissector_add_uint_range_with_preference("tcp.port", DEFAULT_SIP_PORT_RANGE, sip_tcp_handle);
diff --git a/epan/dissectors/packet-skype.c b/epan/dissectors/packet-skype.c
index 68feb56063..4139af46d5 100644
--- a/epan/dissectors/packet-skype.c
+++ b/epan/dissectors/packet-skype.c
@@ -445,7 +445,7 @@ proto_reg_handoff_skype(void)
skype_handle = create_dissector_handle(dissect_skype_static, proto_skype);
dissector_add_for_decode_as_with_preference("tcp.port", skype_handle);
- dissector_add_for_decode_as("udp.port", skype_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", skype_handle);
heur_dissector_add("tcp", dissect_skype_heur, "Skype over TCP", "skype_tcp", proto_skype, HEURISTIC_DISABLE);
heur_dissector_add("udp", dissect_skype_heur, "Skype over UDP", "skype_udp", proto_skype, HEURISTIC_DISABLE);
diff --git a/epan/dissectors/packet-slimp3.c b/epan/dissectors/packet-slimp3.c
index 504733e313..43f7ff4558 100644
--- a/epan/dissectors/packet-slimp3.c
+++ b/epan/dissectors/packet-slimp3.c
@@ -68,8 +68,9 @@ static int hf_slimp3_data_data = -1;
static gint ett_slimp3 = -1;
-#define UDP_PORT_SLIMP3_V1 1069
+#define UDP_PORT_SLIMP3_V1 1069 /* Not IANA registered */
#define UDP_PORT_SLIMP3_V2 3483
+#define UDP_PORT_SLIMP3_RANGE "1069,3483"
#define SLIMP3_IR 'i'
#define SLIMP3_CONTROL 's'
@@ -701,8 +702,7 @@ proto_register_slimp3(void)
&ett_slimp3,
};
- proto_slimp3 = proto_register_protocol("SliMP3 Communication Protocol",
- "SliMP3", "slimp3");
+ proto_slimp3 = proto_register_protocol("SliMP3 Communication Protocol", "SliMP3", "slimp3");
proto_register_field_array(proto_slimp3, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
@@ -713,8 +713,7 @@ proto_reg_handoff_slimp3(void)
dissector_handle_t slimp3_handle;
slimp3_handle = create_dissector_handle(dissect_slimp3, proto_slimp3);
- dissector_add_uint("udp.port", UDP_PORT_SLIMP3_V1, slimp3_handle);
- dissector_add_uint("udp.port", UDP_PORT_SLIMP3_V2, slimp3_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_SLIMP3_RANGE, slimp3_handle);
}
/*
diff --git a/epan/dissectors/packet-sml.c b/epan/dissectors/packet-sml.c
index 75b66f4e38..30001024af 100644
--- a/epan/dissectors/packet-sml.c
+++ b/epan/dissectors/packet-sml.c
@@ -37,8 +37,6 @@ Short description of the SML protocol on the SML Wireshark Wiki page: https://w
#include <wsutil/str_util.h>
-#define UDP_PORT_SML 0
-
#define ESC_SEQ_END G_GUINT64_CONSTANT(0x1b1b1b1b1a)
#define ESC_SEQ 0x1b1b1b1b
@@ -73,8 +71,6 @@ Short description of the SML protocol on the SML Wireshark Wiki page: https://w
#define LIST_6_ELEMENTS 0x76
#define MSB 0x80
-static guint udp_port_pref = UDP_PORT_SML;
-
/* Forward declaration we need below (if using proto_reg_handoff as a prefs callback)*/
void proto_register_sml(void);
void proto_reg_handoff_sml(void);
@@ -2790,11 +2786,10 @@ void proto_register_sml (void) {
};
proto_sml = proto_register_protocol("Smart Message Language","SML", "sml");
- sml_module = prefs_register_protocol(proto_sml, proto_reg_handoff_sml);
+ sml_module = prefs_register_protocol(proto_sml, NULL);
prefs_register_bool_preference (sml_module, "reassemble", "Enable reassemble", "Enable reassembling (default is enabled)", &sml_reassemble);
prefs_register_bool_preference (sml_module, "crc", "Enable crc calculation", "Enable crc (default is disabled)", &sml_crc_enabled);
- prefs_register_uint_preference(sml_module, "udp.port", "SML UDP Port", "Set the UDP port for SML (Default is 0), recommended port is 7259", 10, &udp_port_pref);
proto_register_field_array(proto_sml, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
@@ -2803,20 +2798,11 @@ void proto_register_sml (void) {
}
void proto_reg_handoff_sml(void) {
- static gboolean initialized = FALSE;
- static int old_udp_port;
- static dissector_handle_t sml_handle;
-
- if (!initialized) {
- sml_handle = create_dissector_handle(dissect_sml, proto_sml);
- dissector_add_for_decode_as_with_preference("tcp.port", sml_handle);
- initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", old_udp_port, sml_handle);
- }
- old_udp_port = udp_port_pref;
+ dissector_handle_t sml_handle;
- dissector_add_uint("udp.port", udp_port_pref, sml_handle);
+ sml_handle = create_dissector_handle(dissect_sml, proto_sml);
+ dissector_add_for_decode_as_with_preference("tcp.port", sml_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", sml_handle);
}
/*
diff --git a/epan/dissectors/packet-snmp.c b/epan/dissectors/packet-snmp.c
index 2f4e5b93d1..7fce19358d 100644
--- a/epan/dissectors/packet-snmp.c
+++ b/epan/dissectors/packet-snmp.c
@@ -4077,9 +4077,7 @@ void proto_register_snmp(void) {
void proto_reg_handoff_snmp(void) {
dissector_handle_t snmp_tcp_handle;
- dissector_add_uint("udp.port", UDP_PORT_SNMP, snmp_handle);
- dissector_add_uint("udp.port", UDP_PORT_SNMP_TRAP, snmp_handle);
- dissector_add_uint("udp.port", UDP_PORT_SNMP_PATROL, snmp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_SNMP, snmp_handle);
dissector_add_uint("ethertype", ETHERTYPE_SNMP, snmp_handle);
dissector_add_uint("ipx.socket", IPX_SOCKET_SNMP_AGENT, snmp_handle);
dissector_add_uint("ipx.socket", IPX_SOCKET_SNMP_SINK, snmp_handle);
@@ -4091,6 +4089,8 @@ void proto_reg_handoff_snmp(void) {
the "trap" port doesn't really need a separate preference. Just register
normally */
dissector_add_uint("tcp.port", TCP_PORT_SNMP_TRAP, snmp_tcp_handle);
+ dissector_add_uint("udp.port", UDP_PORT_SNMP_TRAP, snmp_handle);
+ dissector_add_uint("udp.port", UDP_PORT_SNMP_PATROL, snmp_handle);
data_handle = find_dissector("data");
diff --git a/epan/dissectors/packet-sprt.c b/epan/dissectors/packet-sprt.c
index 868020b642..2fdf7299c5 100644
--- a/epan/dissectors/packet-sprt.c
+++ b/epan/dissectors/packet-sprt.c
@@ -3429,7 +3429,7 @@ void
proto_reg_handoff_sprt(void)
{
sprt_handle = find_dissector("sprt");
- dissector_add_for_decode_as("udp.port", sprt_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", sprt_handle);
heur_dissector_add( "udp", dissect_sprt_heur, "SPRT over UDP", "sprt_udp", proto_sprt, HEURISTIC_ENABLE);
}
diff --git a/epan/dissectors/packet-srvloc.c b/epan/dissectors/packet-srvloc.c
index e550d43a65..db22a2c64e 100644
--- a/epan/dissectors/packet-srvloc.c
+++ b/epan/dissectors/packet-srvloc.c
@@ -1890,7 +1890,7 @@ proto_reg_handoff_srvloc(void)
{
dissector_handle_t srvloc_handle, srvloc_tcp_handle;
srvloc_handle = create_dissector_handle(dissect_srvloc, proto_srvloc);
- dissector_add_uint("udp.port", UDP_PORT_SRVLOC, srvloc_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_SRVLOC, srvloc_handle);
srvloc_tcp_handle = create_dissector_handle(dissect_srvloc_tcp,
proto_srvloc);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_SRVLOC, srvloc_tcp_handle);
diff --git a/epan/dissectors/packet-sscop.c b/epan/dissectors/packet-sscop.c
index 353ed41bc6..68f6b85aa1 100644
--- a/epan/dissectors/packet-sscop.c
+++ b/epan/dissectors/packet-sscop.c
@@ -56,10 +56,6 @@ static dissector_handle_t sscf_nni_handle;
static dissector_handle_t alcap_handle;
static dissector_handle_t nbap_handle;
-static module_t *sscop_module;
-
-static range_t *global_udp_port_range;
-
static dissector_handle_t sscop_handle;
@@ -387,22 +383,13 @@ void
proto_reg_handoff_sscop(void)
{
static gboolean prefs_initialized = FALSE;
- static range_t *udp_port_range;
if (!prefs_initialized) {
initialize_handles_once();
+ dissector_add_uint_range_with_preference("udp.port", "", sscop_handle);
prefs_initialized = TRUE;
-
- } else {
-
- dissector_delete_uint_range("udp.port", udp_port_range, sscop_handle);
- g_free(udp_port_range);
-
}
- udp_port_range = range_copy(global_udp_port_range);
- dissector_add_uint_range("udp.port", udp_port_range, sscop_handle);
-
dissector_add_uint("atm.aal5.type", TRAF_SSCOP, sscop_handle);
switch(sscop_payload_dissector) {
@@ -438,6 +425,8 @@ proto_register_sscop(void)
&ett_stat
};
+ module_t *sscop_module;
+
proto_sscop = proto_register_protocol("SSCOP", "SSCOP", "sscop");
proto_register_field_array(proto_sscop, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
@@ -446,13 +435,6 @@ proto_register_sscop(void)
sscop_module = prefs_register_protocol(proto_sscop, proto_reg_handoff_sscop);
- global_udp_port_range = range_empty();
-
- prefs_register_range_preference(sscop_module, "udp.ports",
- "SSCOP UDP port range",
- "Set the UDP port for SSCOP messages encapsulated in UDP (0 to disable)",
- &global_udp_port_range, MAX_UDP_PORT);
-
prefs_register_enum_preference(sscop_module, "payload",
"SSCOP payload protocol",
"SSCOP payload (dissector to call on SSCOP payload)",
diff --git a/epan/dissectors/packet-stun.c b/epan/dissectors/packet-stun.c
index 7531b2c48c..8ce2f665cd 100644
--- a/epan/dissectors/packet-stun.c
+++ b/epan/dissectors/packet-stun.c
@@ -1729,7 +1729,7 @@ proto_reg_handoff_stun(void)
stun_udp_handle = create_dissector_handle(dissect_stun_udp, proto_stun);
dissector_add_uint_with_preference("tcp.port", TCP_PORT_STUN, stun_tcp_handle);
- dissector_add_uint("udp.port", UDP_PORT_STUN, stun_udp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_STUN, stun_udp_handle);
heur_dissector_add("udp", dissect_stun_heur, "STUN over UDP", "stun_udp", proto_stun, HEURISTIC_ENABLE);
diff --git a/epan/dissectors/packet-sync.c b/epan/dissectors/packet-sync.c
index 80a7b2dd94..786bc6b24c 100644
--- a/epan/dissectors/packet-sync.c
+++ b/epan/dissectors/packet-sync.c
@@ -305,7 +305,7 @@ proto_reg_handoff_sync(void)
{
ip_handle = find_dissector_add_dependency("ip", proto_sync);
- dissector_add_for_decode_as("udp.port", sync_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", sync_handle);
}
/*
diff --git a/epan/dissectors/packet-synphasor.c b/epan/dissectors/packet-synphasor.c
index a581bfaf82..885a5d5701 100644
--- a/epan/dissectors/packet-synphasor.c
+++ b/epan/dissectors/packet-synphasor.c
@@ -28,7 +28,6 @@
#include <epan/packet.h>
#include <epan/crc16-tvb.h>
-#include <epan/prefs.h>
#include <epan/expert.h>
#include <epan/proto_data.h>
#include "packet-tcp.h"
@@ -49,7 +48,7 @@ static int proto_synphasor = -1;
/* user preferences */
#define SYNPHASOR_TCP_PORT 4712 /* Not IANA registered */
-static guint global_pref_udp_port = 4713;
+#define SYNPHASOR_UDP_PORT 4713 /* Not IANA registered */
/* the ett... variables hold the state (open/close) of the treeview in the GUI */
static gint ett_synphasor = -1; /* root element for this protocol */
@@ -1348,7 +1347,6 @@ void proto_register_synphasor(void)
{ &ei_synphasor_checksum, { "synphasor.bad_checksum", PI_CHECKSUM, PI_ERROR, "Bad checksum", EXPFILL }},
};
- module_t *synphasor_module;
expert_module_t* expert_synphasor;
/* register protocol */
@@ -1364,38 +1362,18 @@ void proto_register_synphasor(void)
expert_synphasor = expert_register_protocol(proto_synphasor);
expert_register_field_array(expert_synphasor, ei, array_length(ei));
- /* register preferences */
- synphasor_module = prefs_register_protocol(proto_synphasor, proto_reg_handoff_synphasor);
-
- /* the port numbers of the lower level protocols */
- prefs_register_uint_preference(synphasor_module, "udp_port", "Synchrophasor UDP port",
- "Set the port number for synchrophasor frames over UDP" \
- "(if other than the default of 4713)",
- 10, &global_pref_udp_port);
-
} /* proto_register_synphasor() */
/* called at startup and when the preferences change */
void proto_reg_handoff_synphasor(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t synphasor_tcp_handle;
- static guint current_udp_port;
-
- if (!initialized) {
- synphasor_tcp_handle = create_dissector_handle(dissect_tcp, proto_synphasor);
- dissector_add_for_decode_as("rtacser.data", synphasor_udp_handle);
- dissector_add_uint_with_preference("tcp.port", SYNPHASOR_TCP_PORT, synphasor_tcp_handle);
- initialized = TRUE;
- }
- else {
- /* update preferences */
- dissector_delete_uint("udp.port", current_udp_port, synphasor_udp_handle);
- }
+ dissector_handle_t synphasor_tcp_handle;
- current_udp_port = global_pref_udp_port;
+ synphasor_tcp_handle = create_dissector_handle(dissect_tcp, proto_synphasor);
+ dissector_add_for_decode_as("rtacser.data", synphasor_udp_handle);
+ dissector_add_uint_with_preference("udp.port", SYNPHASOR_UDP_PORT, synphasor_udp_handle);
+ dissector_add_uint_with_preference("tcp.port", SYNPHASOR_TCP_PORT, synphasor_tcp_handle);
- dissector_add_uint("udp.port", current_udp_port, synphasor_udp_handle);
} /* proto_reg_handoff_synphasor() */
/*
diff --git a/epan/dissectors/packet-syslog.c b/epan/dissectors/packet-syslog.c
index 15321553cd..dabe8b87fa 100644
--- a/epan/dissectors/packet-syslog.c
+++ b/epan/dissectors/packet-syslog.c
@@ -352,7 +352,7 @@ void proto_register_syslog(void)
void
proto_reg_handoff_syslog(void)
{
- dissector_add_uint("udp.port", UDP_PORT_SYSLOG, syslog_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_SYSLOG, syslog_handle);
dissector_add_for_decode_as_with_preference("tcp.port", syslog_handle);
/* Find the mtp3 dissector */
diff --git a/epan/dissectors/packet-t38.c b/epan/dissectors/packet-t38.c
index 50b9c129ce..e0d896c622 100644
--- a/epan/dissectors/packet-t38.c
+++ b/epan/dissectors/packet-t38.c
@@ -1419,7 +1419,6 @@ proto_register_t38(void)
"be dissected as RTP packet or T.38 packet. If enabled there is a risk that T.38 UDPTL "
"packets with sequence number higher than 32767 may be dissected as RTP.",
&dissect_possible_rtpv2_packets_as_rtp);
- prefs_register_obsolete_preference(t38_module, "udp.port");
prefs_register_bool_preference(t38_module, "reassembly",
"Reassemble T.38 PDUs over TPKT over TCP",
"Whether the dissector should reassemble T.38 PDUs spanning multiple TCP segments "
diff --git a/epan/dissectors/packet-tacacs.c b/epan/dissectors/packet-tacacs.c
index 6c2c901bb9..ec90469db7 100644
--- a/epan/dissectors/packet-tacacs.c
+++ b/epan/dissectors/packet-tacacs.c
@@ -283,7 +283,7 @@ proto_reg_handoff_tacacs(void)
dissector_handle_t tacacs_handle;
tacacs_handle = create_dissector_handle(dissect_tacacs, proto_tacacs);
- dissector_add_uint("udp.port", UDP_PORT_TACACS, tacacs_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_TACACS, tacacs_handle);
}
static int proto_tacplus = -1;
diff --git a/epan/dissectors/packet-tapa.c b/epan/dissectors/packet-tapa.c
index d419f870e2..2400c97666 100644
--- a/epan/dissectors/packet-tapa.c
+++ b/epan/dissectors/packet-tapa.c
@@ -86,7 +86,7 @@ static int hf_tapa_tunnel_remaining = -1;
#define PROTO_SHORT_NAME "TAPA"
#define PROTO_LONG_NAME "Trapeze Access Point Access Protocol"
-#define PORT_TAPA 5000
+#define PORT_TAPA 5000 /* Not IANA registered */
typedef enum {
TAPA_TYPE_REQUEST = 0x01,
@@ -626,7 +626,7 @@ proto_reg_handoff_tapa(void)
dissector_handle_t tapa_handle;
tapa_handle = find_dissector("tapa");
- dissector_add_uint("udp.port", PORT_TAPA, tapa_handle);
+ dissector_add_uint_with_preference("udp.port", PORT_TAPA, tapa_handle);
heur_dissector_add( "ip", dissect_tapa_heur, "TAPA over IP", "tapa_ip", proto_tapa, HEURISTIC_ENABLE);
}
diff --git a/epan/dissectors/packet-tdmop.c b/epan/dissectors/packet-tdmop.c
index 6bc470bfd5..3dadcb2a06 100644
--- a/epan/dissectors/packet-tdmop.c
+++ b/epan/dissectors/packet-tdmop.c
@@ -27,7 +27,6 @@
#include <epan/packet.h>
#include <epan/prefs.h>
-#define TDMOP_PORT 0
/*Using of ethertype 0x0808(assigned to Frame Realy ARP) was implemented in hardware, when ethertype was not assigned*/
#define ETHERTYPE_TDMOP 0
@@ -61,7 +60,6 @@ static dissector_handle_t lapd_handle = NULL;
static gint pref_tdmop_d_channel = 16;
static guint32 pref_tdmop_mask = 0xFFFFFFFFUL;
static guint32 pref_tdmop_ethertype = ETHERTYPE_TDMOP;
-static guint32 pref_tdmop_udpport = TDMOP_PORT;
#define TDMOP_FLAG_NO_DATA (1<<3)
#define TDMOP_FLAG_REMOTE_NO_DATA (1<<2)
@@ -315,11 +313,7 @@ void proto_register_tdmop(void)
&ett_tdmop,
&ett_tdmop_channel
};
- proto_tdmop = proto_register_protocol (
- "TDMoP protocol",
- "TDMoP",
- "tdmop"
- );
+ proto_tdmop = proto_register_protocol ("TDMoP protocol", "TDMoP", "tdmop");
proto_register_field_array(proto_tdmop, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
tdmop_module = prefs_register_protocol(proto_tdmop, proto_reg_handoff_tdmop);
@@ -335,10 +329,6 @@ void proto_register_tdmop(void)
"Ethertype for TDMoP stream(Usually 0808)",
"The ethertype assigned to TDMoP (without IP/UDP) stream",
16, &pref_tdmop_ethertype);
- prefs_register_uint_preference(tdmop_module, "udpport",
- "UDP Port of TDMoP stream(Usually 41000)",
- "The udp port assigned to TDMoP stream",
- 10, &pref_tdmop_udpport);
}
void proto_reg_handoff_tdmop(void)
@@ -346,19 +336,16 @@ void proto_reg_handoff_tdmop(void)
static dissector_handle_t tdmop_handle;
static gboolean init = FALSE;
static guint32 current_tdmop_ethertype;
- static guint32 current_tdmop_udpport;
if (!init)
{
tdmop_handle = create_dissector_handle(dissect_tdmop, proto_tdmop);
- if (pref_tdmop_udpport) {
- dissector_add_uint("udp.port", pref_tdmop_udpport, tdmop_handle);
- }
+ dissector_add_for_decode_as_with_preference("udp.port", tdmop_handle);
+
if (pref_tdmop_ethertype) {
dissector_add_uint("ethertype", pref_tdmop_ethertype, tdmop_handle);
}
lapd_handle = find_dissector_add_dependency("lapd-bitstream", proto_tdmop);
current_tdmop_ethertype = pref_tdmop_ethertype;
- current_tdmop_udpport = pref_tdmop_udpport;
init = TRUE;
}
if (current_tdmop_ethertype != pref_tdmop_ethertype)
@@ -369,14 +356,6 @@ void proto_reg_handoff_tdmop(void)
}
current_tdmop_ethertype = pref_tdmop_ethertype;
}
- if (current_tdmop_udpport != pref_tdmop_udpport)
- {
- dissector_delete_uint("udp.port", current_tdmop_udpport, tdmop_handle);
- if (pref_tdmop_udpport) {
- dissector_add_uint("udp.port", pref_tdmop_udpport, tdmop_handle);
- }
- current_tdmop_udpport = pref_tdmop_udpport;
- }
}
/*
diff --git a/epan/dissectors/packet-teamspeak2.c b/epan/dissectors/packet-teamspeak2.c
index c3e5916908..8aa83d24a6 100644
--- a/epan/dissectors/packet-teamspeak2.c
+++ b/epan/dissectors/packet-teamspeak2.c
@@ -224,7 +224,7 @@ static const value_string codecnames[] =
{ 0, NULL }
};
-#define TS2_PORT 8767
+#define TS2_PORT 8767 /* Not IANA registered */
static int proto_ts2 = -1;
@@ -1238,7 +1238,7 @@ void proto_reg_handoff_ts2(void)
{
dissector_handle_t ts2_handle;
ts2_handle = create_dissector_handle(dissect_ts2, proto_ts2);
- dissector_add_uint("udp.port", TS2_PORT, ts2_handle);
+ dissector_add_uint_with_preference("udp.port", TS2_PORT, ts2_handle);
}
/*
diff --git a/epan/dissectors/packet-teredo.c b/epan/dissectors/packet-teredo.c
index e4e86b5e00..cd17a225e6 100644
--- a/epan/dissectors/packet-teredo.c
+++ b/epan/dissectors/packet-teredo.c
@@ -401,7 +401,7 @@ proto_reg_handoff_teredo(void)
data_handle = find_dissector("ipv6");
teredo_tap = register_tap("teredo");
- dissector_add_uint("udp.port", UDP_PORT_TEREDO, teredo_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_TEREDO, teredo_handle);
heur_dissector_add("udp", dissect_teredo_heur, "Teredo over UDP", "teredo_udp", proto_teredo, HEURISTIC_DISABLE);
}
diff --git a/epan/dissectors/packet-tetra.c b/epan/dissectors/packet-tetra.c
index e92d9dd1e4..049b38622a 100644
--- a/epan/dissectors/packet-tetra.c
+++ b/epan/dissectors/packet-tetra.c
@@ -56,7 +56,7 @@ static int proto_tetra = -1;
static dissector_handle_t tetra_handle;
-static int global_tetra_port = 7074;
+#define TETRA_UDP_PORT 7074 /* Not IANA assigned */
/* Whether the capture data include carrier numbers */
static gboolean include_carrier_number = TRUE;
@@ -9268,13 +9268,8 @@ dissect_tetra(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U
void proto_reg_handoff_tetra(void)
{
- static gboolean initialized=FALSE;
-
- if (!initialized) {
- tetra_handle = create_dissector_handle(dissect_tetra, proto_tetra);
- dissector_add_uint("udp.port", global_tetra_port, tetra_handle);
- }
-
+ tetra_handle = create_dissector_handle(dissect_tetra, proto_tetra);
+ dissector_add_uint_with_preference("udp.port", TETRA_UDP_PORT, tetra_handle);
}
@@ -11713,7 +11708,7 @@ void proto_register_tetra (void)
"T_simplex_duplex_selection_05", HFILL }},
/*--- End of included file: packet-tetra-hfarr.c ---*/
-#line 622 "./asn1/tetra/packet-tetra-template.c"
+#line 617 "./asn1/tetra/packet-tetra-template.c"
};
/* List of subtrees */
@@ -11998,7 +11993,7 @@ void proto_register_tetra (void)
&ett_tetra_Modify_type,
/*--- End of included file: packet-tetra-ettarr.c ---*/
-#line 632 "./asn1/tetra/packet-tetra-template.c"
+#line 627 "./asn1/tetra/packet-tetra-template.c"
};
static ei_register_info ei[] = {
diff --git a/epan/dissectors/packet-tftp.c b/epan/dissectors/packet-tftp.c
index 2db40e701e..13ca3588a1 100644
--- a/epan/dissectors/packet-tftp.c
+++ b/epan/dissectors/packet-tftp.c
@@ -45,6 +45,7 @@
#include <epan/conversation.h>
#include <epan/expert.h>
#include <epan/prefs.h>
+#include <epan/prefs-int.h>
#include <epan/tap.h>
#include "packet-tftp.h"
@@ -602,6 +603,13 @@ dissect_tftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
}
+static void
+apply_tftp_prefs(void) {
+ pref_t *tftp_ports = prefs_find_preference(prefs_find_module("tftp"), "udp.port");
+
+ global_tftp_port_range = range_copy(*tftp_ports->varp.range);
+}
+
void
proto_register_tftp(void)
{
@@ -665,27 +673,17 @@ proto_register_tftp(void)
{ &ei_tftp_blocksize_range, { "tftp.blocksize_range", PI_RESPONSE_CODE, PI_WARN, "TFTP blocksize out of range", EXPFILL }},
};
- module_t *tftp_module;
expert_module_t* expert_tftp;
- proto_tftp = proto_register_protocol("Trivial File Transfer Protocol",
- "TFTP", "tftp");
+ proto_tftp = proto_register_protocol("Trivial File Transfer Protocol", "TFTP", "tftp");
proto_register_field_array(proto_tftp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_tftp = expert_register_protocol(proto_tftp);
expert_register_field_array(expert_tftp, ei, array_length(ei));
- register_dissector("tftp", dissect_tftp, proto_tftp);
+ tftp_handle = register_dissector("tftp", dissect_tftp, proto_tftp);
- /* Set default UDP ports */
- range_convert_str(&global_tftp_port_range, UDP_PORT_TFTP_RANGE, MAX_UDP_PORT);
-
- tftp_module = prefs_register_protocol(proto_tftp, proto_reg_handoff_tftp);
- prefs_register_range_preference(tftp_module, "udp_ports",
- "TFTP port numbers",
- "Port numbers used for TFTP traffic "
- "(default " UDP_PORT_TFTP_RANGE ")",
- &global_tftp_port_range, MAX_UDP_PORT);
+ prefs_register_protocol(proto_tftp, apply_tftp_prefs);
/* Register the tap for the "Export Object" function */
tftp_eo_tap = register_tap("tftp_eo"); /* TFTP Export Object tap */
@@ -694,20 +692,9 @@ proto_register_tftp(void)
void
proto_reg_handoff_tftp(void)
{
- static range_t *tftp_port_range;
- static gboolean tftp_initialized = FALSE;
-
- if (!tftp_initialized) {
- tftp_handle = find_dissector("tftp");
- heur_dissector_add("stun", dissect_embeddedtftp_heur, "TFTP over TURN", "tftp_stun", proto_tftp, HEURISTIC_ENABLE);
- tftp_initialized = TRUE;
- } else {
- dissector_delete_uint_range("udp.port", tftp_port_range, tftp_handle);
- g_free(tftp_port_range);
- }
+ heur_dissector_add("stun", dissect_embeddedtftp_heur, "TFTP over TURN", "tftp_stun", proto_tftp, HEURISTIC_ENABLE);
- tftp_port_range = range_copy(global_tftp_port_range);
- dissector_add_uint_range("udp.port", tftp_port_range, tftp_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_TFTP_RANGE, tftp_handle);
}
/*
diff --git a/epan/dissectors/packet-time.c b/epan/dissectors/packet-time.c
index c0017ab155..2ec484ce84 100644
--- a/epan/dissectors/packet-time.c
+++ b/epan/dissectors/packet-time.c
@@ -121,7 +121,7 @@ proto_reg_handoff_time(void)
dissector_handle_t time_handle;
time_handle = create_dissector_handle(dissect_time, proto_time);
- dissector_add_uint("udp.port", TIME_PORT, time_handle);
+ dissector_add_uint_with_preference("udp.port", TIME_PORT, time_handle);
dissector_add_uint_with_preference("tcp.port", TIME_PORT, time_handle);
}
diff --git a/epan/dissectors/packet-tipc.c b/epan/dissectors/packet-tipc.c
index 58e0c4639f..e15f7d4fd9 100644
--- a/epan/dissectors/packet-tipc.c
+++ b/epan/dissectors/packet-tipc.c
@@ -212,9 +212,7 @@ static gboolean tipc_tcp_desegment = TRUE;
static dissector_handle_t tipc_handle;
/* IANA have assigned port 6118 port for TIPC UDP transport. */
-#define DEFAULT_TIPC_PORT_RANGE "0"
-
-static range_t *global_tipc_udp_port_range;
+#define DEFAULT_TIPC_PORT_RANGE "6118"
/* this is used to find encapsulated protocols */
static dissector_table_t tipc_user_dissector;
@@ -3041,20 +3039,11 @@ proto_register_tipc(void)
register_cleanup_routine(tipc_defragment_cleanup);
/* Register configuration options */
- tipc_module = prefs_register_protocol(proto_tipc, proto_reg_handoff_tipc);
+ tipc_module = prefs_register_protocol(proto_tipc, NULL);
tipc_address_type = address_type_dissector_register("AT_TIPC", "TIPC Address Zone,Subnetwork,Processor",
tipc_addr_to_str_buf, tipc_addr_str_len, NULL, NULL, NULL, NULL, NULL);
- /* Set default ports */
- range_convert_str(&global_tipc_udp_port_range, DEFAULT_TIPC_PORT_RANGE, MAX_TCP_PORT);
-
- prefs_register_range_preference(tipc_module, "udp.ports", "TIPC UDP ports",
- "UDP ports to be decoded as TIPC (default: "
- DEFAULT_TIPC_PORT_RANGE ")"
- "IANA have assigned port 6118 port for TIPC UDP transport.",
- &global_tipc_udp_port_range, MAX_UDP_PORT);
-
prefs_register_bool_preference(tipc_module, "defragment",
"Reassemble TIPCv1 SEGMENTATION_MANAGER datagrams",
"Whether TIPCv1 SEGMENTATION_MANAGER datagrams should be reassembled",
@@ -3087,25 +3076,14 @@ proto_register_tipc(void)
void
proto_reg_handoff_tipc(void)
{
- static gboolean inited = FALSE;
- static dissector_handle_t tipc_tcp_handle;
- static range_t *tipc_udp_port_range;
-
- if (!inited) {
- tipc_tcp_handle = create_dissector_handle(dissect_tipc_tcp, proto_tipc);
- ip_handle = find_dissector("ip");
+ dissector_handle_t tipc_tcp_handle;
- dissector_add_uint("ethertype", ETHERTYPE_TIPC, tipc_handle);
-
- dissector_add_for_decode_as_with_preference("tcp.port", tipc_tcp_handle);
- inited = TRUE;
- } else {
- dissector_add_uint_range("udp.port", tipc_udp_port_range, tipc_handle);
- g_free(tipc_udp_port_range);
- }
+ tipc_tcp_handle = create_dissector_handle(dissect_tipc_tcp, proto_tipc);
+ ip_handle = find_dissector("ip");
- tipc_udp_port_range = range_copy(global_tipc_udp_port_range);
- dissector_add_uint_range("udp.port", tipc_udp_port_range, tipc_handle);
+ dissector_add_uint("ethertype", ETHERTYPE_TIPC, tipc_handle);
+ dissector_add_for_decode_as_with_preference("tcp.port", tipc_tcp_handle);
+ dissector_add_uint_range_with_preference("udp.port", DEFAULT_TIPC_PORT_RANGE, tipc_handle);
}
/*
diff --git a/epan/dissectors/packet-tivoconnect.c b/epan/dissectors/packet-tivoconnect.c
index a51a80a068..3af0cc83c1 100644
--- a/epan/dissectors/packet-tivoconnect.c
+++ b/epan/dissectors/packet-tivoconnect.c
@@ -242,7 +242,7 @@ proto_reg_handoff_tivoconnect(void)
tivoconnect_tcp_handle = create_dissector_handle(dissect_tivoconnect_tcp, proto_tivoconnect);
tivoconnect_udp_handle = create_dissector_handle(dissect_tivoconnect_udp, proto_tivoconnect);
- dissector_add_uint("udp.port", TIVOCONNECT_PORT, tivoconnect_udp_handle);
+ dissector_add_uint_with_preference("udp.port", TIVOCONNECT_PORT, tivoconnect_udp_handle);
dissector_add_uint_with_preference("tcp.port", TIVOCONNECT_PORT, tivoconnect_tcp_handle);
}
diff --git a/epan/dissectors/packet-tsp.c b/epan/dissectors/packet-tsp.c
index e7ab7be488..96482ff4db 100644
--- a/epan/dissectors/packet-tsp.c
+++ b/epan/dissectors/packet-tsp.c
@@ -168,7 +168,7 @@ proto_reg_handoff_tsp(void)
dissector_handle_t tsp_handle;
tsp_handle = create_dissector_handle(dissect_tsp, proto_tsp);
- dissector_add_uint("udp.port", UDP_PORT_TIMED, tsp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_TIMED, tsp_handle);
}
diff --git a/epan/dissectors/packet-turnchannel.c b/epan/dissectors/packet-turnchannel.c
index f9f0c71b79..fde45dd392 100644
--- a/epan/dissectors/packet-turnchannel.c
+++ b/epan/dissectors/packet-turnchannel.c
@@ -206,7 +206,7 @@ proto_reg_handoff_turnchannel(void)
/* Register for "Decode As" in case STUN negotiation isn't captured */
dissector_add_for_decode_as_with_preference("tcp.port", turnchannel_tcp_handle);
- dissector_add_for_decode_as("udp.port", turnchannel_udp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", turnchannel_udp_handle);
/* TURN negotiation is handled through STUN2 dissector (packet-stun.c),
so only it should be able to determine if a packet is a TURN packet */
diff --git a/epan/dissectors/packet-tzsp.c b/epan/dissectors/packet-tzsp.c
index 278dd59bed..efd1f0e8e7 100644
--- a/epan/dissectors/packet-tzsp.c
+++ b/epan/dissectors/packet-tzsp.c
@@ -37,7 +37,7 @@
* for a description of the protocol.
*/
-#define UDP_PORT_TZSP 0x9090
+#define UDP_PORT_TZSP 0x9090 /* Not IANA registered */
void proto_register_tzsp(void);
void proto_reg_handoff_tzsp(void);
@@ -539,8 +539,7 @@ proto_register_tzsp(void)
&ett_tag
};
- proto_tzsp = proto_register_protocol("Tazmen Sniffer Protocol", "TZSP",
- "tzsp");
+ proto_tzsp = proto_register_protocol("Tazmen Sniffer Protocol", "TZSP", "tzsp");
proto_register_field_array(proto_tzsp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
@@ -550,7 +549,7 @@ proto_register_tzsp(void)
void
proto_reg_handoff_tzsp(void)
{
- dissector_add_uint("udp.port", UDP_PORT_TZSP, tzsp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_TZSP, tzsp_handle);
/* Get the data dissector for handling various encapsulation types. */
eth_maybefcs_handle = find_dissector_add_dependency("eth_maybefcs", proto_tzsp);
diff --git a/epan/dissectors/packet-uaudp.c b/epan/dissectors/packet-uaudp.c
index a5bc3e7b80..e193036840 100644
--- a/epan/dissectors/packet-uaudp.c
+++ b/epan/dissectors/packet-uaudp.c
@@ -25,12 +25,14 @@
#include "epan/packet.h"
#include "epan/prefs.h"
+#include "epan/prefs-int.h"
#include "wsutil/report_err.h"
#include "wsutil/inet_addr.h"
#include "packet-uaudp.h"
void proto_register_uaudp(void);
+void proto_reg_handoff_uaudp(void);
/* GLOBALS */
@@ -64,11 +66,12 @@ static int hf_uaudp_sntseq = -1;
static gint ett_uaudp = -1;
/* pref */
+#define UAUDP_PORT_RANGE "32000,32512" /* Not IANA registered */
+static range_t *ua_udp_range = NULL;
static guint32 sys_ip;
static const char* pref_sys_ip_s = "";
static gboolean use_sys_ip = FALSE;
-static gboolean decode_ua = TRUE;
static const value_string uaudp_opcode_str[] =
{
@@ -104,39 +107,6 @@ value_string_ext uaudp_connect_vals_ext = VALUE_STRING_EXT_INIT(uaudp_connect_va
static dissector_handle_t ua_sys_to_term_handle;
static dissector_handle_t ua_term_to_sys_handle;
-typedef struct
-{
- const char *name;
- const char *text;
- guint port;
- guint last_port;
-} prefs_uaudp_t;
-
-static prefs_uaudp_t ports[] =
-{
- {"port1", "Terminal UDP port (setting 1)", 32000, 32000},
- {"port2", "Terminal UDP port (setting 2)", 32512, 32512},
- {"port3", "Terminal UDP port (setting 3)", 0, 0},
- {"port4", "Terminal UDP port (setting 4)", 0, 0},
-#if 0
- {"port5", "Terminal UDP port (setting 5)", 0, 0},
- {"port6", "Terminal UDP port (setting 6)", 0, 0},
- {"port7", "Terminal UDP port (setting 7)", 0, 0},
- {"port8", "Terminal UDP port (setting 8)", 0, 0}
-#endif
-};
-#define MAX_TERMINAL_PORTS (signed)(array_length(ports))
-
-static gboolean find_terminal_port(guint port)
-{
- int i;
- for (i=0; i<MAX_TERMINAL_PORTS; i++)
- if (ports[i].port == port)
- return TRUE;
- return FALSE;
-}
-
-
static void rV(proto_tree *tree, int *V, tvbuff_t *tvb, gint offset, gint8 L)
{
switch(L)
@@ -372,12 +342,12 @@ static int dissect_uaudp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
}
/* use ports to find direction */
- if (find_terminal_port(pinfo->srcport))
+ if (value_is_in_range(ua_udp_range, pinfo->srcport))
{
_dissect_uaudp(tvb, pinfo, tree, TERM_TO_SYS);
return tvb_captured_length(tvb);
}
- else if (find_terminal_port(pinfo->destport))
+ else if (value_is_in_range(ua_udp_range, pinfo->destport))
{
_dissect_uaudp(tvb, pinfo, tree, SYS_TO_TERM);
return tvb_captured_length(tvb);
@@ -387,14 +357,24 @@ static int dissect_uaudp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
return tvb_captured_length(tvb);
}
+static void
+apply_uaudp_prefs(void) {
+ pref_t *ua_ports = prefs_find_preference(prefs_find_module("uaudp"), "udp.port");
-/* Register the protocol with Wireshark */
-void proto_reg_handoff_uaudp(void);
+ ua_udp_range = range_copy(*ua_ports->varp.range);
+
+ if (*pref_sys_ip_s) {
+ use_sys_ip = ws_inet_pton4(pref_sys_ip_s, &sys_ip);
+ if (!use_sys_ip) {
+ report_failure("Invalid value for pref uaudp.system_ip: %s",
+ pref_sys_ip_s);
+ }
+ }
+}
void proto_register_uaudp(void)
{
module_t *uaudp_module;
- int i;
/* Setup list of header fields. See Section 1.6.1 for details */
static hf_register_info hf_uaudp[] = {
@@ -561,9 +541,7 @@ void proto_register_uaudp(void)
};
/* Register the protocol name and description */
- proto_uaudp = proto_register_protocol("UA/UDP Encapsulation Protocol",
- "UAUDP",
- "uaudp");
+ proto_uaudp = proto_register_protocol("UA/UDP Encapsulation Protocol", "UAUDP", "uaudp");
uaudp_handle = register_dissector("uaudp", dissect_uaudp, proto_uaudp);
#if 0 /* XXX: Not used ?? */
@@ -575,23 +553,17 @@ void proto_register_uaudp(void)
proto_register_field_array(proto_uaudp, hf_uaudp, array_length(hf_uaudp));
proto_register_subtree_array(ett, array_length(ett));
- /* Register preferences */
- uaudp_module = prefs_register_protocol(proto_uaudp, proto_reg_handoff_uaudp);
-
#if 0
- prefs_register_bool_preference(uaudp_module, "enable",
- "Enable UA/UDP decoding based on preferences",
- "Enable UA/UDP decoding based on preferences",
- &decode_ua);
+ uaudp_opcode_dissector_table =
+ register_dissector_table("uaudp.opcode",
+ "UAUDP opcode",
+ FT_UINT8,
+ BASE_DEC);
#endif
- for (i=0; i<MAX_TERMINAL_PORTS; i++) {
- prefs_register_uint_preference(uaudp_module,
- ports[i].name,
- ports[i].text,
- ports[i].text,
- 10,
- &ports[i].port);
- }
+
+ /* Register preferences */
+ uaudp_module = prefs_register_protocol(proto_uaudp, apply_uaudp_prefs);
+
prefs_register_string_preference(uaudp_module, "system_ip",
"System IP Address (optional)",
"IPv4 address of the DHS3 system."
@@ -604,62 +576,12 @@ void proto_register_uaudp(void)
#endif
}
-
void proto_reg_handoff_uaudp(void)
{
- static gboolean prefs_initialized = FALSE;
- int i;
-
- if (!prefs_initialized)
- {
- 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",
- "UAUDP opcode",
- FT_UINT8,
- BASE_DEC);
-#endif
- prefs_initialized = TRUE;
- }
- else
- {
- for (i=0; i<MAX_TERMINAL_PORTS; i++)
- {
- if (ports[i].last_port)
- dissector_delete_uint("udp.port", ports[i].last_port, uaudp_handle);
- }
- if (*pref_sys_ip_s) {
- use_sys_ip = ws_inet_pton4(pref_sys_ip_s, &sys_ip);
- if (!use_sys_ip) {
- report_failure("Invalid value for pref uaudp.system_ip: %s",
- pref_sys_ip_s);
- }
- }
- }
+ 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 (decode_ua)
- {
- int no_ports_registered = TRUE;
-
- for (i=0; i < MAX_TERMINAL_PORTS; i++)
- {
- if (ports[i].port)
- {
- dissector_add_uint("udp.port", ports[i].port, uaudp_handle);
- no_ports_registered = FALSE;
- }
- ports[i].last_port = ports[i].port;
- }
-
- if (no_ports_registered)
- {
- /* If all ports are set to 0, then just register the handle so
- * at least "Decode As..." will work. */
- dissector_add_for_decode_as("udp.port", uaudp_handle);
- }
- }
+ dissector_add_uint_range_with_preference("udp.port", UAUDP_PORT_RANGE, uaudp_handle);
}
/*
diff --git a/epan/dissectors/packet-udt.c b/epan/dissectors/packet-udt.c
index 0ff459269d..09f489a790 100644
--- a/epan/dissectors/packet-udt.c
+++ b/epan/dissectors/packet-udt.c
@@ -452,7 +452,7 @@ void proto_reg_handoff_udt(void)
udt_handle = create_dissector_handle(dissect_udt, proto_udt);
heur_dissector_add("udp", dissect_udt_heur, "UDT over UDP", "udt_udp", proto_udt, HEURISTIC_ENABLE);
- dissector_add_for_decode_as("udp.port", udt_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", udt_handle);
}
diff --git a/epan/dissectors/packet-uftp.c b/epan/dissectors/packet-uftp.c
index c887ecc5f6..91b629f70c 100644
--- a/epan/dissectors/packet-uftp.c
+++ b/epan/dissectors/packet-uftp.c
@@ -138,7 +138,7 @@ void proto_register_uftp(void);
void proto_reg_handoff_uftp(void);
static int proto_uftp = -1;
-static int uftp_port = 1044;
+#define UTFP_PORT 1044 /* Not IANA registered */
/* main header and common fields */
static int hf_uftp_version = -1;
@@ -2212,8 +2212,8 @@ void proto_register_uftp(void)
expert_module_t* expert_uftp;
- proto_uftp = proto_register_protocol("UDP based FTP w/ multicast",
- "UFTP", "uftp");
+ proto_uftp = proto_register_protocol("UDP based FTP w/ multicast", "UFTP", "uftp");
+
proto_register_field_array(proto_uftp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_uftp = expert_register_protocol(proto_uftp);
@@ -2226,7 +2226,7 @@ void proto_reg_handoff_uftp(void)
uftp4_handle = find_dissector("uftp4");
uftp_handle = create_dissector_handle(dissect_uftp, proto_uftp);
- dissector_add_uint("udp.port", uftp_port, uftp_handle);
+ dissector_add_uint_with_preference("udp.port", UTFP_PORT, uftp_handle);
}
/*
diff --git a/epan/dissectors/packet-uhd.c b/epan/dissectors/packet-uhd.c
index 34abc96eef..d3f195ae93 100644
--- a/epan/dissectors/packet-uhd.c
+++ b/epan/dissectors/packet-uhd.c
@@ -31,12 +31,9 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_register_uhd(void);
-static gint dissector_port_pref = 0;
-
/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */
#define USRP2_CTRL_ID_HUH_WHAT 0x20 /* ' ' */
@@ -268,37 +265,18 @@ proto_register_uhd(void)
&ett_uhd
};
- module_t *uhd_module;
-
proto_uhd = proto_register_protocol("UHD", "UHD", "uhd");
proto_register_field_array(proto_uhd, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- uhd_module = prefs_register_protocol(proto_uhd, proto_reg_handoff_uhd);
- prefs_register_uint_preference(uhd_module,
- "dissector_port",
- "Dissector UDP port",
- "The UDP port used by this dissector",
- 10, &dissector_port_pref);
}
void
proto_reg_handoff_uhd(void)
{
- static gboolean uhd_prefs_initialized = FALSE;
- static dissector_handle_t uhd_handle;
- static gint dissector_port;
-
- if (!uhd_prefs_initialized) {
- uhd_handle = create_dissector_handle(dissect_uhd, proto_uhd);
- uhd_prefs_initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", dissector_port, uhd_handle);
- }
-
- dissector_port = dissector_port_pref;
+ dissector_handle_t uhd_handle;
- dissector_add_uint("udp.port", dissector_port, uhd_handle);
+ uhd_handle = create_dissector_handle(dissect_uhd, proto_uhd);
+ dissector_add_for_decode_as_with_preference("udp.port", uhd_handle);
}
/*
diff --git a/epan/dissectors/packet-ulp.c b/epan/dissectors/packet-ulp.c
index eebb9548ca..9d7fb5fa73 100644
--- a/epan/dissectors/packet-ulp.c
+++ b/epan/dissectors/packet-ulp.c
@@ -60,7 +60,6 @@ static dissector_handle_t lpp_handle;
* oma-ulp 7275/udp OMA UserPlane Location
*/
#define ULP_PORT 7275
-static guint gbl_ulp_udp_port = ULP_PORT;
/* Initialize the protocol and registered fields */
static int proto_ulp = -1;
@@ -711,7 +710,7 @@ static int hf_ulp_GANSSSignals_signal7 = -1;
static int hf_ulp_GANSSSignals_signal8 = -1;
/*--- End of included file: packet-ulp-hf.c ---*/
-#line 66 "./asn1/ulp/packet-ulp-template.c"
+#line 65 "./asn1/ulp/packet-ulp-template.c"
static int hf_ulp_mobile_directory_number = -1;
static int hf_ulp_ganssTimeModels_bit0 = -1;
static int hf_ulp_ganssTimeModels_bit1 = -1;
@@ -942,7 +941,7 @@ static gint ett_ulp_PolygonArea = -1;
static gint ett_ulp_PolygonDescription = -1;
/*--- End of included file: packet-ulp-ett.c ---*/
-#line 80 "./asn1/ulp/packet-ulp-template.c"
+#line 79 "./asn1/ulp/packet-ulp-template.c"
static dissector_handle_t ulp_tcp_handle;
@@ -1212,7 +1211,7 @@ ulp_Coordinate_longitude_fmt(gchar *s, guint32 v)
#define maxWimaxBSMeas 32
/*--- End of included file: packet-ulp-val.h ---*/
-#line 330 "./asn1/ulp/packet-ulp-template.c"
+#line 329 "./asn1/ulp/packet-ulp-template.c"
typedef struct
{
@@ -7791,7 +7790,7 @@ static int dissect_ULP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_
/*--- End of included file: packet-ulp-fn.c ---*/
-#line 346 "./asn1/ulp/packet-ulp-template.c"
+#line 345 "./asn1/ulp/packet-ulp-template.c"
static guint
@@ -10362,7 +10361,7 @@ void proto_register_ulp(void) {
NULL, HFILL }},
/*--- End of included file: packet-ulp-hfarr.c ---*/
-#line 372 "./asn1/ulp/packet-ulp-template.c"
+#line 371 "./asn1/ulp/packet-ulp-template.c"
{ &hf_ulp_mobile_directory_number,
{ "Mobile Directory Number", "ulp.mobile_directory_number",
FT_STRING, BASE_NONE, NULL, 0,
@@ -10616,7 +10615,7 @@ void proto_register_ulp(void) {
&ett_ulp_PolygonDescription,
/*--- End of included file: packet-ulp-ettarr.c ---*/
-#line 409 "./asn1/ulp/packet-ulp-template.c"
+#line 408 "./asn1/ulp/packet-ulp-template.c"
};
module_t *ulp_module;
@@ -10630,21 +10629,13 @@ void proto_register_ulp(void) {
proto_register_field_array(proto_ulp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- ulp_module = prefs_register_protocol(proto_ulp,proto_reg_handoff_ulp);
+ ulp_module = prefs_register_protocol(proto_ulp, NULL);
prefs_register_bool_preference(ulp_module, "desegment_ulp_messages",
"Reassemble ULP messages spanning multiple TCP segments",
"Whether the ULP dissector should reassemble messages spanning multiple TCP segments."
" To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
&ulp_desegment);
-
- /* Register a configuration option for port */
- prefs_register_uint_preference(ulp_module, "udp.port",
- "ULP UDP Port",
- "Set the UDP port for ULP messages (IANA registered port is 7275)",
- 10,
- &gbl_ulp_udp_port);
-
}
@@ -10652,23 +10643,15 @@ void proto_register_ulp(void) {
void
proto_reg_handoff_ulp(void)
{
- static gboolean initialized = FALSE;
- static dissector_handle_t ulp_udp_handle;
- static guint local_ulp_udp_port;
+ dissector_handle_t ulp_udp_handle;
- if (!initialized) {
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_add_dependency("rrlp", proto_ulp);
lpp_handle = find_dissector_add_dependency("lpp", proto_ulp);
- dissector_add_uint_with_preference("tcp.port", ULP_PORT, ulp_tcp_handle);
- initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", local_ulp_udp_port, ulp_udp_handle);
- }
- local_ulp_udp_port = gbl_ulp_udp_port;
- dissector_add_uint("udp.port", gbl_ulp_udp_port, ulp_udp_handle);
+ dissector_add_uint_with_preference("tcp.port", ULP_PORT, ulp_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", ULP_PORT, ulp_udp_handle);
}
diff --git a/epan/dissectors/packet-uma.c b/epan/dissectors/packet-uma.c
index 94084b1d79..d1023e2f6f 100644
--- a/epan/dissectors/packet-uma.c
+++ b/epan/dissectors/packet-uma.c
@@ -1754,7 +1754,7 @@ proto_reg_handoff_uma(void)
{
uma_tcp_handle = find_dissector("umatcp");
uma_udp_handle = find_dissector("umaudp");
- dissector_add_for_decode_as("udp.port", uma_udp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", uma_udp_handle);
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");
diff --git a/epan/dissectors/packet-userlog.c b/epan/dissectors/packet-userlog.c
index 22f42995d3..e4571c3443 100644
--- a/epan/dissectors/packet-userlog.c
+++ b/epan/dissectors/packet-userlog.c
@@ -414,7 +414,7 @@ proto_reg_handoff_userlog(void)
dissector_handle_t userlog_handle;
userlog_handle = create_dissector_handle(dissect_userlog, proto_userlog);
- dissector_add_for_decode_as("udp.port", userlog_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", userlog_handle);
}
diff --git a/epan/dissectors/packet-vcdu.c b/epan/dissectors/packet-vcdu.c
index 29cbf9a810..e04eef7931 100644
--- a/epan/dissectors/packet-vcdu.c
+++ b/epan/dissectors/packet-vcdu.c
@@ -669,7 +669,7 @@ proto_register_vcdu(void)
void
proto_reg_handoff_vcdu(void)
{
- dissector_add_for_decode_as("udp.port", vcdu_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", vcdu_handle);
ccsds_handle = find_dissector_add_dependency("ccsds", proto_vcdu);
}
diff --git a/epan/dissectors/packet-vines.c b/epan/dissectors/packet-vines.c
index 6c6da0db18..c2e1c317ab 100644
--- a/epan/dissectors/packet-vines.c
+++ b/epan/dissectors/packet-vines.c
@@ -429,7 +429,7 @@ proto_reg_handoff_vines_frp(void)
vines_frp_new_handle = create_dissector_handle(dissect_vines_frp_new,
proto_vines_frp);
- dissector_add_uint("udp.port", UDP_PORT_VINES, vines_frp_new_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_VINES, vines_frp_new_handle);
}
static dissector_table_t vines_llc_dissector_table;
diff --git a/epan/dissectors/packet-vrt.c b/epan/dissectors/packet-vrt.c
index 129136bd23..5db62628d8 100644
--- a/epan/dissectors/packet-vrt.c
+++ b/epan/dissectors/packet-vrt.c
@@ -28,11 +28,11 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
void proto_register_vrt(void);
+void proto_reg_handoff_vrt(void);
-static gint dissector_port_pref = 4991;
+#define VITA_49_PORT 4991
static int proto_vrt = -1;
@@ -155,10 +155,9 @@ static const int *ind_hfs[] = {
&hf_vrt_trailer_ind_caltime
};
-void dissect_header(tvbuff_t *tvb, proto_tree *tree, int type, int offset);
-void dissect_trailer(tvbuff_t *tvb, proto_tree *tree, int offset);
-void dissect_cid(tvbuff_t *tvb, proto_tree *tree, int offset);
-void proto_reg_handoff_vrt(void);
+static void dissect_header(tvbuff_t *tvb, proto_tree *tree, int type, int offset);
+static void dissect_trailer(tvbuff_t *tvb, proto_tree *tree, int offset);
+static void dissect_cid(tvbuff_t *tvb, proto_tree *tree, int offset);
static int dissect_vrt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
@@ -261,7 +260,7 @@ static int dissect_vrt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void
return tvb_captured_length(tvb);
}
-void dissect_header(tvbuff_t *tvb, proto_tree *tree, int type, int offset)
+static void dissect_header(tvbuff_t *tvb, proto_tree *tree, int type, int offset)
{
proto_item *hdr_item;
proto_tree *hdr_tree;
@@ -284,7 +283,7 @@ void dissect_header(tvbuff_t *tvb, proto_tree *tree, int type, int offset)
proto_tree_add_item(hdr_tree, hf_vrt_len, tvb, offset, 2, ENC_BIG_ENDIAN);
}
-void dissect_trailer(tvbuff_t *tvb, proto_tree *tree, int offset)
+static void dissect_trailer(tvbuff_t *tvb, proto_tree *tree, int offset)
{
proto_item *enable_item, *ind_item, *trailer_item;
proto_tree *enable_tree;
@@ -321,7 +320,7 @@ void dissect_trailer(tvbuff_t *tvb, proto_tree *tree, int offset)
proto_tree_add_item(trailer_tree, hf_vrt_trailer_acpc, tvb, offset, 1, ENC_BIG_ENDIAN);
}
-void dissect_cid(tvbuff_t *tvb, proto_tree *tree, int offset)
+static void dissect_cid(tvbuff_t *tvb, proto_tree *tree, int offset)
{
proto_item *cid_item;
proto_tree *cid_tree;
@@ -634,42 +633,19 @@ proto_register_vrt(void)
&ett_cid
};
- module_t *vrt_module;
-
- proto_vrt = proto_register_protocol (
- "VITA 49 radio transport protocol", /* name */
- "VITA 49", /* short name */
- "vrt" /* abbrev */
- );
+ proto_vrt = proto_register_protocol ("VITA 49 radio transport protocol", "VITA 49", "vrt");
proto_register_field_array(proto_vrt, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- vrt_module = prefs_register_protocol(proto_vrt, proto_reg_handoff_vrt);
- prefs_register_uint_preference(vrt_module,
- "dissector_port",
- "Dissector UDP port",
- "The UDP port used by this dissector",
- 10, &dissector_port_pref);
}
void
proto_reg_handoff_vrt(void)
{
- static gboolean vrt_prefs_initialized = FALSE;
- static dissector_handle_t vrt_handle;
- static gint dissector_port;
-
- if (!vrt_prefs_initialized) {
- vrt_handle = create_dissector_handle(dissect_vrt, proto_vrt);
- vrt_prefs_initialized = TRUE;
- } else {
- dissector_delete_uint("udp.port", dissector_port, vrt_handle);
- }
-
- dissector_port = dissector_port_pref;
+ dissector_handle_t vrt_handle;
- dissector_add_uint("udp.port", dissector_port, vrt_handle);
+ vrt_handle = create_dissector_handle(dissect_vrt, proto_vrt);
+ dissector_add_uint_with_preference("udp.port", VITA_49_PORT, vrt_handle);
}
/*
diff --git a/epan/dissectors/packet-vsip.c b/epan/dissectors/packet-vsip.c
index 7613d6af60..7713ff99ff 100644
--- a/epan/dissectors/packet-vsip.c
+++ b/epan/dissectors/packet-vsip.c
@@ -2081,7 +2081,7 @@ void proto_reg_handoff_vsip(void)
dissector_handle_t vsip_handle;
vsip_handle = create_dissector_handle(dissect_vsip, proto_vsip);
- dissector_add_for_decode_as("udp.port", vsip_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", vsip_handle);
dissector_add_for_decode_as_with_preference("tcp.port", vsip_handle);
}
diff --git a/epan/dissectors/packet-vuze-dht.c b/epan/dissectors/packet-vuze-dht.c
index 30d8cf4f94..334101532f 100644
--- a/epan/dissectors/packet-vuze-dht.c
+++ b/epan/dissectors/packet-vuze-dht.c
@@ -24,10 +24,9 @@
#include "config.h"
#include <epan/packet.h>
-#include <epan/prefs.h>
#include <epan/to_str.h>
-#define DEFAULT_UDP_PORT 11273
+#define DEFAULT_UDP_PORT 11273 /* Not IANA registered */
void proto_register_vuze_dht(void);
@@ -307,9 +306,6 @@ static gint ett_vuze_dht_network_coordinate = -1;
static dissector_handle_t vuze_dht_handle;
-/* port use */
-static guint global_vuze_dht_udp_port = DEFAULT_UDP_PORT;
-
void proto_reg_handoff_vuze_dht(void);
/* --- Address format --------------
@@ -1532,47 +1528,19 @@ proto_register_vuze_dht(void)
&ett_vuze_dht_network_coordinate
};
- module_t *vuze_dht_module;
-
/* Register protocol */
- proto_vuze_dht = proto_register_protocol (
- "Vuze DHT Protocol", /* name */
- "Vuze-DHT", /* short name */
- "vuze-dht" /* abbrev */
- );
+ proto_vuze_dht = proto_register_protocol ( "Vuze DHT Protocol", "Vuze-DHT", "vuze-dht" );
proto_register_field_array(proto_vuze_dht, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
vuze_dht_handle = register_dissector("vuze-dht", dissect_vuze_dht, proto_vuze_dht);
-
- /* Register our configuration options */
- vuze_dht_module = prefs_register_protocol(proto_vuze_dht, proto_reg_handoff_vuze_dht);
-
- prefs_register_uint_preference(vuze_dht_module, "udp_port",
- "Vuze DHT Protocol UDP port",
- "Set the UDP port for Vuze DHT Protocol.",
- 10, &global_vuze_dht_udp_port);
}
void
proto_reg_handoff_vuze_dht(void)
{
- static gboolean vuze_dht_prefs_initialized = FALSE;
- static guint vuze_dht_udp_port;
-
- if (!vuze_dht_prefs_initialized)
- {
- vuze_dht_prefs_initialized = TRUE;
- }
- else
- {
- dissector_delete_uint("udp.port", vuze_dht_udp_port, vuze_dht_handle);
- }
-
- /* Set our port number for future use */
- vuze_dht_udp_port = global_vuze_dht_udp_port;
- dissector_add_uint("udp.port", global_vuze_dht_udp_port, vuze_dht_handle);
+ dissector_add_uint("udp.port", DEFAULT_UDP_PORT, vuze_dht_handle);
}
/*
* Editor modelines
diff --git a/epan/dissectors/packet-vxlan.c b/epan/dissectors/packet-vxlan.c
index dcb20bb8a4..fd7239513a 100644
--- a/epan/dissectors/packet-vxlan.c
+++ b/epan/dissectors/packet-vxlan.c
@@ -306,8 +306,8 @@ proto_reg_handoff_vxlan(void)
vxlan_handle = create_dissector_handle(dissect_vxlan, proto_vxlan);
vxlan_gpe_handle = create_dissector_handle(dissect_vxlan_gpe, proto_vxlan_gpe);
- dissector_add_uint("udp.port", UDP_PORT_VXLAN, vxlan_handle);
- dissector_add_uint("udp.port", UDP_PORT_VXLAN_GPE, vxlan_gpe_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_VXLAN, vxlan_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_VXLAN_GPE, vxlan_gpe_handle);
}
/*
diff --git a/epan/dissectors/packet-wap.h b/epan/dissectors/packet-wap.h
index f27da84971..d95fb58c13 100644
--- a/epan/dissectors/packet-wap.h
+++ b/epan/dissectors/packet-wap.h
@@ -35,11 +35,13 @@
/* Port Numbers as per IANA */
/* < URL:http://www.iana.org/assignments/port-numbers/ > */
#define UDP_PORT_WSP 9200 /* wap-wsp */
+#define UDP_PORT_WSP_RANGE "2948,9200" /* wap-wsp */
#define UDP_PORT_WTP_WSP 9201 /* wap-wsp-wtp */
#define UDP_PORT_WTLS_WSP 9202 /* wap-wsp-s */
#define UDP_PORT_WTLS_WTP_WSP 9203 /* wap-wsp-wtp-s */
#define UDP_PORT_WSP_PUSH 2948 /* wap-wsp */
#define UDP_PORT_WTLS_WSP_PUSH 2949 /* wap-wsp-s */
+#define UDP_PORT_WTLS_RANGE "2949,9202-9203" /* wap-wsp */
/*
* Note:
diff --git a/epan/dissectors/packet-wassp.c b/epan/dissectors/packet-wassp.c
index 527c785d59..27c3d97056 100644
--- a/epan/dissectors/packet-wassp.c
+++ b/epan/dissectors/packet-wassp.c
@@ -341,8 +341,7 @@ static int hf_config_radio_tx_power_adj = -1;
#define PROTO_SHORT_NAME "WASSP"
#define PROTO_LONG_NAME "Wireless Access Station Session Protocol"
-#define PORT_WASSP_DISCOVER 13907
-#define PORT_WASSP_TUNNEL 13910
+#define PORT_WASSP_RANGE "13907,13910" /* Not IANA registered */
/* #define PORT_WASSP_PEER 13913?? */
/* ============= copy/paste/modify from value_string.[hc] ============== */
@@ -2097,8 +2096,7 @@ proto_reg_handoff_wassp(void)
wassp_handle = create_dissector_handle(dissect_wassp_static, proto_wassp);
- dissector_add_uint("udp.port", PORT_WASSP_DISCOVER, wassp_handle);
- dissector_add_uint("udp.port", PORT_WASSP_TUNNEL, wassp_handle);
+ dissector_add_uint_range_with_preference("udp.port", PORT_WASSP_RANGE, wassp_handle);
/* dissector_add_uint("udp.port", PORT_WASSP_PEER, wassp_handle); */
heur_dissector_add("udp", dissect_wassp_heur, "WASSP over UDP", "wassp_udp", proto_wassp, HEURISTIC_DISABLE);
diff --git a/epan/dissectors/packet-wccp.c b/epan/dissectors/packet-wccp.c
index 88aa7f638f..35da7f6dee 100644
--- a/epan/dissectors/packet-wccp.c
+++ b/epan/dissectors/packet-wccp.c
@@ -3569,7 +3569,7 @@ proto_reg_handoff_wccp(void)
dissector_handle_t wccp_handle;
wccp_handle = create_dissector_handle(dissect_wccp, proto_wccp);
- dissector_add_uint("udp.port", UDP_PORT_WCCP, wccp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_WCCP, wccp_handle);
}
/*
diff --git a/epan/dissectors/packet-who.c b/epan/dissectors/packet-who.c
index 3f2753a81c..66d9a25506 100644
--- a/epan/dissectors/packet-who.c
+++ b/epan/dissectors/packet-who.c
@@ -287,7 +287,7 @@ proto_reg_handoff_who(void)
dissector_handle_t who_handle;
who_handle = create_dissector_handle(dissect_who, proto_who);
- dissector_add_uint("udp.port", UDP_PORT_WHO, who_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_WHO, who_handle);
}
/*
diff --git a/epan/dissectors/packet-wlccp.c b/epan/dissectors/packet-wlccp.c
index 0a0ac2b669..b9bc260cf8 100644
--- a/epan/dissectors/packet-wlccp.c
+++ b/epan/dissectors/packet-wlccp.c
@@ -69,7 +69,7 @@ void proto_reg_handoff_wlccp(void);
/* The UDP port that WLCCP is expected to ride on */
/* WLCCP also uses an LLC OUI type and an ethertype */
-#define WLCCP_UDP_PORT 2887
+#define WLCCP_UDP_PORT 2887 /* Not IANA registered */
/* SAP is 2-bit version and 6-bit Type */
@@ -4114,7 +4114,7 @@ proto_reg_handoff_wlccp(void)
wlccp_handle = create_dissector_handle(dissect_wlccp, proto_wlccp);
dissector_add_uint("ethertype", ETHERTYPE_WLCCP, wlccp_handle);
- dissector_add_uint("udp.port", WLCCP_UDP_PORT, wlccp_handle);
+ dissector_add_uint_with_preference("udp.port", WLCCP_UDP_PORT, wlccp_handle);
dissector_add_uint("llc.wlccp_pid", 0x0000, wlccp_handle);
}
diff --git a/epan/dissectors/packet-wsp.c b/epan/dissectors/packet-wsp.c
index fec6900c6d..45ba624ac7 100644
--- a/epan/dissectors/packet-wsp.c
+++ b/epan/dissectors/packet-wsp.c
@@ -7164,15 +7164,9 @@ proto_register_wsp(void)
expert_module_t* expert_wsp;
/* Register the protocol name and description */
- proto_wsp = proto_register_protocol(
- "Wireless Session Protocol", /* protocol name for use by wireshark */
- "WSP", /* short version of name */
- "wsp" /* Abbreviated protocol name,
- should Match IANA:
- < URL:http://www.iana.org/assignments/port-numbers/ >
- */
- );
+ proto_wsp = proto_register_protocol( "Wireless Session Protocol", "WSP", "wsp");
wsp_tap = register_tap("wsp");
+
/* Init the hash table */
/* wsp_sessions = g_hash_table_new(
(GHashFunc) wsp_session_hash,
@@ -7203,8 +7197,7 @@ proto_reg_handoff_wsp(void)
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);
- dissector_add_uint("udp.port", UDP_PORT_WSP_PUSH, wsp_fromudp_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_WSP_RANGE, wsp_fromudp_handle);
/* GSM SMS UD dissector can also carry WSP */
dissector_add_uint("gsm_sms_ud.udh.port", UDP_PORT_WSP, wsp_fromudp_handle);
diff --git a/epan/dissectors/packet-wtls.c b/epan/dissectors/packet-wtls.c
index 3e51e55892..53f1fbc0aa 100644
--- a/epan/dissectors/packet-wtls.c
+++ b/epan/dissectors/packet-wtls.c
@@ -1569,13 +1569,7 @@ proto_register_wtls(void)
};
/* Register the protocol name and description */
- proto_wtls = proto_register_protocol(
- "Wireless Transport Layer Security", /* protocol name for use by wireshark */
- "WTLS", /* short version of name */
- "wtls" /* Abbreviated protocol name, should Match IANA
- < URL:http://www.iana.org/assignments/port-numbers/ >
- */
- );
+ proto_wtls = proto_register_protocol("Wireless Transport Layer Security", "WTLS", "wtls" );
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_wtls, hf, array_length(hf));
@@ -1588,9 +1582,7 @@ proto_reg_handoff_wtls(void)
dissector_handle_t wtls_handle;
wtls_handle = create_dissector_handle(dissect_wtls, proto_wtls);
- dissector_add_uint("udp.port", UDP_PORT_WTLS_WSP, wtls_handle);
- dissector_add_uint("udp.port", UDP_PORT_WTLS_WTP_WSP, wtls_handle);
- dissector_add_uint("udp.port", UDP_PORT_WTLS_WSP_PUSH,wtls_handle);
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_WTLS_RANGE, wtls_handle);
}
/*
diff --git a/epan/dissectors/packet-wtp.c b/epan/dissectors/packet-wtp.c
index 3d16a51c15..709c81e6ff 100644
--- a/epan/dissectors/packet-wtp.c
+++ b/epan/dissectors/packet-wtp.c
@@ -1078,7 +1078,7 @@ proto_reg_handoff_wtp(void)
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);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_WTP_WSP, wtp_fromudp_handle);
dissector_add_uint("gsm_sms_ud.udh.port", UDP_PORT_WTP_WSP, wtp_fromudp_handle);
dissector_add_uint("gsm_sms.udh.port", UDP_PORT_WTP_WSP, wtp_fromudp_handle);
}
diff --git a/epan/dissectors/packet-xdmcp.c b/epan/dissectors/packet-xdmcp.c
index dbdf564703..782c687b98 100644
--- a/epan/dissectors/packet-xdmcp.c
+++ b/epan/dissectors/packet-xdmcp.c
@@ -610,8 +610,7 @@ void proto_register_xdmcp(void)
expert_module_t* expert_xdmcp;
/* Register the protocol name and description */
- proto_xdmcp = proto_register_protocol("X Display Manager Control Protocol",
- "XDMCP", "xdmcp");
+ proto_xdmcp = proto_register_protocol("X Display Manager Control Protocol", "XDMCP", "xdmcp");
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_xdmcp, hf, array_length(hf));
@@ -626,7 +625,7 @@ proto_reg_handoff_xdmcp(void)
dissector_handle_t xdmcp_handle;
xdmcp_handle = create_dissector_handle(dissect_xdmcp, proto_xdmcp);
- dissector_add_uint("udp.port", UDP_PORT_XDMCP, xdmcp_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_XDMCP, xdmcp_handle);
}
/*
* Editor modelines
diff --git a/epan/dissectors/packet-xyplex.c b/epan/dissectors/packet-xyplex.c
index 6f0c49537f..d8217c913d 100644
--- a/epan/dissectors/packet-xyplex.c
+++ b/epan/dissectors/packet-xyplex.c
@@ -206,7 +206,7 @@ void
proto_reg_handoff_xyplex(void)
{
xyplex_handle = create_dissector_handle(dissect_xyplex, proto_xyplex);
- dissector_add_uint("udp.port", UDP_PORT_XYPLEX, xyplex_handle);
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_XYPLEX, xyplex_handle);
}
/*
diff --git a/epan/dissectors/packet-yami.c b/epan/dissectors/packet-yami.c
index c7bb2d8a48..69c53bd189 100644
--- a/epan/dissectors/packet-yami.c
+++ b/epan/dissectors/packet-yami.c
@@ -37,7 +37,6 @@ void proto_reg_handoff_yami(void);
void proto_register_yami(void);
static gboolean yami_desegment = TRUE;
-static guint global_yami_config_udp_port = 0;
static dissector_handle_t yami_handle;
@@ -586,8 +585,7 @@ proto_register_yami(void)
proto_register_fields(proto_yami, hfi, array_length(hfi));
proto_register_subtree_array(ett, array_length(ett));
- yami_module = prefs_register_protocol(proto_yami, proto_reg_handoff_yami);
- prefs_register_uint_preference(yami_module, "udp.port", "YAMI UDP Port", "The UDP port on which YAMI messages will be read(5000)", 10, &global_yami_config_udp_port);
+ yami_module = prefs_register_protocol(proto_yami, NULL);
prefs_register_bool_preference(yami_module, "desegment",
"Reassemble YAMI messages spanning multiple TCP segments",
"Whether the YAMI dissector should reassemble messages spanning multiple TCP segments."
@@ -600,20 +598,8 @@ proto_register_yami(void)
void
proto_reg_handoff_yami(void)
{
- static int yami_prefs_initialized = FALSE;
- static guint yami_udp_port;
-
- if(yami_prefs_initialized == FALSE){
- yami_prefs_initialized = TRUE;
- yami_udp_port = global_yami_config_udp_port;
- dissector_add_for_decode_as_with_preference("tcp.port", yami_handle);
- }else{
- dissector_delete_uint("udp.port", yami_udp_port, yami_handle);
- }
-
- yami_udp_port = global_yami_config_udp_port;
-
- dissector_add_uint("udp.port", yami_udp_port, yami_handle);
+ dissector_add_for_decode_as_with_preference("tcp.port", yami_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", yami_handle);
}
/*
diff --git a/epan/dissectors/packet-zep.c b/epan/dissectors/packet-zep.c
index de6024d7e8..8f3618a3a9 100644
--- a/epan/dissectors/packet-zep.c
+++ b/epan/dissectors/packet-zep.c
@@ -45,7 +45,6 @@
#include <epan/packet.h>
-#include <epan/prefs.h>
#include "packet-ntp.h"
#include "packet-zep.h"
@@ -71,9 +70,6 @@ static int hf_zep_reserved_field = -1;
/* Initialize protocol subtrees. */
static gint ett_zep = -1;
-/* Initialize preferences. */
-static guint32 gPREF_zep_udp_port = ZEP_DEFAULT_PORT;
-
/* Dissector handle */
static dissector_handle_t zep_handle;
@@ -252,8 +248,6 @@ static int dissect_zep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void
*/
void proto_register_zep(void)
{
- module_t *zep_module;
-
static hf_register_info hf[] = {
{ &hf_zep_version,
{ "Protocol Version", "zep.version", FT_UINT8, BASE_DEC, NULL, 0x0,
@@ -311,15 +305,6 @@ void proto_register_zep(void)
proto_register_field_array(proto_zep, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- /* Register preferences module */
- zep_module = prefs_register_protocol(proto_zep, proto_reg_handoff_zep);
-
- /* Register preferences */
- prefs_register_uint_preference(zep_module, "udp.port", "ZEP UDP port",
- "Set the port for ZEP Protocol\n"
- "Default port is 17754",
- 10, &gPREF_zep_udp_port);
-
/* Register dissector with Wireshark. */
zep_handle = register_dissector("zep", dissect_zep, proto_zep);
} /* proto_register_zep */
@@ -338,31 +323,20 @@ void proto_register_zep(void)
*/
void proto_reg_handoff_zep(void)
{
- static int lastPort;
- static gboolean inited = FALSE;
-
- if ( !inited) {
- dissector_handle_t h;
- /* Get dissector handles. */
- if ( !(h = find_dissector("wpan")) ) { /* Try use built-in 802.15.4 dissector */
- h = find_dissector("ieee802154"); /* otherwise use older 802.15.4 plugin dissector */
- }
- ieee802154_handle = h;
- if ( !(h = find_dissector("wpan_cc24xx")) ) { /* Try use built-in 802.15.4 (Chipcon) dissector */
- h = find_dissector("ieee802154_ccfcs"); /* otherwise use older 802.15.4 (Chipcon) plugin dissector */
- }
- ieee802154_ccfcs_handle = h;
- data_handle = find_dissector("data");
- inited = TRUE;
- } else {
- /* If we were already registered, de-register our dissector
- * to free the port. */
- dissector_delete_uint("udp.port", lastPort, zep_handle);
+ dissector_handle_t h;
+
+ /* Get dissector handles. */
+ if ( !(h = find_dissector("wpan")) ) { /* Try use built-in 802.15.4 dissector */
+ h = find_dissector("ieee802154"); /* otherwise use older 802.15.4 plugin dissector */
+ }
+ ieee802154_handle = h;
+ if ( !(h = find_dissector("wpan_cc24xx")) ) { /* Try use built-in 802.15.4 (Chipcon) dissector */
+ h = find_dissector("ieee802154_ccfcs"); /* otherwise use older 802.15.4 (Chipcon) plugin dissector */
}
+ ieee802154_ccfcs_handle = h;
- /* Register our dissector. */
- dissector_add_uint("udp.port", gPREF_zep_udp_port, zep_handle);
- lastPort = gPREF_zep_udp_port;
+ data_handle = find_dissector("data");
+ dissector_add_uint("udp.port", ZEP_DEFAULT_PORT, zep_handle);
} /* proto_reg_handoff_zep */
/*
diff --git a/epan/dissectors/packet-ziop.c b/epan/dissectors/packet-ziop.c
index 601f629c1a..06a4dafb6a 100644
--- a/epan/dissectors/packet-ziop.c
+++ b/epan/dissectors/packet-ziop.c
@@ -314,8 +314,7 @@ proto_register_ziop (void)
expert_module_t* expert_ziop;
- proto_ziop = proto_register_protocol("Zipped Inter-ORB Protocol", "ZIOP",
- "ziop");
+ proto_ziop = proto_register_protocol("Zipped Inter-ORB Protocol", "ZIOP", "ziop");
proto_register_field_array (proto_ziop, hf, array_length (hf));
proto_register_subtree_array (ett, array_length (ett));
expert_ziop = expert_register_protocol(proto_ziop);
@@ -329,7 +328,7 @@ void
proto_reg_handoff_ziop (void)
{
ziop_tcp_handle = create_dissector_handle(dissect_ziop_tcp, proto_ziop);
- dissector_add_for_decode_as("udp.port", ziop_tcp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", ziop_tcp_handle);
heur_dissector_add("tcp", dissect_ziop_heur, "ZIOP over TCP", "ziop_tcp", proto_ziop, HEURISTIC_ENABLE);
}
diff --git a/epan/dissectors/packet-zrtp.c b/epan/dissectors/packet-zrtp.c
index ef1ba3382f..5ae2194a77 100644
--- a/epan/dissectors/packet-zrtp.c
+++ b/epan/dissectors/packet-zrtp.c
@@ -1153,7 +1153,7 @@ proto_reg_handoff_zrtp(void)
dissector_handle_t zrtp_handle;
zrtp_handle = find_dissector("zrtp");
- dissector_add_for_decode_as("udp.port", zrtp_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", zrtp_handle);
}
/*