diff options
author | Michael Mann <mmann78@netscape.net> | 2013-11-30 00:30:56 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-11-30 00:30:56 +0000 |
commit | 00737f834b52174b2617fa1b788287e14a53f230 (patch) | |
tree | b34614666f634133d54ac6f7e9cfd617e7f6d67d /epan/dissectors/packet-rtsp.c | |
parent | c6efc227a5ade4eb9d61bd167a7a11e4f59e569d (diff) |
Add wifi display port to the RTSP dissector. Bug 9339 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9339)
From chaitanya
From me: Add another obsolete preference and cleanup whitespace
svn path=/trunk/; revision=53667
Diffstat (limited to 'epan/dissectors/packet-rtsp.c')
-rw-r--r-- | epan/dissectors/packet-rtsp.c | 46 |
1 files changed, 20 insertions, 26 deletions
diff --git a/epan/dissectors/packet-rtsp.c b/epan/dissectors/packet-rtsp.c index 6ab497bf25..a64daefbe6 100644 --- a/epan/dissectors/packet-rtsp.c +++ b/epan/dissectors/packet-rtsp.c @@ -243,11 +243,13 @@ static gboolean rtsp_desegment_headers = TRUE; */ static gboolean rtsp_desegment_body = TRUE; -/* http://www.iana.org/assignments/port-numberslists two rtsp ports */ -#define TCP_PORT_RTSP 554 -#define TCP_ALTERNATE_PORT_RTSP 8554 -static guint global_rtsp_tcp_port = TCP_PORT_RTSP; -static guint global_rtsp_tcp_alternate_port = TCP_ALTERNATE_PORT_RTSP; +/* http://www.iana.org/assignments/port-numbers lists two rtsp ports. + * In Addition RTSP uses display port over Wi-Fi Display: 7236. + */ +#define RTSP_TCP_PORT_RANGE "554,8554,7236" + +static range_t *global_rtsp_tcp_port_range = NULL; +static range_t *rtsp_tcp_port_range = NULL; /* * Takes an array of bytes, assumed to contain a null-terminated * string, as an argument, and returns the length of the string - @@ -1447,14 +1449,15 @@ proto_register_rtsp(void) /* Register our configuration options, particularly our ports */ rtsp_module = prefs_register_protocol(proto_rtsp, proto_reg_handoff_rtsp); - prefs_register_uint_preference(rtsp_module, "tcp.port", - "RTSP TCP Port", - "Set the TCP port for RTSP messages", - 10, &global_rtsp_tcp_port); - prefs_register_uint_preference(rtsp_module, "tcp.alternate_port", - "Alternate RTSP TCP Port", - "Set the alternate TCP port for RTSP messages", - 10, &global_rtsp_tcp_alternate_port); + + prefs_register_obsolete_preference(rtsp_module, "tcp.alternate_port"); + prefs_register_obsolete_preference(rtsp_module, "tcp.port"); + + range_convert_str(&global_rtsp_tcp_port_range, RTSP_TCP_PORT_RANGE, 65535); + rtsp_tcp_port_range = range_empty(); + prefs_register_range_preference(rtsp_module, "tcp.port_range", "RTSP TCP Ports", + "RTSP TCP Ports range", + &global_rtsp_tcp_port_range, 65535); prefs_register_bool_preference(rtsp_module, "desegment_headers", "Reassemble RTSP headers spanning multiple TCP segments", "Whether the RTSP dissector should reassemble headers " @@ -1480,12 +1483,6 @@ proto_reg_handoff_rtsp(void) { static dissector_handle_t rtsp_handle; static gboolean rtsp_prefs_initialized = FALSE; - /* - * Variables to allow for proper deletion of dissector registration when - * the user changes port from the gui. - */ - static guint saved_rtsp_tcp_port; - static guint saved_rtsp_tcp_alternate_port; if (!rtsp_prefs_initialized) { rtsp_handle = find_dissector("rtsp"); @@ -1497,15 +1494,12 @@ proto_reg_handoff_rtsp(void) rtsp_prefs_initialized = TRUE; } else { - dissector_delete_uint("tcp.port", saved_rtsp_tcp_port, rtsp_handle); - dissector_delete_uint("tcp.port", saved_rtsp_tcp_alternate_port, rtsp_handle); + dissector_delete_uint_range("tcp.port", rtsp_tcp_port_range, rtsp_handle); + g_free(rtsp_tcp_port_range); } /* Set our port number for future use */ - dissector_add_uint("tcp.port", global_rtsp_tcp_port, rtsp_handle); - dissector_add_uint("tcp.port", global_rtsp_tcp_alternate_port, rtsp_handle); - - saved_rtsp_tcp_port = global_rtsp_tcp_port; - saved_rtsp_tcp_alternate_port = global_rtsp_tcp_alternate_port; + rtsp_tcp_port_range = range_copy(global_rtsp_tcp_port_range); + dissector_add_uint_range("tcp.port", rtsp_tcp_port_range, rtsp_handle); /* XXX: Do the following only once ?? */ stats_tree_register("rtsp","rtsp","RTSP/Packet Counter", 0, rtsp_stats_tree_packet, rtsp_stats_tree_init, NULL ); |