Bug 1664957

Summary: geoiplookup is no longer supported - use mmdblookup instead
Product: Red Hat Enterprise Linux 7 Reporter: Peter Bieringer <pb>
Component: GeoIPAssignee: Michal Ruprich <mruprich>
Status: CLOSED WONTFIX QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.6   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1663670 Environment:
Last Closed: 2019-12-06 16:06:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1663670, 1692283    
Bug Blocks:    

Description Peter Bieringer 2019-01-10 06:53:49 UTC
EL7 (and EL6) are also affected

EL7 contains GeoIP-1.5.0-13.el7


+++ This bug was initially created as a clone of Bug #1663670 +++

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
"

--- Additional comment from Paul Howarth on 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.

--- Additional comment from Peter Bieringer on 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 2 Tomáš Hozza 2019-12-06 16:06:18 UTC
Red Hat Enterprise Linux version 7 entered the Maintenance Support 1 Phase in August 2019. In this phase only qualified Critical and Important Security errata advisories (RHSAs) and Urgent Priority Bug Fix errata advisories (RHBAs) may be released as they become available. Other errata advisories may be delivered as appropriate.

This bug has been reviewed by Support and Engineering representative and does not meet the inclusion criteria for Maintenance Support 1 Phase. If this issue still exists in newer major version of Red Hat Enterprise Linux, it has been cloned there and work will continue in the cloned bug.

For more information about Red Hat Enterprise Linux Lifecycle, please see https://access.redhat.com/support/policy/updates/errata/

Comment 3 RHEL Program Management 2019-12-06 16:06:24 UTC
Development Management has reviewed and declined this request. You may appeal this decision by using your Red Hat support channels, who will make certain  the issue receives the proper prioritization with product and development management.

https://www.redhat.com/support/process/production/#howto