]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
file_data: unify inspect engines
authorVictor Julien <victor@inliniac.net>
Thu, 12 Oct 2017 16:19:23 +0000 (18:19 +0200)
committerVictor Julien <victor@inliniac.net>
Wed, 20 Dec 2017 09:52:01 +0000 (10:52 +0100)
Call HTTP from the generic file_data engine.

src/detect-engine-filedata.c
src/detect-file-data.c

index e36ccecb14cd206385be9e5564b93997a7eba5e4..a9efdab3ea74dab25e6758f6243c0d6643977f7d 100644 (file)
@@ -35,6 +35,7 @@
 #include "detect-engine-content-inspection.h"
 #include "detect-engine-prefilter.h"
 #include "detect-engine-filedata.h"
+#include "detect-engine-hsbd.h"
 
 #include "flow-util.h"
 #include "util-debug.h"
@@ -191,6 +192,11 @@ int DetectEngineInspectFiledata(ThreadVars *tv,
     uint32_t stream_start_offset = 0;
     const uint8_t *buffer = 0;
 
+    if (f->alproto == ALPROTO_HTTP) {
+        return DetectEngineInspectHttpServerBody(tv, de_ctx, det_ctx, s,
+                smd, f, flags, alstate, tx, tx_id);
+    }
+
     FileContainer *ffc = AppLayerParserGetFiles(f->proto, f->alproto,
                                                 f->alstate, flags);
     if (ffc == NULL) {
index f0a20f3d2f7a24fa731bd5aad974a957be606d04..4cb4c5dcbad989bac506af41ff19e6dffb0fb0b6 100644 (file)
@@ -77,7 +77,7 @@ void DetectFiledataRegister(void)
 
     DetectAppLayerInspectEngineRegister("file_data",
             ALPROTO_HTTP, SIG_FLAG_TOCLIENT, HTP_RESPONSE_BODY,
-            DetectEngineInspectHttpServerBody);
+            DetectEngineInspectFiledata);
     DetectAppLayerInspectEngineRegister("file_data",
             ALPROTO_SMTP, SIG_FLAG_TOSERVER, 0,
             DetectEngineInspectFiledata);