Opened 6 months ago

Closed 3 weeks ago

#2268 closed defect (fixed)

Replace GeoIP source/format

Reported by: zzz Owned by: zzz
Priority: minor Milestone: 0.9.38
Component: router/transport Version: 0.9.34
Keywords: Cc:
Parent Tickets:

Description

We use MaxMind? "GeoLite? Legacy"
IPv4 not updated after April 1 2018.
IPv6 last update was June 4, but will go away too.

https://support.maxmind.com/geolite-legacy-discontinuation-notice/
https://dev.maxmind.com/geoip/legacy/geolite/

It appears we can switch to their version 2 format, need to verify license and see if the maxmind code we already have supports it. Benefit is version 2 is much faster. Or we could offline convert it back to legacy format, but it's much slower to read.

Also see Tor reactions:
https://trac.torproject.org/projects/tor/ticket/26240
https://trac.torproject.org/projects/tor/ticket/25542
Seems like they already switched to version 2

Subtickets

Change History (4)

comment:1 Changed 6 months ago by zzz

  • Status changed from new to accepted

Version 2 code is same license, Apache 2.
Base source code (geoip2 and db in separate trees) is about 160KB source compared to 60KB for version 1.
But requires about 1.7 MB of jars in dependencies for "jackson" JSON lib including annotations.
The database is not in JSON format, but the code uses json as an internal representation. The database Reader class returns a jackson JSON object.
Can probably convert to use the net.minidev.json we checked in for DoH, or another internal format. To be investigated.

Was thinking maybe this would be easy enough to pull into 36, but now seems unlikely.

comment:3 Changed 2 months ago by zzz

  • Milestone changed from 0.9.37 to 0.9.38

comment:4 Changed 3 weeks ago by zzz

  • Resolution set to fixed
  • Status changed from accepted to closed

In 20202f4429681357f3a911e32c02268e022cc4da 0.9.37-6

Note: See TracTickets for help on using tickets.