]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
lua: support smtp tx logging
authorVictor Julien <victor@inliniac.net>
Tue, 5 Jul 2016 14:09:32 +0000 (16:09 +0200)
committerVictor Julien <victor@inliniac.net>
Tue, 5 Jul 2016 14:09:32 +0000 (16:09 +0200)
src/output-lua.c

index eb32911337f285b38edecf9348014ae14c94c082..77a7811f0df49dec23313dc7dc8fcaad0256deb3 100644 (file)
@@ -605,6 +605,8 @@ static int LuaScriptInit(const char *filename, LogLuaScriptOptions *options) {
             options->alproto = ALPROTO_TLS;
         else if (strcmp(k,"protocol") == 0 && strcmp(v, "ssh") == 0)
             options->alproto = ALPROTO_SSH;
+        else if (strcmp(k,"protocol") == 0 && strcmp(v, "smtp") == 0)
+            options->alproto = ALPROTO_SMTP;
         else if (strcmp(k, "type") == 0 && strcmp(v, "packet") == 0)
             options->packet = 1;
         else if (strcmp(k, "filter") == 0 && strcmp(v, "alerts") == 0)
@@ -877,6 +879,10 @@ static OutputCtx *OutputLuaLogInit(ConfNode *conf)
         } else if (opts.alproto == ALPROTO_SSH) {
             om->PacketLogFunc = LuaPacketLoggerSsh;
             om->PacketConditionFunc = LuaPacketConditionSsh;
+        } else if (opts.alproto == ALPROTO_SMTP) {
+            om->TxLogFunc = LuaTxLogger;
+            om->alproto = ALPROTO_SMTP;
+            AppLayerParserRegisterLogger(IPPROTO_TCP, ALPROTO_SMTP);
         } else if (opts.packet && opts.alerts) {
             om->PacketLogFunc = LuaPacketLoggerAlerts;
             om->PacketConditionFunc = LuaPacketConditionAlerts;