aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/rtsp.c
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2023-05-16 16:01:55 +0200
committerGitHub <noreply@github.com>2023-05-16 16:01:55 +0200
commit4e186f6bfbd734bf44124e6e0f710a3a0372c92c (patch)
tree8c59a5ddd72d0e5feeb70ad512a8519cf65fddfc /src/lib/protocols/rtsp.c
parent8c224b464f36da0497c9ef7c2fe2ec3c135a01ba (diff)
HTTP: rework state machine (#1966)
The goal if to correlate the right request-response pair, exporting metadata from only one transaction (for example, the right url & return state pair) As a nice side effect, the code should be much cleaner, but that is a matter of taste. Two differences respect to the previous code: * as it happens in the CI, if in the flow there are only one response (before) and one request (after), only the metadata of the response are saved/exported * for performance reasons, we don't call `ndpi_parse_packet_line_info()` anymore for ALL packets triggering the HTTP dissector, but only for the packets that we already know belong to an HTTP flow. This is the reason for the changes in RTSP/SOAP/... code
Diffstat (limited to 'src/lib/protocols/rtsp.c')
-rw-r--r--src/lib/protocols/rtsp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/protocols/rtsp.c b/src/lib/protocols/rtsp.c
index 1dc63f04b..9b43d5259 100644
--- a/src/lib/protocols/rtsp.c
+++ b/src/lib/protocols/rtsp.c
@@ -55,6 +55,11 @@ static void ndpi_search_rtsp_tcp_udp(struct ndpi_detection_module_struct *ndpi_s
LINE_ENDS(packet->content_line, "application/x-rtsp-tunnelled") != 0))
{
ndpi_int_rtsp_add_connection(ndpi_struct, flow);
+
+ /* Extract some metadata HTTP-like */
+ if(packet->user_agent_line.ptr != NULL)
+ ndpi_user_agent_set(flow, packet->user_agent_line.ptr, packet->user_agent_line.len);
+
return;
}