aboutsummaryrefslogtreecommitdiff
path: root/src/lib/ndpi_main.c
diff options
context:
space:
mode:
authorIvan Kapranov <44571881+koltiradw@users.noreply.github.com>2025-02-17 15:38:24 +0300
committerGitHub <noreply@github.com>2025-02-17 13:38:24 +0100
commit6d2e0ce930c0441a35e5655bd30a35f27a98ee24 (patch)
tree59db82d5802fe18e6cf5e80ab778f3b409174725 /src/lib/ndpi_main.c
parentc0c9f649ed807c25a2a14f840d52132521244f04 (diff)
added metadata fields for M-NOTIFY (#2733)
Diffstat (limited to 'src/lib/ndpi_main.c')
-rw-r--r--src/lib/ndpi_main.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index 8dba3f920..1831b7ecf 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -6906,6 +6906,18 @@ void ndpi_free_flow_data(struct ndpi_flow_struct* flow) {
if(flow->protos.ssdp.method)
ndpi_free(flow->protos.ssdp.method);
+
+ if(flow->protos.ssdp.man)
+ ndpi_free(flow->protos.ssdp.man);
+
+ if(flow->protos.ssdp.mx)
+ ndpi_free(flow->protos.ssdp.mx);
+
+ if(flow->protos.ssdp.st)
+ ndpi_free(flow->protos.ssdp.st);
+
+ if(flow->protos.ssdp.user_agent)
+ ndpi_free(flow->protos.ssdp.user_agent);
}
if(flow->tls_quic.message[0].buffer)
@@ -8550,6 +8562,9 @@ static void ndpi_reset_packet_line_info(struct ndpi_packet_struct *packet) {
packet->location_smart_speaker_audio.ptr = NULL, packet->location_smart_speaker_audio.len = 0;
packet->nt.ptr = NULL, packet->nt.len = 0;
packet->nts.ptr = NULL, packet->nts.len = 0;
+ packet->man.ptr = NULL, packet->man.len = 0;
+ packet->mx.ptr = NULL, packet->mx.len = 0;
+ packet->st.ptr = NULL, packet->st.len = 0;
}
/* ********************************************************************************* */
@@ -9319,10 +9334,14 @@ static void parse_single_packet_line(struct ndpi_detection_module_struct *ndpi_s
{ NULL, NULL} };
struct header_line headers_s[] = { { "Server:", &packet->server_line },
{ "SECURELOCATION.UPNP.ORG:", &packet->securelocation_upnp },
+ { "ST", &packet->st },
{ NULL, NULL} };
struct header_line headers_l[] = { { "LOCATION:", &packet->location },
{ "LOCATION.SMARTSPEAKER.AUDIO:", &packet->location_smart_speaker_audio },
{ NULL, NULL}};
+ struct header_line headers_m[] = { { "MAN:", &packet->man },
+ { "MX:", &packet->mx },
+ { NULL, NULL}};
struct header_line headers_n[] = { { "NT:", &packet->nt },
{ "NTS:", &packet->nts },
{ NULL, NULL}};
@@ -9390,6 +9409,10 @@ static void parse_single_packet_line(struct ndpi_detection_module_struct *ndpi_s
case 'L':
hs = headers_l;
break;
+ case 'm':
+ case 'M':
+ hs = headers_m;
+ break;
case 'n':
case 'N':
hs = headers_n;