From 087e299e542a53050a247a39f29206878b08aacc Mon Sep 17 00:00:00 2001 From: lns Date: Mon, 25 Apr 2022 11:39:33 +0200 Subject: Added generic user agent setter. * ndpiReader: Print user agent if one was set and not just for certain protocols. Signed-off-by: lns --- src/lib/protocols/http.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src/lib/protocols/http.c') diff --git a/src/lib/protocols/http.c b/src/lib/protocols/http.c index 8b65ece50..8ecadb303 100644 --- a/src/lib/protocols/http.c +++ b/src/lib/protocols/http.c @@ -535,14 +535,11 @@ int http_process_user_agent(struct ndpi_detection_module_struct *ndpi_struct, } } - if(flow->http.user_agent == NULL) { - flow->http.user_agent = ndpi_malloc(ua_ptr_len + 1); - if(flow->http.user_agent) { - memcpy(flow->http.user_agent, (char*)ua_ptr, ua_ptr_len); - flow->http.user_agent[ua_ptr_len] = '\0'; - - ndpi_check_user_agent(ndpi_struct, flow, flow->http.user_agent); - } + if (ndpi_user_agent_set(flow, ua_ptr, ua_ptr_len) != NULL) + { + ndpi_check_user_agent(ndpi_struct, flow, flow->http.user_agent); + } else { + NDPI_LOG_DBG2(ndpi_struct, "Could not set HTTP user agent\n"); } NDPI_LOG_DBG2(ndpi_struct, "User Agent Type line found %.*s\n", -- cgit v1.2.3