detect file: enable HTTP inspection from validate func

pull/2245/head
Victor Julien 9 years ago
parent 621860f5b2
commit c957c62824

@ -211,10 +211,6 @@ static int DetectFileextSetup (DetectEngineCtx *de_ctx, Signature *s, char *str)
SigMatchAppendSMToList(s, sm, DETECT_SM_LIST_FILEMATCH);
if (s->alproto == ALPROTO_HTTP) {
AppLayerHtpNeedFileInspection();
}
s->file_flags |= (FILE_SIG_NEED_FILE|FILE_SIG_NEED_FILENAME);
return 0;

@ -359,10 +359,6 @@ static int DetectFilemagicSetup (DetectEngineCtx *de_ctx, Signature *s, char *st
SigMatchAppendSMToList(s, sm, DETECT_SM_LIST_FILEMATCH);
if (s->alproto == ALPROTO_HTTP) {
AppLayerHtpNeedFileInspection();
}
s->file_flags |= (FILE_SIG_NEED_FILE|FILE_SIG_NEED_MAGIC);
return 0;

@ -324,10 +324,6 @@ static int DetectFileMd5Setup (DetectEngineCtx *de_ctx, Signature *s, char *str)
SigMatchAppendSMToList(s, sm, DETECT_SM_LIST_FILEMATCH);
if (s->alproto == ALPROTO_HTTP) {
AppLayerHtpNeedFileInspection();
}
s->file_flags |= (FILE_SIG_NEED_FILE|FILE_SIG_NEED_MD5);
return 0;

@ -216,10 +216,6 @@ static int DetectFilenameSetup (DetectEngineCtx *de_ctx, Signature *s, char *str
SigMatchAppendSMToList(s, sm, DETECT_SM_LIST_FILEMATCH);
if (s->alproto == ALPROTO_HTTP) {
AppLayerHtpNeedFileInspection();
}
s->file_flags |= (FILE_SIG_NEED_FILE|FILE_SIG_NEED_FILENAME);
return 0;

@ -289,10 +289,6 @@ static int DetectFilesizeSetup (DetectEngineCtx *de_ctx, Signature *s, char *str
SigMatchAppendSMToList(s, sm, DETECT_SM_LIST_FILEMATCH);
if (s->alproto == ALPROTO_HTTP) {
AppLayerHtpNeedFileInspection();
}
s->file_flags |= (FILE_SIG_NEED_FILE|FILE_SIG_NEED_SIZE);
SCReturnInt(0);

@ -1421,13 +1421,18 @@ int SigValidate(DetectEngineCtx *de_ctx, Signature *s)
}
#endif
if (((s->flags & SIG_FLAG_FILESTORE) || s->file_flags != 0) &&
s->alproto != ALPROTO_UNKNOWN &&
!AppLayerParserSupportsFiles(IPPROTO_TCP, s->alproto))
{
SCLogError(SC_ERR_NO_FILES_FOR_PROTOCOL, "protocol %s doesn't "
"support file matching", AppProtoToString(s->alproto));
SCReturnInt(0);
if ((s->flags & SIG_FLAG_FILESTORE) || s->file_flags != 0) {
if (s->alproto != ALPROTO_UNKNOWN &&
!AppLayerParserSupportsFiles(IPPROTO_TCP, s->alproto))
{
SCLogError(SC_ERR_NO_FILES_FOR_PROTOCOL, "protocol %s doesn't "
"support file matching", AppProtoToString(s->alproto));
SCReturnInt(0);
}
if (s->alproto == ALPROTO_HTTP) {
AppLayerHtpNeedFileInspection();
}
}
SCReturnInt(1);

Loading…
Cancel
Save