aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols
diff options
context:
space:
mode:
authorNardi Ivan <nardi.ivan@gmail.com>2022-09-06 12:02:23 +0200
committerToni <matzeton@googlemail.com>2022-09-06 14:58:31 +0200
commit1b3de449a1192a2d834f43901f4dd8b45edbf011 (patch)
tree179c7b4b47e614152f184c97a1ccf55e2e09a3dd /src/lib/protocols
parent37f918322c0a489b5143a987c8f1a44a6f78a6f3 (diff)
HTTP: correctly set the classification protocols
Classification should always be set via `ndpi_set_detected_protocol()` to be sure to set a correct `confidence` value, too. Having a "known" protocol stack with `NDPI_CONFIDENCE_UNKNOWN` as confidence, is not valid. This code in HTTP dissector likely needs some more thoughts (the classification itself of the attached example doesn't make a lot of sense), but the goal of this commit is only to always have a valid `confidence` value.
Diffstat (limited to 'src/lib/protocols')
-rw-r--r--src/lib/protocols/http.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/lib/protocols/http.c b/src/lib/protocols/http.c
index f9d6abd90..5a088c7c8 100644
--- a/src/lib/protocols/http.c
+++ b/src/lib/protocols/http.c
@@ -762,8 +762,7 @@ static void check_content_type_and_change_protocol(struct ndpi_detection_module_
if(ndpi_struct->proto_defaults[flow->guessed_protocol_id].subprotocol_count == 0) {
if(flow->detected_protocol_stack[0] == NDPI_PROTOCOL_UNKNOWN &&
flow->guessed_host_protocol_id != NDPI_PROTOCOL_UNKNOWN) {
- flow->detected_protocol_stack[0] = flow->guessed_host_protocol_id;
- flow->detected_protocol_stack[1] = flow->guessed_protocol_id;
+ ndpi_set_detected_protocol(ndpi_struct, flow, flow->guessed_host_protocol_id, flow->guessed_protocol_id, NDPI_CONFIDENCE_DPI);
}
}
}