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 "
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.
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)
(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.
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?
OK I'm closing this now. Anyone wanting to do lookups against current databases should see Bug #1692283.