FFe: re-enable geoip support via libmaxminddb

Bug #1866875 reported by jean-christophe manciot
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bind9 (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Bind 9.11.x, as shipped in eoan, has support for geoip1 (legacy code) via the src:geoip package.

bind9 9.16.x, the new upstream stable release and what we are shipping in focal, dropped support for this legacy library and requires instead libmaxminddb.

There is an ongoing MIR at https://bugs.launchpad.net/ubuntu/+source/libmaxminddb/+bug/1861101 which is essentially approved, as most of it's conditions at https://bugs.launchpad.net/ubuntu/+source/libmaxminddb/+bug/1861101/comments/5 have been met, just pending FFe bugs now.

This bug is bringing back geoip support for bind9, but via a new library, therefore I believe it needs a Feature Freeze Exception. Note that bind9 9.16.x itself was uploaded before FF, but unknowingly without geoip support.

PPA with packages for testing at https://launchpad.net/~ahasenack/+archive/ubuntu/bind9-geoip/

[Original description]

Ubuntu 20.04
bind9 1:9.16.0-1ubuntu3

# systemctl status bind9
● named.service - BIND Domain Name Server
     Loaded: loaded (/lib/systemd/system/named.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Tue 2020-03-10 18:22:42 CET; 2min 21s ago
       Docs: man:named(8)
   Main PID: 46665 (code=exited, status=1/FAILURE)

Mar 10 18:22:42 samsung6-ubuntu named[46665]: adjusted limit on open files from 524288 to 1048576
Mar 10 18:22:42 samsung6-ubuntu named[46665]: found 8 CPUs, using 8 worker threads
Mar 10 18:22:42 samsung6-ubuntu named[46665]: using 8 UDP listeners per interface
Mar 10 18:22:42 samsung6-ubuntu named[46665]: using up to 21000 sockets
Mar 10 18:22:42 samsung6-ubuntu named[46665]: loading configuration from '/etc/bind/named.conf'
Mar 10 18:22:42 samsung6-ubuntu named[46665]: /etc/bind/named.conf.options:48: option 'geoip-directory' was not enabled at compile time
Mar 10 18:22:42 samsung6-ubuntu named[46665]: loading configuration: failure
Mar 10 18:22:42 samsung6-ubuntu named[46665]: exiting (due to fatal error)
Mar 10 18:22:42 samsung6-ubuntu systemd[1]: named.service: Main process exited, code=exited, status=1/FAILURE
Mar 10 18:22:42 samsung6-ubuntu systemd[1]: named.service: Failed with result 'exit-code'.

Related branches

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Can you please share your config file where geoip-directory is used? Was this working with previous bind9 9.11.x?

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

No need, reproduced and understood.

Changed in bind9 (Ubuntu):
status: New → In Progress
assignee: nobody → Andreas Hasenack (ahasenack)
importance: Undecided → High
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Bind9 9.16.x only supports the geoip2 library (libmaxminddb), which requires a MIR: https://bugs.launchpad.net/ubuntu/+source/libmaxminddb/+bug/1861101

Revision history for this message
jean-christophe manciot (manciot-jeanchristophe) wrote :

I don't know what you mean by "MIR"; the following libmaxminddb0 was already installed before I upgraded bind9 to **1:9.16.0-1ubuntu3**:

# apt-cache policy libmaxminddb0
libmaxminddb0:
  Installed: 1.3.2-1
  Candidate: 1.3.2-1
  Version table:
 *** 1.3.2-1 500
        500 http://fr.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status

I had no such issue with previous bind9 versions in /etc/bind/named.conf.options:
options {
...
        geoip-directory "/usr/share/some/geoip/folder";
...
};

Upgrading to bind9 **1:9.16.0-1ubuntu4** does NOT solve this issue:
bind9:
  Installed: 1:9.16.0-1ubuntu4
# systemctl restart bind9
# systemctl status bind9
● named.service - BIND Domain Name Server
     Loaded: loaded (/lib/systemd/system/named.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Wed 2020-03-11 19:44:18 CET; 5s ago
       Docs: man:named(8)
    Process: 57887 ExecStart=/usr/sbin/named -f $OPTIONS (code=exited, status=1/FAILURE)
   Main PID: 57887 (code=exited, status=1/FAILURE)

Mar 11 19:44:18 samsung6-ubuntu named[57887]: adjusted limit on open files from 524288 to 1048576
Mar 11 19:44:18 samsung6-ubuntu named[57887]: found 8 CPUs, using 8 worker threads
Mar 11 19:44:18 samsung6-ubuntu named[57887]: using 8 UDP listeners per interface
Mar 11 19:44:18 samsung6-ubuntu named[57887]: using up to 21000 sockets
Mar 11 19:44:18 samsung6-ubuntu named[57887]: loading configuration from '/etc/bind/named.conf'
Mar 11 19:44:18 samsung6-ubuntu named[57887]: /etc/bind/named.conf.options:48: option 'geoip-directory' was not enabled at compile time
Mar 11 19:44:18 samsung6-ubuntu named[57887]: loading configuration: failure
Mar 11 19:44:18 samsung6-ubuntu named[57887]: exiting (due to fatal error)
Mar 11 19:44:18 samsung6-ubuntu systemd[1]: named.service: Main process exited, code=exited, status=1/FAILURE
Mar 11 19:44:18 samsung6-ubuntu systemd[1]: named.service: Failed with result 'exit-code'.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Thanks for the followup information, and sorry for the jargon I used ("MIR": Main Inclusion Request).

It means that in order to (re)enable this support in bind 9.16.x, we need to move the libmaxminddb package from universe to main, since bind9 is a package in main. That process is ongoing in the other bug I linked (https://bugs.launchpad.net/ubuntu/+source/libmaxminddb/+bug/1861101) and once that is done, this bug you reported here will also be fixed.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I need to transform this bug into a feature freeze exception request, therefore I will temporarily unassign myself from it and set it back to "new" so it's seen by the ubuntu release team.

Changed in bind9 (Ubuntu):
status: In Progress → New
assignee: Andreas Hasenack (ahasenack) → nobody
description: updated
description: updated
description: updated
summary: - option 'geoip-directory' was not enabled at compile time
+ FFe: re-enable geoip support via libmaxminddb
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Ok, same here, especially that I have just approved the FF exception for libmaxminddb. Let's get this moving as soon as possible. Approved o/

Changed in bind9 (Ubuntu):
status: New → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package bind9 - 1:9.16.0-1ubuntu5

---------------
bind9 (1:9.16.0-1ubuntu5) focal; urgency=medium

  * d/control, d/rules: enable GeoIP2 support, since libmaxminddb is now
    in main (LP: #1866875)

 -- Andreas Hasenack <email address hidden> Mon, 16 Mar 2020 16:17:47 -0300

Changed in bind9 (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.