uint8_t cnt;
uint16_t searchlen;
+ if (f->protomap >= FLOW_PROTO_DEFAULT)
+ return ALPROTO_UNKNOWN;
+
if (direction & STREAM_TOSERVER) {
- pm_ctx = &alpd_ctx.ctx_ipp[FlowGetProtoMapping(ipproto)].ctx_pm[0];
- mpm_tctx = &tctx->mpm_tctx[FlowGetProtoMapping(ipproto)][0];
+ pm_ctx = &alpd_ctx.ctx_ipp[f->protomap].ctx_pm[0];
+ mpm_tctx = &tctx->mpm_tctx[f->protomap][0];
} else {
- pm_ctx = &alpd_ctx.ctx_ipp[FlowGetProtoMapping(ipproto)].ctx_pm[1];
- mpm_tctx = &tctx->mpm_tctx[FlowGetProtoMapping(ipproto)][1];
+ pm_ctx = &alpd_ctx.ctx_ipp[f->protomap].ctx_pm[1];
+ mpm_tctx = &tctx->mpm_tctx[f->protomap][1];
}
if (pm_ctx->mpm_ctx.pattern_cnt == 0)
goto end;
AppProto pm_results[ALPROTO_MAX];
AppLayerProtoDetectThreadCtx *alpd_tctx;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
memset(pm_results, 0, sizeof(pm_results));
buf = "HTTP";
AppProto pm_results[ALPROTO_MAX];
AppLayerProtoDetectThreadCtx *alpd_tctx;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
memset(pm_results, 0, sizeof(pm_results));
buf = "200 ";
AppProto pm_results[ALPROTO_MAX];
AppLayerProtoDetectThreadCtx *alpd_tctx;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
memset(pm_results, 0, sizeof(pm_results));
buf = "HTTP";
AppProto pm_results[ALPROTO_MAX];
AppLayerProtoDetectThreadCtx *alpd_tctx;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
buf = "HTTP";
AppLayerProtoDetectPMRegisterPatternCS(IPPROTO_TCP, ALPROTO_HTTP, buf, 4, 0, STREAM_TOCLIENT);
buf = "220 ";
AppProto pm_results[ALPROTO_MAX];
AppLayerProtoDetectThreadCtx *alpd_tctx;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
memset(pm_results, 0, sizeof(pm_results));
buf = "HTTP";
AppProto pm_results[ALPROTO_MAX];
AppLayerProtoDetectThreadCtx *alpd_tctx;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
memset(pm_results, 0, sizeof(pm_results));
buf = "|ff|SMB";
AppProto pm_results[ALPROTO_MAX];
AppLayerProtoDetectThreadCtx *alpd_tctx;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
memset(pm_results, 0, sizeof(pm_results));
buf = "|fe|SMB";
AppProto pm_results[ALPROTO_MAX];
AppLayerProtoDetectThreadCtx *alpd_tctx;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
memset(pm_results, 0, sizeof(pm_results));
buf = "|05 00|";
AppProto pm_results[ALPROTO_MAX];
AppLayerProtoDetectThreadCtx *alpd_tctx;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
memset(pm_results, 0, sizeof(pm_results));
AppLayerProtoDetectPMRegisterPatternCS(IPPROTO_TCP, ALPROTO_HTTP, "HTTP", 4, 0, STREAM_TOSERVER);
AppLayerProtoDetectThreadCtx *alpd_tctx;
uint32_t cnt;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_TCP);
+
AppLayerProtoDetectPMRegisterPatternCS(IPPROTO_UDP, ALPROTO_HTTP, "HTTP", 4, 0, STREAM_TOSERVER);
AppLayerProtoDetectPMRegisterPatternCS(IPPROTO_UDP, ALPROTO_HTTP, "GET", 3, 0, STREAM_TOSERVER);
AppLayerProtoDetectPMRegisterPatternCS(IPPROTO_UDP, ALPROTO_HTTP, "PUT", 3, 0, STREAM_TOSERVER);
AppLayerProtoDetectThreadCtx *alpd_tctx;
uint32_t cnt;
+ memset(&f, 0x00, sizeof(f));
+ f.protomap = FlowGetProtoMapping(IPPROTO_UDP);
+
AppLayerProtoDetectPMRegisterPatternCS(IPPROTO_UDP, ALPROTO_HTTP, "HTTP", 4, 0, STREAM_TOSERVER);
AppLayerProtoDetectPMRegisterPatternCS(IPPROTO_UDP, ALPROTO_HTTP, "GET", 3, 0, STREAM_TOSERVER);
AppLayerProtoDetectPMRegisterPatternCS(IPPROTO_UDP, ALPROTO_HTTP, "PUT", 3, 0, STREAM_TOSERVER);