]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
file-json: output smtp proto info
authorEric Leblond <eric@regit.org>
Thu, 30 Apr 2015 11:44:58 +0000 (13:44 +0200)
committerEric Leblond <eric@regit.org>
Fri, 2 Oct 2015 20:57:58 +0000 (22:57 +0200)
src/output-json-file.c

index 556d7e2d2b6bbe37eca1b2a04f7150895d1bd151..8e1ea7796a784f5db91172bff928970eb3bdca84 100644 (file)
@@ -54,6 +54,7 @@
 #include "output.h"
 #include "output-json.h"
 #include "output-json-http.h"
+#include "output-json-smtp.h"
 
 #include "log-file.h"
 #include "util-logopenfile.h"
@@ -96,6 +97,11 @@ static void FileWriteJsonRecord(JsonFileLogThread *aft, const Packet *p, const F
             if (hjs)
                 json_object_set_new(js, "http", hjs);
             break;
+        case ALPROTO_SMTP:
+            hjs = JsonSMTPAddMetadata(p->flow);
+            if (hjs)
+                json_object_set_new(js, "smtp", hjs);
+            break;
     }
 
 
@@ -151,7 +157,15 @@ static void FileWriteJsonRecord(JsonFileLogThread *aft, const Packet *p, const F
     json_object_set_new(js, "fileinfo", fjs);
     OutputJSONBuffer(js, aft->filelog_ctx->file_ctx, buffer);
     json_object_del(js, "fileinfo");
-    json_object_del(js, "http");
+
+    switch (p->flow->alproto) {
+        case ALPROTO_HTTP:
+            json_object_del(js, "http");
+            break;
+        case ALPROTO_SMTP:
+            json_object_del(js, "smtp");
+            break;
+    }
 
     json_object_clear(js);
     json_decref(js);