]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Remaining JSON output pull request comment edits
authorTom DeCanio <decanio.tom@gmail.com>
Tue, 19 Nov 2013 20:58:47 +0000 (12:58 -0800)
committerVictor Julien <victor@inliniac.net>
Wed, 29 Jan 2014 10:07:52 +0000 (11:07 +0100)
src/output-dnslog.c
src/output-dnslog.h
src/output-droplog.c
src/output-droplog.h
src/output-httplog.c
src/output-httplog.h
src/output-json.c
src/output-tlslog.c
src/output-tlslog.h

index d0f397e9057ad454674e070fcb65ecb4a16c5831..0cbddfcedf6765c59a55caeacf8626fd6756ef43 100644 (file)
@@ -203,8 +203,8 @@ static void LogAnswers(AlertJsonThread *aft, json_t *js, DNSTransaction *tx) {
     json_object_del(js, "dns");
 }
 
-static TmEcode DnsJsonIPWrapper(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq,
-                            PacketQueue *postpq, int ipproto)
+static TmEcode DnsJsonIPWrapper(ThreadVars *tv, Packet *p, void *data,
+                                int ipproto)
 {
     SCEnter();
 
@@ -270,7 +270,7 @@ end:
     SCReturnInt(TM_ECODE_OK);
 }
 
-TmEcode OutputDnsLog(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq)
+TmEcode OutputDnsLog(ThreadVars *tv, Packet *p, void *data)
 {
     SCEnter();
 
@@ -283,7 +283,7 @@ TmEcode OutputDnsLog(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, Pac
         SCReturnInt(TM_ECODE_OK);
     }
 
-    DnsJsonIPWrapper(tv, p, data, pq, postpq, AF_INET);
+    DnsJsonIPWrapper(tv, p, data, AF_INET);
 
     SCReturnInt(TM_ECODE_OK);
 }
index fc7a3476bd71da870767b67b10425056880fd2ab..3708f9d8974a92a75219eb99b7377e1915b95a6f 100644 (file)
@@ -24,7 +24,7 @@
 #ifndef __OUTPUT_DNSLOG_H__
 #define __OUTPUT_DNSLOG_H__
 
-TmEcode OutputDnsLog(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq);
+TmEcode OutputDnsLog(ThreadVars *tv, Packet *p, void *data);
 OutputCtx *DnsJsonInitCtx(ConfNode *);
 
 #endif /* __OUTPUT_DNSLOG_H__ */
index 7ed3b95319e163c814e7b7f0f3e6fac1acd7da7c..c437cd91e67abc4de45da69e2bda624659ead94d 100644 (file)
  *
  * \param tv    Pointer the current thread variables
  * \param p     Pointer the packet which is being logged
- * \param data  Pointer to the droplog struct
- * \param pq    Pointer the packet queue
- * \param postpq Pointer the packet queue where this packet will be sent
  *
  * \return return TM_EODE_OK on success
  */
