DetectAppLayerMpmRegister2("file_data", SIG_FLAG_TOCLIENT, 2,
PrefilterMpmFiledataRegister, NULL,
ALPROTO_HTTP2, HTTP2StateDataServer);
+ DetectAppLayerMpmRegister2("file_data", SIG_FLAG_TOSERVER, 2, PrefilterMpmFiledataRegister,
+ NULL, ALPROTO_FTPDATA, 0);
+ DetectAppLayerMpmRegister2("file_data", SIG_FLAG_TOCLIENT, 2, PrefilterMpmFiledataRegister,
+ NULL, ALPROTO_FTPDATA, 0);
+ DetectAppLayerMpmRegister2(
+ "file_data", SIG_FLAG_TOSERVER, 2, PrefilterMpmFiledataRegister, NULL, ALPROTO_FTP, 0);
+ DetectAppLayerMpmRegister2(
+ "file_data", SIG_FLAG_TOCLIENT, 2, PrefilterMpmFiledataRegister, NULL, ALPROTO_FTP, 0);
DetectAppLayerInspectEngineRegister2("file_data", ALPROTO_HTTP, SIG_FLAG_TOCLIENT,
HTP_RESPONSE_BODY, DetectEngineInspectBufferHttpBody, HttpServerBodyGetDataCallback);
DetectAppLayerInspectEngineRegister2("file_data",
ALPROTO_HTTP2, SIG_FLAG_TOCLIENT, HTTP2StateDataServer,
DetectEngineInspectFiledata, NULL);
+ DetectAppLayerInspectEngineRegister2(
+ "file_data", ALPROTO_FTPDATA, SIG_FLAG_TOSERVER, 0, DetectEngineInspectFiledata, NULL);
+ DetectAppLayerInspectEngineRegister2(
+ "file_data", ALPROTO_FTPDATA, SIG_FLAG_TOCLIENT, 0, DetectEngineInspectFiledata, NULL);
+ DetectAppLayerInspectEngineRegister2(
+ "file_data", ALPROTO_FTP, SIG_FLAG_TOSERVER, 0, DetectEngineInspectFiledata, NULL);
+ DetectAppLayerInspectEngineRegister2(
+ "file_data", ALPROTO_FTP, SIG_FLAG_TOCLIENT, 0, DetectEngineInspectFiledata, NULL);
DetectBufferTypeSetDescriptionByName("file_data",
"http response body, smb files or smtp attachments data");
SCEnter();
if (!DetectProtoContainsProto(&s->proto, IPPROTO_TCP) ||
- (s->alproto != ALPROTO_UNKNOWN && s->alproto != ALPROTO_HTTP &&
- s->alproto != ALPROTO_SMTP && s->alproto != ALPROTO_SMB &&
- s->alproto != ALPROTO_HTTP2)) {
+ (s->alproto != ALPROTO_UNKNOWN && s->alproto != ALPROTO_HTTP &&
+ s->alproto != ALPROTO_SMTP && s->alproto != ALPROTO_SMB &&
+ s->alproto != ALPROTO_HTTP2 && s->alproto != ALPROTO_FTP &&
+ s->alproto != ALPROTO_FTPDATA)) {
SCLogError(SC_ERR_CONFLICTING_RULE_KEYWORDS, "rule contains conflicting keywords.");
return -1;
}