aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorToni <matzeton@googlemail.com>2021-07-06 18:57:04 +0200
committerGitHub <noreply@github.com>2021-07-06 18:57:04 +0200
commit6f297332623cb3e377901160a388b9bd1165715e (patch)
tree6edbde552495b866a61a6232e16510e9af811230 /src
parent58665e93a98d014b53d131b2481ccab074efc9ff (diff)
Improved RTSP via HTTP detection. (#1232)
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'src')
2 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index d014da328..66102fbf2 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -876,6 +876,7 @@ static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndp
ndpi_build_default_ports(ports_a, 80, 0 /* ntop */, 0, 0, 0) /* TCP */,
ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_HTTP,
+ NDPI_PROTOCOL_RTSP,
NDPI_PROTOCOL_AIMINI, NDPI_PROTOCOL_CROSSFIRE,
NDPI_PROTOCOL_BITTORRENT, NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK, NDPI_PROTOCOL_GNUTELLA,
NDPI_PROTOCOL_MAPLESTORY, NDPI_PROTOCOL_ZATTOO, NDPI_PROTOCOL_WORLDOFWARCRAFT,
diff --git a/src/lib/protocols/rtsp.c b/src/lib/protocols/rtsp.c
index 2fcfffc61..435d09db5 100644
--- a/src/lib/protocols/rtsp.c
+++ b/src/lib/protocols/rtsp.c
@@ -47,6 +47,15 @@ void ndpi_search_rtsp_tcp_udp(struct ndpi_detection_module_struct
NDPI_LOG_DBG(ndpi_struct, "search RTSP\n");
+ if (flow->detected_protocol_stack[0] == NDPI_PROTOCOL_HTTP &&
+ packet->parsed_lines > 0 &&
+ LINE_STARTS(packet->line[0], "SETUP rtsp://") != 0 &&
+ LINE_ENDS(packet->line[0], "RTSP/1.0") != 0)
+ {
+ ndpi_int_rtsp_add_connection(ndpi_struct, flow);
+ return;
+ }
+
if (flow->rtsprdt_stage == 0
&& !(packet->detected_protocol_stack[0] == NDPI_PROTOCOL_RTCP)
) {