aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/mpegdash.c
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2022-08-05 14:14:38 +0200
committerGitHub <noreply@github.com>2022-08-05 14:14:38 +0200
commitc0732eda45884de91e0c221e9dd23eeec364bf68 (patch)
tree50a3146ccb9463fb4724fcf8268122d9bdccd371 /src/lib/protocols/mpegdash.c
parent346e274a1b1d713aedfc341f7d1300009f9f0e1a (diff)
HTTP: improve sub-classification (#1696)
Content-matched sub-protocols (DASH, IPP, MPEGDASH...) shouldn't ovewrite the previous master protocol (if any; usually HTTP). Furthermore. the HTTP dissector shouldn't update the classification (in the extra-dissection code path) if a content-matched sub-protocols has already been found. This commit should address the first part of the changes described in #1687.
Diffstat (limited to 'src/lib/protocols/mpegdash.c')
-rw-r--r--src/lib/protocols/mpegdash.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/lib/protocols/mpegdash.c b/src/lib/protocols/mpegdash.c
index 0e2ac1944..147057ac3 100644
--- a/src/lib/protocols/mpegdash.c
+++ b/src/lib/protocols/mpegdash.c
@@ -31,15 +31,9 @@
static void ndpi_int_mpegdash_add_connection(struct ndpi_detection_module_struct *ndpi_struct,
struct ndpi_flow_struct *flow)
{
- if (flow->guessed_host_protocol_id == NDPI_PROTOCOL_UNKNOWN ||
- flow->guessed_host_protocol_id == NDPI_PROTOCOL_HTTP)
- {
- ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_MPEGDASH, NDPI_PROTOCOL_HTTP,
- NDPI_CONFIDENCE_DPI);
- } else {
- ndpi_set_detected_protocol(ndpi_struct, flow, flow->guessed_host_protocol_id, NDPI_PROTOCOL_MPEGDASH,
- NDPI_CONFIDENCE_DPI);
- }
+ NDPI_LOG_INFO(ndpi_struct, "found MpegDash\n");
+ ndpi_set_detected_protocol_keeping_master(ndpi_struct, flow, NDPI_PROTOCOL_MPEGDASH,
+ NDPI_CONFIDENCE_DPI);
}
void ndpi_search_mpegdash_http(struct ndpi_detection_module_struct *ndpi_struct,