From 94ac3f6cc8845879efe166361663f05701dbe28c Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Tue, 18 May 2021 17:17:20 -0400 Subject: [PATCH] Return Optional.empty() for present-but-not-routed IPs. --- .../java/org/whispersystems/textsecuregcm/util/AsnTable.java | 3 ++- .../org/whispersystems/textsecuregcm/util/AsnTableTest.java | 1 + .../org/whispersystems/textsecuregcm/util/ip2asn-test.tsv | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/util/AsnTable.java b/service/src/main/java/org/whispersystems/textsecuregcm/util/AsnTable.java index d4cabe989..266937891 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/util/AsnTable.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/util/AsnTable.java @@ -71,7 +71,8 @@ class AsnTable { return Optional.ofNullable(asnBlocksByFirstIp.floorEntry(addressAsLong)) .filter(entry -> entry.getValue().contains(addressAsLong)) - .map(entry -> entry.getValue().getAsn()); + .map(entry -> entry.getValue().getAsn()) + .filter(asn -> asn != 0); } public Optional getCountryCode(final long asn) { diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/util/AsnTableTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/util/AsnTableTest.java index fa3f198b5..4b24a3aaf 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/util/AsnTableTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/util/AsnTableTest.java @@ -25,6 +25,7 @@ class AsnTableTest { assertEquals(Optional.of(7922L), asnTable.getAsn((Inet4Address) Inet4Address.getByName("50.79.54.1"))); assertEquals(Optional.of(7552L), asnTable.getAsn((Inet4Address) Inet4Address.getByName("27.79.32.1"))); + assertEquals(Optional.empty(), asnTable.getAsn((Inet4Address) Inet4Address.getByName("5.182.202.1"))); assertEquals(Optional.empty(), asnTable.getAsn((Inet4Address) Inet4Address.getByName("32.79.117.1"))); assertEquals(Optional.empty(), asnTable.getAsn((Inet4Address) Inet4Address.getByName("10.0.0.1"))); } diff --git a/service/src/test/resources/org/whispersystems/textsecuregcm/util/ip2asn-test.tsv b/service/src/test/resources/org/whispersystems/textsecuregcm/util/ip2asn-test.tsv index d248be4fd..08c4ce2ba 100644 --- a/service/src/test/resources/org/whispersystems/textsecuregcm/util/ip2asn-test.tsv +++ b/service/src/test/resources/org/whispersystems/textsecuregcm/util/ip2asn-test.tsv @@ -1,2 +1,3 @@ +95865344 95865855 0 None Not routed 458051584 458227711 7552 VN VIETEL-AS-AP Viettel Group 843841536 844103679 7922 US COMCAST-7922 - Comcast Cable Communications, LLC