]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
output-json-smtp: output RCPT TO fields
authorEric Leblond <eric@regit.org>
Wed, 22 Apr 2015 12:41:20 +0000 (14:41 +0200)
committerEric Leblond <eric@regit.org>
Fri, 2 Oct 2015 20:57:58 +0000 (22:57 +0200)
This patch uses an array to output the RCPT TO fields to the
JSON message.

src/output-json-smtp.c

index 43ac93d5425415ebdf949f9ae7aed9e5a5fb9a5f..9ebebca7e4a82518134a868b7dd3d11fb3d71246 100644 (file)
@@ -58,6 +58,7 @@ static json_t *JsonSmtpDataLogger(ThreadVars *tv, void *thread_data, const Packe
 {
     json_t *sjs = json_object();
     SMTPTransaction *tx = vtx;
+    SMTPString *rcptto_str;
     if (sjs == NULL) {
         return NULL;
     }
@@ -69,6 +70,15 @@ static json_t *JsonSmtpDataLogger(ThreadVars *tv, void *thread_data, const Packe
         json_object_set_new(sjs, "mail_from",
                             json_string((const char *)tx->mail_from));
     }
+    if (!TAILQ_EMPTY(&tx->rcpt_to_list)) {
+        json_t *js_rcptto = json_array();
+        if (likely(js_rcptto != NULL)) {
+            TAILQ_FOREACH(rcptto_str, &tx->rcpt_to_list, next) {
+                json_array_append_new(js_rcptto, json_string((char *)rcptto_str->str));
+            }
+            json_object_set_new(sjs, "rcpt_to", js_rcptto);
+        }
+    }
 
     return sjs;
 }