json-email: JsonEmailAddMetadata update

Add tx_id to the list of params to be in sync with recent changes.
pull/1671/head
Eric Leblond 11 years ago
parent bf6b0145e2
commit 96412e8921

@ -48,6 +48,7 @@
#include "app-layer-htp-xff.h" #include "app-layer-htp-xff.h"
#include "util-classification-config.h" #include "util-classification-config.h"
#include "util-syslog.h" #include "util-syslog.h"
#include "util-logopenfile.h"
#include "output.h" #include "output.h"
#include "output-json.h" #include "output-json.h"
@ -55,6 +56,7 @@
#include "output-json-tls.h" #include "output-json-tls.h"
#include "output-json-ssh.h" #include "output-json-ssh.h"
#include "output-json-smtp.h" #include "output-json-smtp.h"
#include "output-json-email-common.h"
#include "util-byte.h" #include "util-byte.h"
#include "util-privs.h" #include "util-privs.h"
@ -62,7 +64,6 @@
#include "util-proto-name.h" #include "util-proto-name.h"
#include "util-optimize.h" #include "util-optimize.h"
#include "util-buffer.h" #include "util-buffer.h"
#include "util-logopenfile.h"
#include "util-crypt.h" #include "util-crypt.h"
#define MODULE_NAME "JsonAlertLog" #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); hjs = JsonSMTPAddMetadata(p->flow, pa->tx_id);
if (hjs) if (hjs)
json_object_set_new(js, "smtp", 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); FLOWLOCK_UNLOCK(p->flow);

@ -396,11 +396,10 @@ TmEcode JsonEmailLogJson(JsonEmailLogThread *aft, json_t *js, const Packet *p, F
SCReturnInt(TM_ECODE_FAILED); 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); SMTPState *smtp_state = (SMTPState *)FlowGetAppState(f);
if (smtp_state) { if (smtp_state) {
uint64_t tx_id = AppLayerParserGetTransactionLogId(f->alparser);
SMTPTransaction *tx = AppLayerParserGetTx(IPPROTO_TCP, ALPROTO_SMTP, smtp_state, tx_id); SMTPTransaction *tx = AppLayerParserGetTx(IPPROTO_TCP, ALPROTO_SMTP, smtp_state, tx_id);
if (tx) { if (tx) {

@ -38,7 +38,7 @@ typedef struct JsonEmailLogThread_ {
} JsonEmailLogThread; } JsonEmailLogThread;
TmEcode JsonEmailLogJson(JsonEmailLogThread *aft, json_t *js, const Packet *p, Flow *f, void *state, void *vtx, uint64_t tx_id); 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 #endif
void OutputEmailInitConf(ConfNode *conf, OutputJsonEmailCtx *email_ctx); void OutputEmailInitConf(ConfNode *conf, OutputJsonEmailCtx *email_ctx);

@ -102,7 +102,7 @@ static void FileWriteJsonRecord(JsonFileLogThread *aft, const Packet *p, const F
hjs = JsonSMTPAddMetadata(p->flow, ff->txid); hjs = JsonSMTPAddMetadata(p->flow, ff->txid);
if (hjs) if (hjs)
json_object_set_new(js, "smtp", hjs); json_object_set_new(js, "smtp", hjs);
hjs = JsonEmailAddMetadata(p->flow); hjs = JsonEmailAddMetadata(p->flow, ff->txid);
if (hjs) if (hjs)
json_object_set_new(js, "email", hjs); json_object_set_new(js, "email", hjs);
break; break;

Loading…
Cancel
Save