]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
json-email: JsonEmailAddMetadata update
authorEric Leblond <eric@regit.org>
Tue, 15 Sep 2015 13:48:19 +0000 (15:48 +0200)
committerEric Leblond <eric@regit.org>
Tue, 6 Oct 2015 21:30:46 +0000 (23:30 +0200)
Add tx_id to the list of params to be in sync with recent changes.

src/output-json-alert.c
src/output-json-email-common.c
src/output-json-email-common.h
src/output-json-file.c

index ce216ddaadc400d5b49320db3882b7c5d7e4844f..6be573054e5042185078bdd099ac2aa655d2343b 100644 (file)
@@ -48,6 +48,7 @@
 #include "app-layer-htp-xff.h"
 #include "util-classification-config.h"
 #include "util-syslog.h"
+#include "util-logopenfile.h"
 
 #include "output.h"
 #include "output-json.h"
@@ -55,6 +56,7 @@
 #include "output-json-tls.h"
 #include "output-json-ssh.h"
 #include "output-json-smtp.h"
+#include "output-json-email-common.h"
 
 #include "util-byte.h"
 #include "util-privs.h"
@@ -62,7 +64,6 @@
 #include "util-proto-name.h"
 #include "util-optimize.h"
 #include "util-buffer.h"
-#include "util-logopenfile.h"
 #include "util-crypt.h"
 
 #define MODULE_NAME "JsonAlertLog"
@@ -249,6 +250,10 @@ static int AlertJson(ThreadVars *tv, JsonAlertLogThread *aft, const Packet *p)
                     hjs = JsonSMTPAddMetadata(p->flow, pa->tx_id);
                     if (hjs)
                         json_object_set_new(js, "smtp", hjs);
+
+                    hjs = JsonEmailAddMetadata(p->flow, pa->tx_id);
+                    if (hjs)
+                        json_object_set_new(js, "email", hjs);
                 }
 
                 FLOWLOCK_UNLOCK(p->flow);
index b255a8e4933bc0a3befa0e1e136aabbfe4fa20d3..d54b7b4d028ef867b5519b063a790179e6770186 100644 (file)
@@ -396,11 +396,10 @@ TmEcode JsonEmailLogJson(JsonEmailLogThread *aft, json_t *js, const Packet *p, F
         SCReturnInt(TM_ECODE_FAILED);
 }
 
-json_t *JsonEmailAddMetadata(const Flow *f)
+json_t *JsonEmailAddMetadata(const Flow *f, uint32_t tx_id)
 {
     SMTPState *smtp_state = (SMTPState *)FlowGetAppState(f);
     if (smtp_state) {
-        uint64_t tx_id = AppLayerParserGetTransactionLogId(f->alparser);
         SMTPTransaction *tx = AppLayerParserGetTx(IPPROTO_TCP, ALPROTO_SMTP, smtp_state, tx_id);
 
         if (tx) {
index afb3b91bfc16ecdee1fb018c6c4b8d1fc9e4d7cf..88cfa5576b03191209f734e27a0073178df47ad9 100644 (file)
@@ -38,7 +38,7 @@ typedef struct JsonEmailLogThread_ {
 } JsonEmailLogThread;
 
 TmEcode JsonEmailLogJson(JsonEmailLogThread *aft, json_t *js, const Packet *p, Flow *f, void *state, void *vtx, uint64_t tx_id);
-json_t *JsonEmailAddMetadata(const Flow *f);
+json_t *JsonEmailAddMetadata(const Flow *f, uint32_t tx_id);
 #endif
 
 void OutputEmailInitConf(ConfNode *conf, OutputJsonEmailCtx *email_ctx);
index b13852bd16213291ba9f0a930944757c183a7124..f2f21df34bde6afc763958cd23272185048de40c 100644 (file)
@@ -102,7 +102,7 @@ static void FileWriteJsonRecord(JsonFileLogThread *aft, const Packet *p, const F
             hjs = JsonSMTPAddMetadata(p->flow, ff->txid);
             if (hjs)
                 json_object_set_new(js, "smtp", hjs);
-            hjs = JsonEmailAddMetadata(p->flow);
+            hjs = JsonEmailAddMetadata(p->flow, ff->txid);
             if (hjs)
                 json_object_set_new(js, "email", hjs);
             break;