-TmEcode OutputDropLogJSON (AlertJsonThread *aft, Packet *p, PacketQueue *pq,
-                      PacketQueue *postpq)
+TmEcode OutputDropLogJSON (AlertJsonThread *aft, Packet *p)
 {
     uint16_t proto = 0;
     MemBuffer *buffer = (MemBuffer *)aft->buffer;
@@ -143,13 +139,10 @@ TmEcode OutputDropLogJSON (AlertJsonThread *aft, Packet *p, PacketQueue *pq,
  * \param tv    Pointer the current thread variables
  * \param p     Pointer the packet which is being logged
  * \param data  Pointer to the droplog struct
- * \param pq    Pointer the packet queue
- * \param postpq Pointer the packet queue where this packet will be sent
  *
  * \return return TM_EODE_OK on success
  */
-TmEcode OutputDropLog (ThreadVars *tv, Packet *p, void *data, PacketQueue *pq,
-                      PacketQueue *postpq)
+TmEcode OutputDropLog (ThreadVars *tv, Packet *p, void *data)
 {
     AlertJsonThread *aft = (AlertJsonThread *)data;
 
@@ -163,14 +156,14 @@ TmEcode OutputDropLog (ThreadVars *tv, Packet *p, void *data, PacketQueue *pq,
     if ((p->flow != NULL) && (p->flow->flags & FLOW_ACTION_DROP)) {
         if (PKT_IS_TOSERVER(p) && !(p->flow->flags & FLOW_TOSERVER_DROP_LOGGED)) {
             p->flow->flags |= FLOW_TOSERVER_DROP_LOGGED;
-            return OutputDropLogJSON(aft, p, pq, NULL);
+            return OutputDropLogJSON(aft, p);
 
         } else if (PKT_IS_TOCLIENT(p) && !(p->flow->flags & FLOW_TOCLIENT_DROP_LOGGED)) {
             p->flow->flags |= FLOW_TOCLIENT_DROP_LOGGED;
-            return OutputDropLogJSON(aft, p, pq, NULL);
+            return OutputDropLogJSON(aft, p);
         }
     } else {
-        return OutputDropLogJSON(aft, p, pq, postpq);
+        return OutputDropLogJSON(aft, p);
     }
 
     return TM_ECODE_OK;
index 1510351df00333a96eb980f6c1de20ba24ecd401..79e5f38cd7f1b3a62dbcfea7e1abf7894762a94a 100644 (file)
@@ -26,7 +26,7 @@
 #ifndef OUTPUT_DROPLOG_H
 #define        OUTPUT_DROPLOG_H
 
-TmEcode OutputDropLog (ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq);
+TmEcode OutputDropLog (ThreadVars *tv, Packet *p, void *data);
 OutputCtx *OutputDropLogInit(ConfNode *);
 
 #endif /* OUTPUT_DROPLOG_H */
index 6d9df1b76c3194b6e5df2fbe4e55706dffe458a4..c02f00007873c384ef0de65f67c2880aee578532 100644 (file)
@@ -218,8 +218,7 @@ static void LogHttpLogJSON(AlertJsonThread *aft, json_t *js, htp_tx_t *tx)
     json_object_set_new(js, "http", hjs);
 }
 
-static TmEcode HttpJsonIPWrapper(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq,
-                            PacketQueue *postpq)
+static TmEcode HttpJsonIPWrapper(ThreadVars *tv, Packet *p, void *data)
 {
     SCEnter();
 
@@ -306,10 +305,10 @@ end:
 
 }
 
-TmEcode OutputHttpLog (ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq)
+TmEcode OutputHttpLog (ThreadVars *tv, Packet *p, void *data)
 {
     SCEnter();
-    HttpJsonIPWrapper(tv, p, data, pq, postpq);
+    HttpJsonIPWrapper(tv, p, data);
     SCReturnInt(TM_ECODE_OK);
 }
 
index 676ba544a73e196cb1dcf7b824c7b303032f18c2..c2bb6a6a619df662a65524cb240a1d90314cf8ec 100644 (file)
@@ -24,7 +24,7 @@
 #ifndef __OUTPUT_HTTPLOG_H__
 #define __OUTPUT_HTTPLOG_H__
 
-TmEcode OutputHttpLog (ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq);
+TmEcode OutputHttpLog (ThreadVars *tv, Packet *p, void *data);
 OutputCtx *OutputHttpLogInit(ConfNode *);
 
 #endif /* __OUTPUT_HTTPLOG_H__ */
index 7c904909c3dffb1adfaa1e8b4c881a6bc2a9c8f3..d98bdc01b528eae5df30e63efa272d7cf66050fe 100644 (file)
@@ -128,8 +128,7 @@ static int alert_syslog_level = DEFAULT_ALERT_SYSLOG_LEVEL;
 #endif /* OS_WIN32 */
 
 TmEcode OutputJson (ThreadVars *, Packet *, void *, PacketQueue *, PacketQueue *);
-TmEcode AlertJsonIPv4(ThreadVars *, Packet *, void *);
-TmEcode AlertJsonIPv6(ThreadVars *, Packet *, void *);
+TmEcode AlertJson(ThreadVars *, Packet *, void *);
 TmEcode OutputJsonThreadInit(ThreadVars *, void *, void **);
 TmEcode OutputJsonThreadDeinit(ThreadVars *, void *);
 void OutputJsonExitPrintStats(ThreadVars *, void *);
@@ -146,12 +145,6 @@ void TmModuleOutputJsonRegister (void) {
     tmm_modules[TMM_OUTPUTJSON].cap_flags = 0;
 
     OutputRegisterModule(MODULE_NAME, "eve-log", OutputJsonInitCtx);
-
-    /* enable the logger for the app layer */
-    AppLayerRegisterLogger(ALPROTO_DNS_UDP);
-    AppLayerRegisterLogger(ALPROTO_DNS_TCP);
-    AppLayerRegisterLogger(ALPROTO_HTTP);
-    AppLayerRegisterLogger(ALPROTO_TLS);
 }
 
 /* Default Sensor ID value */
@@ -338,63 +331,7 @@ TmEcode OutputJSON(json_t *js, void *data, uint64_t *count)
     return TM_ECODE_OK;
 }
 
-TmEcode AlertJsonIPv4(ThreadVars *tv, Packet *p, void *data)
-{
-    AlertJsonThread *aft = (AlertJsonThread *)data;
-    MemBuffer *buffer = (MemBuffer *)aft->buffer;
-    int i;
-    char *action = "Pass";
-
-    if (p->alerts.cnt == 0)
-        return TM_ECODE_OK;
-
-    MemBufferReset(buffer);
-
-    json_t *js = CreateJSONHeader(p, 0);
-    if (unlikely(js == NULL))
-        return TM_ECODE_OK;
-
-    for (i = 0; i < p->alerts.cnt; i++) {
-        PacketAlert *pa = &p->alerts.alerts[i];
-        if (unlikely(pa->s == NULL)) {
-            continue;
-        }
-
-        if ((pa->action & ACTION_DROP) && IS_ENGINE_MODE_IPS(engine_mode)) {
-            action = "Drop";
-        } else if (pa->action & ACTION_DROP) {
-            action = "wDrop";
-        }
-
-        json_t *ajs = json_object();
-        if (ajs == NULL) {
-            json_decref(js);
-            return TM_ECODE_OK;
-        }
-
-        json_object_set_new(ajs, "action", json_string(action));
-        json_object_set_new(ajs, "gid", json_integer(pa->s->gid));
-        json_object_set_new(ajs, "id", json_integer(pa->s->id));
-        json_object_set_new(ajs, "rev", json_integer(pa->s->rev));
-        json_object_set_new(ajs, "msg",
-                            json_string((pa->s->msg) ? pa->s->msg : ""));
-        json_object_set_new(ajs, "class",
-                            json_string((pa->s->class_msg) ? pa->s->class_msg : ""));
-        json_object_set_new(ajs, "pri", json_integer(pa->s->prio));
-
-        /* alert */
-        json_object_set_new(js, "alert", ajs);
-
-        OutputJSON(js, aft, &aft->file_ctx->alerts);
-        json_object_del(js, "alert");
-    }
-    json_object_clear(js);
-    json_decref(js);
-
-    return TM_ECODE_OK;
-}
-
-TmEcode AlertJsonIPv6(ThreadVars *tv, Packet *p, void *data)
+TmEcode AlertJson(ThreadVars *tv, Packet *p, void *data)
 {
     AlertJsonThread *aft = (AlertJsonThread *)data;
     MemBuffer *buffer = (MemBuffer *)aft->buffer;
@@ -525,33 +462,31 @@ TmEcode OutputJson (ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, Pack
 {
     if (output_flags & OUTPUT_ALERTS) {
 
-        if (PKT_IS_IPV4(p)) {
-            AlertJsonIPv4(tv, p, data);
-        } else if (PKT_IS_IPV6(p)) {
-            AlertJsonIPv6(tv, p, data);
+        if (PKT_IS_IPV4(p) || PKT_IS_IPV6(p)) {
+            AlertJson(tv, p, data);
         } else if (p->events.cnt > 0) {
             AlertJsonDecoderEvent(tv, p, data);
         }
     }
 
     if (output_flags & OUTPUT_DNS) {
-        OutputDnsLog(tv, p, data, pq, postpq);
+        OutputDnsLog(tv, p, data);
     }
 
     if (output_flags & OUTPUT_DROP) {
-        OutputDropLog(tv, p, data, pq, postpq);
+        OutputDropLog(tv, p, data);
     }
 
     if (output_flags & OUTPUT_FILES) {
-        OutputFileLog(tv, p, data, pq, postpq);
+        OutputFileLog(tv, p, data);
     }
 
     if (output_flags & OUTPUT_HTTP) {
-        OutputHttpLog(tv, p, data, pq, postpq);
+        OutputHttpLog(tv, p, data);
     }
 
     if (output_flags & OUTPUT_TLS) {
-        OutputTlsLog(tv, p, data, pq, postpq);
+        OutputTlsLog(tv, p, data);
     }
 
     return TM_ECODE_OK;
@@ -727,6 +662,8 @@ OutputCtx *OutputJsonInitCtx(ConfNode *conf)
                 }
                 if (strcmp(output->val, "dns") == 0) {
                     SCLogDebug("Enabling DNS output");
+                    AppLayerRegisterLogger(ALPROTO_DNS_UDP);
+                    AppLayerRegisterLogger(ALPROTO_DNS_TCP);
                     output_flags |= OUTPUT_DNS;
                     continue;
                 }
@@ -746,6 +683,7 @@ OutputCtx *OutputJsonInitCtx(ConfNode *conf)
                     SCLogDebug("Enabling HTTP output");
                     ConfNode *child = ConfNodeLookupChild(output, "http");
                     json_ctx->http_ctx = OutputHttpLogInit(child);
+                    AppLayerRegisterLogger(ALPROTO_HTTP);
                     output_flags |= OUTPUT_HTTP;
                     continue;
                 }
@@ -753,6 +691,7 @@ OutputCtx *OutputJsonInitCtx(ConfNode *conf)
                     SCLogDebug("Enabling TLS output");
                     ConfNode *child = ConfNodeLookupChild(output, "tls");
                     json_ctx->tls_ctx = OutputTlsLogInit(child);
+                    AppLayerRegisterLogger(ALPROTO_TLS);
                     output_flags |= OUTPUT_TLS;
                     continue;
                 }
index f78b27225b5ed1adb8e9bdcb8984e944d3e956f3..660fc4c2c05645d1450ee2fba3ebceae9496cb62 100644 (file)
@@ -104,7 +104,7 @@ static void LogTlsLogExtendedJSON(json_t *tjs, SSLState * state)
 }
 
 
-static TmEcode LogTlsLogIPWrapperJSON(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq)
+static TmEcode LogTlsLogIPWrapperJSON(ThreadVars *tv, Packet *p, void *data)
 {
     SCEnter();
     AlertJsonThread *aft = (AlertJsonThread *)data;
@@ -171,7 +171,7 @@ end:
 
 }
 
-TmEcode OutputTlsLog(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq)
+TmEcode OutputTlsLog(ThreadVars *tv, Packet *p, void *data)
 {
     SCEnter();
 
@@ -184,7 +184,7 @@ TmEcode OutputTlsLog(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, Pac
         SCReturnInt(TM_ECODE_OK);
     }
 
-    LogTlsLogIPWrapperJSON(tv, p, data, pq, postpq);
+    LogTlsLogIPWrapperJSON(tv, p, data);
 
     SCReturnInt(TM_ECODE_OK);
 }
index be98a4eb63b861dc59734da1ba2e9718d8511774..78007cefc5dd0e326e2c180ca24e1c46e5cabb5e 100644 (file)
@@ -24,7 +24,7 @@
 #ifndef __OUTPUT_TLSLOG_H__
 #define __OUTPUT_TLSLOG_H__
 
-TmEcode OutputTlsLog (ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq);
+TmEcode OutputTlsLog (ThreadVars *tv, Packet *p, void *data);
 OutputCtx *OutputTlsLogInit(ConfNode *);
 
 #endif /* __OUTPUT_TLSLOG_H__ */