Bug 1692283 - geoiplookup is no longer supported - use mmdblookup instead
Summary: geoiplookup is no longer supported - use mmdblookup instead
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: libmaxminddb
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Stephen John Smoogen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1664957
TreeView+ depends on / blocked
 
Reported: 2019-03-25 09:24 UTC by Paul Howarth
Modified: 2020-12-09 07:48 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1663670
Environment:
Last Closed: 2020-12-09 07:48:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Paul Howarth 2019-03-25 09:24:10 UTC
+++ 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)

--- Additional comment from Jean-Philippe Pialasse on 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 with 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 1 Ken Fallon 2019-07-25 07:32:27 UTC
Keep in mind that the mmdblookup doesn't produce valid json. See https://github.com/maxmind/libmaxminddb/issues/135

Comment 2 Peter Bieringer 2019-07-25 18:24:14 UTC
"ipv6calc" (http://www.deepspace6.net/projects/ipv6calc.html) since version 2.1.0 has IP to CountryCode implemented as shortcode as replacement to geoiplookup, examples:

ipv6calc -q --addr2cc 85.214.153.25
DE

ipv6calc -q --addr2cc 2a01:238:4281:8600:812a:5915:8d24:58f3
DE

and it can also use DB-IP.com MMDB instead (or as fallback)...

Comment 3 Ben Cotton 2019-10-31 19:01:30 UTC
This message is a reminder that Fedora 29 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 29 on 2019-11-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '29'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 29 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 4 Paul Howarth 2019-10-31 20:17:12 UTC
mmdblookup is still part of the libmaxminddb-devel package in Rawhide.

Comment 5 Ben Cotton 2020-02-11 15:44:41 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle.
Changing version to 32.

Comment 6 Michal Ruprich 2020-12-08 16:00:23 UTC
If I understand this correctly, the effort here is to move mmdblookup from -devel to the main package at least(if not to a separate subpackage). This has been addressed in this PR:
https://src.fedoraproject.org/rpms/libmaxminddb/pull-request/1

I think it is ok like this, no need to create an extra package just for mmdblookup. What do you think Paul?

Comment 7 Paul Howarth 2020-12-08 17:58:28 UTC
(In reply to Michal Ruprich from comment #6)
> If I understand this correctly, the effort here is to move mmdblookup from
> -devel to the main package at least(if not to a separate subpackage). This
> has been addressed in this PR:
> https://src.fedoraproject.org/rpms/libmaxminddb/pull-request/1
> 
> I think it is ok like this, no need to create an extra package just for
> mmdblookup. What do you think Paul?

It looks fine to me but I'm not the maintainer of libmaxminddb so it's not my opinion that matters. Igor Raits seems to be the maintainer but isn't on the Cc list for this bug somehow.

Comment 8 Michal Ruprich 2020-12-09 07:48:49 UTC
Igor agreed to make me a co-maintainer for this package, since I own it in RHEL anyway. I am closing this, since I think the solution from comment #6 is enough. Feel free to re-open should you feel that this needs more attention.


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