You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by ot...@apache.org on 2016/11/21 20:04:13 UTC

incubator-metron git commit: METRON-567 Usernames as numerics strings attempted to be parsed and compared as numbers (ottobackwards) closes apache/incubator-metron#360

Repository: incubator-metron
Updated Branches:
  refs/heads/master b1c89df6f -> f7906e181


METRON-567 Usernames as numerics strings attempted to be parsed and compared as numbers (ottobackwards) closes apache/incubator-metron#360


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

Branch: refs/heads/master
Commit: f7906e181ff41d9198c7aeca2f5426a6c0ec84c0
Parents: b1c89df
Author: ottobackwards <ot...@gmail.com>
Authored: Mon Nov 21 14:19:03 2016 -0500
Committer: Otto Fowler <ot...@apache.org>
Committed: Mon Nov 21 14:19:03 2016 -0500

----------------------------------------------------------------------
 .../enrichment/adapters/cif/CIFHbaseAdapter.java   |  2 +-
 .../metron/enrichment/adapters/geo/GeoAdapter.java |  4 ++--
 .../adapters/host/HostFromJSONListAdapter.java     |  2 +-
 .../adapters/simplehbase/SimpleHBaseAdapter.java   |  2 +-
 .../adapters/threatintel/ThreatIntelAdapter.java   |  4 ++--
 .../enrichment/adapters/geo/GeoAdapterTest.java    | 17 +++++++++++++++++
 .../adapters/host/HostFromJSONListAdapterTest.java | 11 ++++++++++-
 .../simplehbase/SimpleHBaseAdapterTest.java        | 11 +++++++++++
 .../threatintel/ThreatIntelAdapterTest.java        | 13 +++++++++++++
 9 files changed, 58 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/f7906e18/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/cif/CIFHbaseAdapter.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/cif/CIFHbaseAdapter.java b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/cif/CIFHbaseAdapter.java
