Bug 1663670 - geoiplookup is no longer supported - use mmdblookup instead
Summary: geoiplookup is no longer supported - use mmdblookup instead
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: GeoIP
Version: 29
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Paul Howarth
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1664957
TreeView+ depends on / blocked
 
Reported: 2019-01-06 10:04 UTC by Ken Fallon
Modified: 2019-10-31 14:55 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1664957 1692283 (view as bug list)
Environment:
Last Closed: 2019-10-31 14:55:49 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ken Fallon 2019-01-06 10:04:47 UTC
Description of problem:
MaxMind has discontimued the (legacey) databases that geoiplookup uses. So geoiplookup is no longer working after 2019-01-02 (See below)

Version-Release number of selected component (if applicable):

# cat /etc/redhat-release
Fedora release 29 (Twenty Nine)

# dnf info GeoIP
Last metadata expiration check: 0:21:52 ago on 2019-01-04T07:53:19 CET.
Installed Packages
Name : GeoIP
Version : 1.6.12
Release : 4.fc29
Arch : x86_64
Size : 352 k
Source : GeoIP-1.6.12-4.fc29.src.rpm
Repo : @System
From repo : fedora
Summary : Library for country/city/organization to IP address or
hostname mapping
URL : http://www.maxmind.com/app/c
License : LGPLv2+
Description : GeoIP is a C library that enables the user to find the
country that any IP
: address or hostname originates from.
:
: It uses file based databases that can optionally be
updated on a weekly basis
: by installing the geoipupdate-cron (IPv4) and/or
geoipupdate-cron6 (IPv6)
: packages.

# dnf info geoipupdate-cron
Last metadata expiration check: 0:20:59 ago on 2019-01-04T07:53:19 CET.
Installed Packages
Name : geoipupdate-cron
Version : 3.1.1
Release : 1.fc29
Arch : noarch
Size : 117
Source : geoipupdate-3.1.1-1.fc29.src.rpm
Repo : @System
From repo : fedora
Summary : Cron job to do weekly updates of GeoIP databases
URL : http://dev.maxmind.com/geoip/geoipupdate/
License : GPLv2
Description : Cron job for weekly updates to GeoIP Legacy database from
MaxMind.

How reproducible:
100%

Steps to Reproduce:
1. Ensure the latest files are available

# ls -al /usr/share/GeoIP/
total 70076
drwxr-xr-x. 2 root root 4096 Jan 3 20:45 .
drwxr-xr-x. 392 root root 12288 Jan 3 16:20 ..
-rw-------. 1 root root 0 Jan 3 20:17 .geoipupdate.lock
-rw-r--r--. 1 root root 6311541 Jan 3 20:18 GeoLite2-ASN.mmdb
-rw-r--r--. 1 root root 61914952 Jan 3 20:17 GeoLite2-City.mmdb
-rw-r--r--. 1 root root 3506690 Jan 3 20:17 GeoLite2-Country.mmdb

2. run geoiplookup

geoiplookup 8.8.8.8

Actual results:
# geoiplookup 8.8.8.8
#

Expected results:
# geoiplookup 8.8.8.8
GeoIP Country Edition: US, United States

Additional info:
https://support.maxmind.com/geolite-legacy-discontinuation-notice/

"On January 2, 2019, we discontinued our GeoLite Legacy databases."

After contacting support.com they informed me that

"GeoLite Legacy/GeoIP Legacy integrations are not compatible with GeoLite2/GeoIP2 formats, so for querying the GeoLite2 .mmdb format, you would want to use our GeoIP2 C API's mmdblookup command instead of geoiplookup. The GeoIP2 C API developer documentation is available here:

https://maxmind.github.io/libmaxminddb/
https://maxmind.github.io/libmaxminddb/mmdblookup.html
https://github.com/maxmind/libmaxminddb
"

Comment 1 Paul Howarth 2019-01-06 11:35:52 UTC
geoiplookup is explicitly a tool for looking values from the outdated legacy databases, which although no longer distributed by MaxMind, are still available in Fedora and should be pulled in as a dependency of the GeoIP package. So I'm wondering how you've managed to end up with GeoIP installed and not having at least GeoLiteCountry.dat in /usr/share/GeoIP?

The legacy GeoIP stack will need to remain in Fedora, albeit becoming increasingly less useful, until all projects that use it have moved over to the new API.

To use the latest databases, use the mmdblookup tool, which is currently in the libmaxminddb-devel package. I would argue that that is a bug and it should be packaged in the main libmaxminddb package, or in a new package by itself, perhaps libmaxminddb-utils or mmdblookup. You should raise a bug on libmaxminddb if you want to request that though.

Comment 2 Peter Bieringer 2019-01-10 06:51:05 UTC
This also affects EL6 and EL7, for none of the 3 GeoIP version 2 is available via upstream or EPEL, making now GeoIP no longer usable.

geoipupdate of FC29 already downloads now *.mmdb, but GeoIP libraries are not enhanced to use them.

geoipupdate -v
geoipupdate 3.1.1
Opened License file /etc/GeoIP.conf
Insert edition_id GeoLite2-Country
Insert edition_id GeoLite2-City
Read in license key /etc/GeoIP.conf
Number of edition IDs 2
url: https://updates.maxmind.com/app/update_getfilename?product_id=GeoLite2-Country
md5hex_digest: 972af621796fe0720aa54870c10609f7
url: https://updates.maxmind.com/geoip/databases/GeoLite2-Country/update?db_md5=972af621796fe0720aa54870c10609f7
No new updates available
url: https://updates.maxmind.com/app/update_getfilename?product_id=GeoLite2-City
md5hex_digest: b65924fefd570a5871e2d88509f55712
url: https://updates.maxmind.com/geoip/databases/GeoLite2-City/update?db_md5=b65924fefd570a5871e2d88509f55712
No new updates available

ll /usr/share/GeoIP/*.mmdb
-rw-r--r--. 1 root root 61332406 10. Jan 07:18 /usr/share/GeoIP/GeoLite2-City.mmdb
-rw-r--r--. 1 root root  3525478 10. Jan 07:18 /usr/share/GeoIP/GeoLite2-Country.mmdb

strings /usr/lib64/libGeoIP.so.1.6.12 |grep mmdb
(empty)

Comment 3 Jean-Philippe Pialasse 2019-02-18 05:47:50 UTC
(In reply to Paul Howarth from comment #1)

> To use the latest databases, use the mmdblookup tool, which is currently in
> the libmaxminddb-devel package. I would argue that that is a bug and it
> should be packaged in the main libmaxminddb package, or in a new package by
> itself, perhaps libmaxminddb-utils or mmdblookup. You should raise a bug on
> libmaxminddb if you want to request that though.

agree this is a bug, I am not able to clone this bug and make it against libmaxminddb
someone wit more priviledges please, help to do so (for Fedora and EPEL).

opensuse has created a specific package mmdblookup, libmaxminddb-utils would be good too, but cli tools have nothing to  do in devel package IMO.

Comment 4 Paul Howarth 2019-03-25 09:30:15 UTC
I've cloned this as a bug on libmaxminddb (Bug #1692283) with a view to moving mmdblookup out of the -devel package.

As for this GeoIP bug, I'm thinking to close it as the tool still works with the GeoIP-GeoLite-data package in Fedora (albeit increasingly out of date). Anyone think otherwise?

Comment 5 Paul Howarth 2019-10-31 14:55:49 UTC
OK I'm closing this now. Anyone wanting to do lookups against current databases should see Bug #1692283.


Note You need to log in before you can comment on or make changes to this bug.