diff options
Diffstat (limited to 'fuzz/fuzz_process_packet.c')
-rw-r--r-- | fuzz/fuzz_process_packet.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fuzz/fuzz_process_packet.c b/fuzz/fuzz_process_packet.c index 9efd80799..b8780b7a8 100644 --- a/fuzz/fuzz_process_packet.c +++ b/fuzz/fuzz_process_packet.c @@ -8,13 +8,18 @@ struct ndpi_id_struct *src; struct ndpi_id_struct *dst; int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + uint8_t protocol_was_guessed; + if (ndpi_info_mod == NULL) { - ndpi_info_mod = ndpi_init_detection_module(ndpi_no_prefs); - NDPI_PROTOCOL_BITMASK all; + ndpi_info_mod = ndpi_init_detection_module(ndpi_enable_ja3_plus); + NDPI_PROTOCOL_BITMASK all, debug_bitmask; NDPI_BITMASK_SET_ALL(all); + NDPI_BITMASK_SET_ALL(debug_bitmask); ndpi_set_protocol_detection_bitmask2(ndpi_info_mod, &all); src = ndpi_malloc(SIZEOF_ID_STRUCT); dst = ndpi_malloc(SIZEOF_ID_STRUCT); + ndpi_set_log_level(ndpi_info_mod, 4); + ndpi_set_debug_bitmask(ndpi_info_mod, debug_bitmask); ndpi_finalize_initialization(ndpi_info_mod); } @@ -23,6 +28,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { memset(src, 0, SIZEOF_ID_STRUCT); memset(dst, 0, SIZEOF_ID_STRUCT); ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, Data, Size, 0, src, dst); + ndpi_detection_giveup(ndpi_info_mod, ndpi_flow, 1, &protocol_was_guessed); ndpi_free_flow(ndpi_flow); return 0; |