Repository: metron
Updated Branches:
  refs/heads/master f072ed231 -> b3148a182


METRON-838 Incorrect set of ts in FireEye parser (bjigmp via justinleet) closes 
apache/metron#528


Project: http://git-wip-us.apache.org/repos/asf/metron/repo
Commit: http://git-wip-us.apache.org/repos/asf/metron/commit/b3148a18
Tree: http://git-wip-us.apache.org/repos/asf/metron/tree/b3148a18
Diff: http://git-wip-us.apache.org/repos/asf/metron/diff/b3148a18

Branch: refs/heads/master
Commit: b3148a18280a4fa50020f4a757dc526c404e0df5
Parents: f072ed2
Author: bjigmp <bji...@users.noreply.github.com>
Authored: Fri Aug 11 08:40:11 2017 -0400
Committer: leet <l...@apache.org>
Committed: Fri Aug 11 08:40:11 2017 -0400

----------------------------------------------------------------------
 .../metron/parsers/fireeye/BasicFireEyeParser.java  |  8 +++-----
 .../parsers/fireeye/BasicFireEyeParserTest.java     | 16 ++++++++++++++++
 2 files changed, 19 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metron/blob/b3148a18/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/fireeye/BasicFireEyeParser.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/fireeye/BasicFireEyeParser.java
 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/fireeye/BasicFireEyeParser.java
index 04e1591..489eb00 100644
--- 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/fireeye/BasicFireEyeParser.java
+++ 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/fireeye/BasicFireEyeParser.java
@@ -122,14 +122,12 @@ public class BasicFireEyeParser extends BasicParser {
                        month = tsMatcher.group(1);
                        day = tsMatcher.group(2);
                        time = tsMatcher.group(3);
-       
-                               } else {
-                       LOG.warn("Unable to find timestamp in message: {}", 
toParse);
                        ts = ParserUtils.convertToEpoch(month, day, time, true);
+               } else {
+                       LOG.warn("Unable to find timestamp in message: {}", 
toParse);
                }
 
-                       return ts;
-       
+               return ts;
        }
 
        private JSONObject parseMessage(String toParse) {

http://git-wip-us.apache.org/repos/asf/metron/blob/b3148a18/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/fireeye/BasicFireEyeParserTest.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/fireeye/BasicFireEyeParserTest.java
 
b/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/fireeye/BasicFireEyeParserTest.java
index 69a6dbd..7a5d2e6 100644
--- 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/fireeye/BasicFireEyeParserTest.java
+++ 
b/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/fireeye/BasicFireEyeParserTest.java
@@ -19,6 +19,10 @@ package org.apache.metron.parsers.fireeye;
 
 import java.util.Map;
 import java.util.Map.Entry;
+import java.time.Year;
+import java.time.ZonedDateTime;
+import java.time.ZoneOffset;
+
 import org.apache.metron.parsers.AbstractParserConfigTest;
 import org.json.simple.JSONObject;
 import org.json.simple.parser.JSONParser;
@@ -57,4 +61,16 @@ public class BasicFireEyeParserTest extends 
AbstractParserConfigTest {
       }
     }
   }
+
+  private final static String fireeyeMessage = "<164>Mar 19 05:24:39 
10.220.15.15 fenotify-851983.alert: 
CEF:0|FireEye|CMS|7.2.1.244420|DM|domain-match|1|rt=Feb 09 2015 12:28:26 UTC 
dvc=10.201.78.57 cn3Label=cncPort cn3=53 cn2Label=sid cn2=80494706 
shost=dev001srv02.example.com proto=udp cs5Label=cncHost cs5=mfdclk001.org 
dvchost=DEVFEYE1 spt=54527 dvc=10.100.25.16 smac=00:00:0c:07:ac:00 
cn1Label=vlan cn1=0 externalId=851983 cs4Label=link 
cs4=https://DEVCMS01.example.com/event_stream/events_for_bot?ev_id\\=851983 
dmac=00:1d:a2:af:32:a1 cs1Label=sname cs1=Trojan.Generic.DNS";
+
+  @SuppressWarnings("rawtypes")
+  @Test
+  public void testTimestampParsing() throws ParseException {
+    JSONObject parsed = parser.parse(fireeyeMessage.getBytes()).get(0);
+    JSONParser parser = new JSONParser();
+    Map json = (Map) parser.parse(parsed.toJSONString());
+    long expectedTimestamp = 
ZonedDateTime.of(Year.now(ZoneOffset.UTC).getValue(), 3, 19, 5, 24, 39, 0, 
ZoneOffset.UTC).toInstant().toEpochMilli();
+    Assert.assertEquals(expectedTimestamp, json.get("timestamp"));
+  }
 }

Reply via email to