index c173444..22d1ff4 100644
--- a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/cif/CIFHbaseAdapter.java
+++ b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/cif/CIFHbaseAdapter.java
@@ -61,7 +61,7 @@ public class CIFHbaseAdapter implements EnrichmentAdapter<CacheKey>,Serializable
 	}
 
 	public JSONObject enrich(CacheKey k) {
-		String metadata = k.getValue(String.class);
+		String metadata = k.coerceValue(String.class);
 		JSONObject output = new JSONObject();
 		LOGGER.debug("=======Looking Up For:" + metadata);
 		output.putAll(getCIFObject(metadata));

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/f7906e18/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/geo/GeoAdapter.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/geo/GeoAdapter.java b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/geo/GeoAdapter.java
index e10af77..9fd5d4d 100644
--- a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/geo/GeoAdapter.java
+++ b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/geo/GeoAdapter.java
@@ -49,10 +49,10 @@ public class GeoAdapter extends JdbcAdapter {
       return enriched;
     }
     try {
-      InetAddress addr = InetAddress.getByName(value.getValue(String.class));
+      InetAddress addr = InetAddress.getByName(value.coerceValue(String.class));
       if (addr.isAnyLocalAddress() || addr.isLoopbackAddress()
               || addr.isSiteLocalAddress() || addr.isMulticastAddress()
-              || !ipvalidator.isValidInet4Address(value.getValue(String.class))) {
+              || !ipvalidator.isValidInet4Address(value.coerceValue(String.class))) {
         return new JSONObject();
       }
       String locidQuery = "select IPTOLOCID(\"" + value.getValue()

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/f7906e18/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapter.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapter.java b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapter.java
index 881f9db..8c8628a 100644
--- a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapter.java
+++ b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapter.java
@@ -63,7 +63,7 @@ public class HostFromJSONListAdapter extends AbstractHostAdapter {
   @SuppressWarnings("unchecked")
   @Override
   public JSONObject enrich(CacheKey k) {
-    String metadata = k.getValue(String.class);
+    String metadata = k.coerceValue(String.class);
 
     if(!_known_hosts.containsKey(metadata))
       return new JSONObject();

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/f7906e18/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapter.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapter.java b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapter.java
index 240531c..eae2e85 100644
--- a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapter.java
+++ b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapter.java
@@ -76,7 +76,7 @@ public class SimpleHBaseAdapter implements EnrichmentAdapter<CacheKey>,Serializa
       try {
         for (LookupKV<EnrichmentKey, EnrichmentValue> kv :
                 lookup.get(Iterables.transform(enrichmentTypes
-                                              , new EnrichmentUtils.TypeToKey( value.getValue(String.class)
+                                              , new EnrichmentUtils.TypeToKey( value.coerceValue(String.class)
                                                                              , lookup.getTable()
                                                                              , value.getConfig().getEnrichment()
                                                                              )

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/f7906e18/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapter.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapter.java b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapter.java
index 3f16b55..05ac038 100644
--- a/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapter.java
+++ b/metron-platform/metron-enrichment/src/main/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapter.java
@@ -57,7 +57,7 @@ public class ThreatIntelAdapter implements EnrichmentAdapter<CacheKey>,Serializa
     List<String> enrichmentTypes = value.getConfig().getThreatIntel().getFieldToTypeMap().get(value.getField());
     if(enrichmentTypes != null) {
       for(String enrichmentType : enrichmentTypes) {
-        lookup.getAccessTracker().logAccess(new EnrichmentKey(enrichmentType, value.getValue(String.class)));
+        lookup.getAccessTracker().logAccess(new EnrichmentKey(enrichmentType, value.coerceValue(String.class)));
       }
     }
   }
@@ -77,7 +77,7 @@ public class ThreatIntelAdapter implements EnrichmentAdapter<CacheKey>,Serializa
       try {
         for (Boolean isThreat :
                 lookup.exists(Iterables.transform(enrichmentTypes
-                                                 , new EnrichmentUtils.TypeToKey(value.getValue(String.class)
+                                                 , new EnrichmentUtils.TypeToKey(value.coerceValue(String.class)
                                                                                 , lookup.getTable()
                                                                                 , value.getConfig().getThreatIntel()
                                                                                 )

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/f7906e18/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/geo/GeoAdapterTest.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/geo/GeoAdapterTest.java b/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/geo/GeoAdapterTest.java
index 061ff3f..529474f 100644
--- a/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/geo/GeoAdapterTest.java
+++ b/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/geo/GeoAdapterTest.java
@@ -95,5 +95,22 @@ public class GeoAdapterTest {
     Assert.assertEquals(expectedMessage, actualMessage);
   }
 
+  @Test
+  public void testEnrichNonString() throws Exception {
+    GeoAdapter geo = new GeoAdapter() {
+      @Override
+      public boolean initializeAdapter() {
+        return true;
+      }
+    };
+    geo.setStatement(statetment);
+    JSONObject actualMessage = geo.enrich(new CacheKey("dummy", ip, null));
+    Assert.assertNotNull(actualMessage.get("locID"));
+    Assert.assertEquals(expectedMessage, actualMessage);
+
+    actualMessage = geo.enrich(new CacheKey("dummy", new Long(10L), null));
+    Assert.assertEquals(actualMessage,new JSONObject());
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/f7906e18/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapterTest.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapterTest.java b/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapterTest.java
index c448f1e..c4a2ed0 100644
--- a/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapterTest.java
+++ b/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/host/HostFromJSONListAdapterTest.java
@@ -72,7 +72,16 @@ public class HostFromJSONListAdapterTest {
     Assert.assertEquals(emptyJson, actualMessage);
   }
 
-
+  @Test
+  public void testEnrichNonString() throws Exception {
+    HostFromJSONListAdapter hja = new HostFromJSONListAdapter(expectedKnownHostsString);
+    JSONObject actualMessage = hja.enrich(new CacheKey("dummy", ip, null));
+    Assert.assertNotNull(actualMessage);
+    Assert.assertEquals(expectedMessage, actualMessage);
+    actualMessage = hja.enrich(new CacheKey("dummy",new Long(10L), null));
+    JSONObject emptyJson = new JSONObject();
+    Assert.assertEquals(emptyJson, actualMessage);
+  }
   @Test
   public void testInitializeAdapter() throws Exception {
     HostFromJSONListAdapter hja = new HostFromJSONListAdapter(expectedKnownHostsString);

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/f7906e18/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapterTest.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapterTest.java b/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapterTest.java
index bf72219..6e44026 100644
--- a/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapterTest.java
+++ b/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/simplehbase/SimpleHBaseAdapterTest.java
@@ -140,6 +140,17 @@ public class SimpleHBaseAdapterTest {
   }
 
   @Test
+  public void testEnrichNonStringValue() throws Exception {
+    SimpleHBaseAdapter sha = new SimpleHBaseAdapter();
+    sha.lookup = lookup;
+    SensorEnrichmentConfig broSc = JSONUtils.INSTANCE.load(sourceConfigStr, SensorEnrichmentConfig.class);
+    JSONObject actualMessage = sha.enrich(new CacheKey("test", "test", broSc));
+    Assert.assertEquals(actualMessage, new JSONObject());
+    actualMessage = sha.enrich(new CacheKey("ip_dst_addr", new Long(10L), broSc));
+    Assert.assertEquals(actualMessage,new JSONObject());
+  }
+
+  @Test
   public void testMultiColumnFamilies() throws Exception {
     SimpleHBaseAdapter sha = new SimpleHBaseAdapter();
     sha.lookup = lookup;

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/f7906e18/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapterTest.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapterTest.java b/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapterTest.java
index 1b9a18b..31d62e1 100644
--- a/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapterTest.java
+++ b/metron-platform/metron-enrichment/src/test/java/org/apache/metron/enrichment/adapters/threatintel/ThreatIntelAdapterTest.java
@@ -125,6 +125,19 @@ public class ThreatIntelAdapterTest {
   }
 
   @Test
+  public void testEnrichNonString() throws Exception {
+    ThreatIntelAdapter tia = new ThreatIntelAdapter();
+    tia.lookup = lookup;
+    SensorEnrichmentConfig broSc = JSONUtils.INSTANCE.load(sourceConfigStr, SensorEnrichmentConfig.class);
+    JSONObject actualMessage = tia.enrich(new CacheKey("ip_dst_addr", "10.0.2.3", broSc));
+    Assert.assertNotNull(actualMessage);
+    Assert.assertEquals(expectedMessage, actualMessage);
+
+    actualMessage = tia.enrich(new CacheKey("ip_dst_addr", new Long(10L), broSc));
+    Assert.assertEquals(actualMessage,new JSONObject());
+  }
+
+  @Test
   public void testInitializeAdapter() {
 
     String cf = "cf";