#include "flow-util.h"
#include "app-layer-parser.h"
#include "util-unittest-helper.h"
-
+#include "conf-yaml-loader.h"
#define HEADER_LEN 6
//rule of thumb constant, so as not to timeout target
#define PROTO_DETECT_MAX_LEN 1024
+#include "confyaml.c"
+
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
AppLayerProtoDetectThreadCtx *alpd_tctx = NULL;
//global init
InitGlobal();
run_mode = RUNMODE_UNITTEST;
+ if (ConfYamlLoadString(configNoChecksum, strlen(configNoChecksum)) != 0) {
+ abort();
+ }
MpmTableSetup();
SpmTableSetup();
AppLayerProtoDetectSetup();
* Otherwise, we have evasion with TCP splitting
*/
for (size_t i = 0; i < size-HEADER_LEN && i < PROTO_DETECT_MAX_LEN; i++) {
- alproto2 = AppLayerProtoDetectGetProto(alpd_tctx, f, data+HEADER_LEN, i, f->proto, data[0], &reverse);
+ // reset detection at each try cf probing_parser_toserver_alproto_masks
+ AppLayerProtoDetectReset(f);
+ alproto2 = AppLayerProtoDetectGetProto(
+ alpd_tctx, f, data + HEADER_LEN, i, f->proto, data[0], &reverse);
if (alproto2 != ALPROTO_UNKNOWN && alproto2 != alproto) {
printf("Failed with input length %" PRIuMAX " versus %" PRIuMAX
", found %s instead of %s\n",