== MIR for python-geoip2 bug task == Availability: The package must already be in the Ubuntu universe, and must build for the architectures it is designed to work on. - the package is in universe and is an arch all package.
Rationale: There are two main reasons for this MIR: - python-geoip for the geoip1 format/code is deprecated upstream and considered legacy - python3-geoip is in the development seed, and we should replace it with the non-legacy python3-geoip2 package - "we have historically tended to seed python bindings for libraries we support as "development", on the grounds that python was a preferred language for developing on Ubuntu." (https://code.launchpad.net/~ahasenack/ubuntu-seeds/+git/ubuntu/+merge/380547/comments/998609) Security The security history and the current state of security issues in the package must allow us to support the package for at least 9 months (60 for LTS support) without exposing its users to an inappropriate level of security risks. This requires checking of several things that are explained in detail in the subsection Security checks. Check how many vulnerabilities the package had in the past and how they were handled by upstream and the Debian/Ubuntu package: https://cve.mitre.org/cve/search_cve_list.html: Search in the National Vulnerability Database using the package as a keyword - no hits for "maxmind", "maxminddb", "libmaxminddb" other than a javascript implementation of this api - no hits for "geoip2" - "geoip" (https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=geoip) has several hits on other implementations or just users of the generic "geoip" feature, not tied to this library or python module, with one exception for the legacy version of the geoip library, not subject to this MIR, but from the same upstream publisher: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0159 check OSS security mailing list (feed 'site:www.openwall.com/lists/oss-security <pkgname>' into search engine) - a search for "maxmind" returned https://www.openwall.com/lists/oss-security/2011/05/20/4 which is a CVE on the legacy version of the library, not on the python module. Other searches returned empty results. - a search for "geoip2" returns no results - a search for "geoip" returns 3 results (site:www.openwall.com/lists/oss-security geoip) all pointing to the same issue below: - https://www.openwall.com/lists/oss-security/2011/05/20/4 for CVE-2007-0159 and a follow-up CVE because of an incomplete fix in the legacy geoip library, not subject to this MIR, but from the same upstream source Ubuntu CVE Tracker http://people.ubuntu.com/~ubuntu-security/cve/main.html - python-geoip2, geoip2, geoip, python3-geoip, python3-geoip2: no results http://people.ubuntu.com/~ubuntu-security/cve/universe.html - python-geoip2, geoip2, geoip, python3-geoip, python3-geoip2: no results http://people.ubuntu.com/~ubuntu-security/cve/partner.html - python-geoip2, geoip2, geoip, python3-geoip, python3-geoip2: no results Check for security relevant binaries. If any are present, this requires a more in-depth security review. Executables which have the suid or sgid bit set. - there are no binaries at all, just python module code Executables in /sbin, /usr/sbin. - none Packages which install services / daemons (/etc/init.d/*, /etc/init/*, /lib/systemd/system/*) - none Packages which open privileged ports (ports < 1024). - none Add-ons and plugins to security-sensitive software (filters, scanners, UI skins, etc) - The only reverse-dependency of python3-geoip2 is an irc bot called "sopel" which is in universe Quality assurance: After installing the package it must be possible to make it working with a reasonable effort of configuration and documentation reading. - it's a python module and it can be importer straight away The package must not ask debconf questions higher than medium if it is going to be installed by default. The debconf questions must have reasonable defaults. - no debconf questions There are no long-term outstanding bugs which affect the usability of the program to a major degree. To support a package, we must be reasonably convinced that upstream supports and cares for the package. The status of important bugs in Debian's, Ubuntu's, and upstream's bug tracking systems must be evaluated. Important bugs must be pointed out and discussed in the MIR report. - no bugs in ubuntu other than this MIR (https://bugs.launchpad.net/ubuntu/+source/python-geoip2) - no bugs in debian (https://bugs.debian.org/cgi-bin/pkgreport.cgi?dist=unstable;package=python-geoip2) The package is maintained well in Debian/Ubuntu (check out the Debian PTS) https://tracker.debian.org/pkg/python-geoip2 - new upstream version available (3.0.0). Release notes: https://github.com/maxmind/GeoIP2-python/releases/tag/v3.0.0), Dec 2019 (not that far ago) - unreleased vcs changes (just a standards-version bump: https://salsa.debian.org/python-team/modules/python-geoip2/-/blob/master/debian/changelog - which almost fixes the remaining wishlist item in the tracker: standards version 4.4.0 where the latest is 4.5.0. The commit above bumps it to 4.4.1 The package should not deal with exotic hardware which we cannot support. - no exotic hardware involved If the package ships a test suite, and there is no obvious reason why it cannot work during build (e. g. it needs root privileges or network access), it should be run during package build, and a failing test suite should fail the build. - 100 tests run at package build time - dep8 tests are standard python tests, via "Testsuite: autopkgtest-pkg-python" in d/control, and are green: http://autopkgtest.ubuntu.com/packages/python-geoip2 The package uses a debian/watch file whenever possible. In cases where this is not possible (e. g. native packages), the package should either provide a debian/README.source file or a debian/watch file (with comments only) providing clear instructions on how to generate the source tar file. - package ships a working d/watch file, which uscan uses and wants to update to version 3.0.0, and also produces a dfsg tarball It is often useful to run lintian --pedantic on the package to spot the most common packaging issues in advance $ lintian -I --pedantic E: python-geoip2 changes: bad-distribution-in-changes-file unstable P: python-geoip2 source: rules-requires-root-missing - cleanest lintian I've seen in a long time The package should not rely on obsolete or about to be demoted packages. That currently includes package dependencies on Python2 (without providing Python3 packages), and packages depending on GTK2. - package is python3 only - depends on python3-requests, which is not about to be demoted or obsolete UI standards: - n/a Dependencies: All binary dependencies (including Recommends:) must be satisfiable in main (i. e. the preferred alternative must be in main). If not, these dependencies need a separate MIR report (this can be a separate bug or another task on the main MIR bug) - dependencies are python3-maxminddb (>= 1.4.0), python3-requests, python3:any - python3-maxminddb is a subject of this same MIR LP: #1861101 - no recommends Standards compliance The package should meet the FHS and Debian Policy standards. Major violations should be documented and justified. Also, the source packaging should be reasonably easy to understand and maintain. - nothing to note here Maintenance: The package must have an acceptable level of maintenance corresponding to its complexity: - uses debhelper, clean d/rules, just one binary package, standard python3 module packaging All packages must have a designated "owning" team, regardless of complexity, which is set as a package bug contact. - server team will subscribe to this package Simple packages (e.g. language bindings, simple Perl modules, small command-line programs, etc.) might not need very much maintenance effort, and if they are maintained well in Debian we can just keep them synced - package is currently a sync with debian Background information: The package descriptions should explain the general purpose and context of the package. Additional explanations/justifications should be done in the MIR report. - descriptions are fine ** Description changed: + == MIR for libmaxminddb bug task == + Availability: The package is in universe and builds for amd64 arm64 armhf i386 ppc64el s390x https://launchpad.net/ubuntu/+source/libmaxminddb/1.3.2-1 Rationale: The package is a build dependency of the new bind9 9.16.x codebase. Upstream (maxminddb) deprecated the old libgeoip1 library which is what bind9 9.11.x used, and was used with bind9 up to 9.15.1 Not building bind9 9.16.x with this support means a regression in bind9 when compared with previous ubuntu releases. This will also reduce our delta with debian, since they enable geoip2. See https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/1866875 See https://ftp.isc.org/isc/bind9/cur/9.16/CHANGES and look for the "5262" entry See https://downloads.isc.org/isc/bind9/9.15.2/RELEASE-NOTES-bind-9.15.2.html (which wasn't clear that geoip1 was removed, just that geoip2 was added) Security: * http://cve.mitre.org/cve/search_cve_list.html: Search in the National Vulnerability Database using the package as a keyword - no hits for "maxmind", "maxminddb", "libmaxminddb" other than a javascript implementation of this api * check OSS security mailing list (feed 'site:www.openwall.com/lists/oss-security <pkgname>' into search engine) - a search for "maxmind" returned https://www.openwall.com/lists/oss-security/2011/05/20/4 which is a CVE on the legacy version of this library. Other searches returned empty results. Ubuntu CVE Tracker * http://people.ubuntu.com/~ubuntu-security/cve/main.html - no hits * http://people.ubuntu.com/~ubuntu-security/cve/universe.html - no hits * http://people.ubuntu.com/~ubuntu-security/cve/partner.html - no hits * Check for security relevant binaries. If any are present, this requires a more in-depth security review. - The packages provide just two binaries: the library (static and dynamic), and one tool used for queries. * Executables which have the suid or sgid bit set. - none * Executables in /sbin, /usr/sbin. - none * Packages which install services / daemons (/etc/init.d/*, /etc/init/*, /lib/systemd/system/*) - none * Packages which open privileged ports (ports < 1024). - none * Add-ons and plugins to security-sensitive software (filters, scanners, UI skins, etc) - this can optionally be used by bind9 in ACLs Including bind9 in the CVE list, I found this old one which was related to the legacy geoip library: https://www.cvedetails.com/cve/CVE-2014-8680/. This wasn't a vulnerability in the library itself, though, but in bind. Quality assurance: * After installing the package it must be possible to make it working with a reasonable effort of configuration and documentation reading. - it's a library, used by other packages, so the configuration details will vary in complexity. For bind9, for example, there is https://kb.isc.org/docs/aa-01149 * The package must not ask debconf questions higher than medium if it is going to be installed by default. The debconf questions must have reasonable defaults. - no debconf questions * There are no long-term outstanding bugs which affect the usability of the program to a major degree. To support a package, we must be reasonably convinced that upstream supports and cares for the package. - there are no open bugs in ubuntu besides the MIR (https://bugs.launchpad.net/ubuntu/+source/libmaxminddb) - there are no open bugs in debian: https://bugs.debian.org/cgi-bin/pkgreport.cgi?dist=unstable;package=libmaxminddb - very few bugs open upstream: https://github.com/maxmind/libmaxminddb/issues - most tagged with "enhancement" - closed bugs list shows more activity: https://github.com/maxmind/libmaxminddb/issues?q=is%3Aissue+is%3Aclosed - debian tracker: https://tracker.debian.org/pkg/libmaxminddb - there doesn't seem to be much activity - there is a warning about cflags in the build logs, something we could fix - same for multiarch warnings - standards version can be updated - new upstream version available (1.4.2), not updated in debian. Perhaps because 1.4.0 and 1.4.1 are tagged with "DO NOT USE" by upstream (see https://github.com/maxmind/libmaxminddb/releases) * The package should not deal with exotic hardware which we cannot support. - no exotic hardware * If the package ships a test suite, and there is no obvious reason why it cannot work during build (e. g. it needs root privileges or network access), it should be run during package build, and a failing test suite should fail the build. - moure than a thousand tests are run at build time * The package uses a debian/watch file whenever possible. In cases where this is not possible (e. g. native packages), the package should either provide a debian/README.source file or a debian/watch file (with comments only) providing clear instructions on how to generate the source tar file. - there is a working d/watch file: uscan uscan: Newest version of libmaxminddb on remote site is 1.4.2, local version is 1.3.2 uscan: => Newer package available from https://github.com/maxmind/libmaxminddb/releases/download/1.4.2/libmaxminddb-1.4.2.tar.gz Successfully symlinked ../libmaxminddb-1.4.2.tar.gz to ../libmaxminddb_1.4.2.orig.tar.gz. * It is often useful to run lintian --pedantic on the package to spot the most common packaging issues in advance $ lintian -I --pedantic E: libmaxminddb changes: bad-distribution-in-changes-file unstable W: libmaxminddb source: incomplete-creative-commons-license cc-by-sa (paragraph at line 9) W: libmaxminddb source: tab-in-license-text debian/copyright (paragraph at line 58) I: libmaxminddb0: hardening-no-bindnow usr/lib/x86_64-linux-gnu/libmaxminddb.so.0.0.7 I: libmaxminddb source: testsuite-autopkgtest-missing P: libmaxminddb-dev: copyright-refers-to-symlink-license usr/share/common-licenses/GPL P: libmaxminddb0: copyright-refers-to-symlink-license usr/share/common-licenses/GPL P: mmdb-bin: copyright-refers-to-symlink-license usr/share/common-licenses/GPL P: libmaxminddb source: file-contains-trailing-whitespace debian/control (line 67) P: libmaxminddb source: insecure-copyright-format-uri http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ P: libmaxminddb source: package-uses-old-debhelper-compat-version 10 P: libmaxminddb source: rules-requires-root-missing Of the above, we can probably easily fix hardening-no-bindnow and debhelper compat version. I'm not sure about DEP8 tests, as they might need network access. * The package should not rely on obsolete or about to be demoted packages. That currently includes package dependencies on Python2 (without providing Python3 packages), and packages depending on GTK2. - I didn't spot any such reliance on old or obsolete packages. Dependencies: * All binary dependencies (including Recommends:) must be satisfiable in main (i. e. the preferred alternative must be in main). If not, these dependencies need a separate MIR report (this can be a separate bug or another task on the main MIR bug) - runtime dependencies of libmaxminddb0: - Depends: libc6 (>= 2.14), Suggests: mmdb-bin - runtime dependencies of libmaxmibddb-dev: - Depends: libmaxminddb0 (= 1.3.2-1) - runtime dependencies of mmdb-bin: - Depends: libc6 (>= 2.17), libmaxminddb0 (>= 1.0.2) - build-dependencies include packages from universe, but these are used for running the tests: $ check-mir Checking support status of build dependencies... * libipc-run3-perl binary and source package is in universe * libtest-output-perl binary and source package is in universe Standards compliance: The package should meet the FHS and Debian Policy standards. Major violations should be documented and justified. Also, the source packaging should be reasonably easy to understand and maintain. - Old Standards-Version: 4.1.4 from april 2018 (current is 4.5.0.0 from 2020-01-20) - d/rules is small and easy to maintain - package uses debhelper, could just use an update in the dh level - I don't see any complications in the source package Maintenance: The package must have an acceptable level of maintenance corresponding to its complexity: * All packages must have a designated "owning" team, regardless of complexity, which is set as a package bug contact. - server team will own this package * Simple packages (e.g. language bindings, simple Perl modules, small command-line programs, etc.) might not need very much maintenance effort, and if they are maintained well in Debian we can just keep them synced - single library, with the usual runtime, -dev, and one binary tool packages - this package is already a sync from debian Background information: * The package descriptions should explain the general purpose and context of the package. Additional explanations/justifications should be done in the MIR report. - the descriptions in d/control are good ** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2007-0159 ** Description changed: == MIR for libmaxminddb bug task == + (for the python-geoip2 bug task, please see https://bugs.launchpad.net/ubuntu/+source/libmaxminddb/+bug/1861101/comments/17) Availability: The package is in universe and builds for amd64 arm64 armhf i386 ppc64el s390x https://launchpad.net/ubuntu/+source/libmaxminddb/1.3.2-1 Rationale: The package is a build dependency of the new bind9 9.16.x codebase. Upstream (maxminddb) deprecated the old libgeoip1 library which is what bind9 9.11.x used, and was used with bind9 up to 9.15.1 Not building bind9 9.16.x with this support means a regression in bind9 when compared with previous ubuntu releases. This will also reduce our delta with debian, since they enable geoip2. See https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/1866875 See https://ftp.isc.org/isc/bind9/cur/9.16/CHANGES and look for the "5262" entry See https://downloads.isc.org/isc/bind9/9.15.2/RELEASE-NOTES-bind-9.15.2.html (which wasn't clear that geoip1 was removed, just that geoip2 was added) Security: * http://cve.mitre.org/cve/search_cve_list.html: Search in the National Vulnerability Database using the package as a keyword - no hits for "maxmind", "maxminddb", "libmaxminddb" other than a javascript implementation of this api * check OSS security mailing list (feed 'site:www.openwall.com/lists/oss-security <pkgname>' into search engine) - a search for "maxmind" returned https://www.openwall.com/lists/oss-security/2011/05/20/4 which is a CVE on the legacy version of this library. Other searches returned empty results. Ubuntu CVE Tracker * http://people.ubuntu.com/~ubuntu-security/cve/main.html - no hits * http://people.ubuntu.com/~ubuntu-security/cve/universe.html - no hits * http://people.ubuntu.com/~ubuntu-security/cve/partner.html - no hits * Check for security relevant binaries. If any are present, this requires a more in-depth security review. - The packages provide just two binaries: the library (static and dynamic), and one tool used for queries. * Executables which have the suid or sgid bit set. - none * Executables in /sbin, /usr/sbin. - none * Packages which install services / daemons (/etc/init.d/*, /etc/init/*, /lib/systemd/system/*) - none * Packages which open privileged ports (ports < 1024). - none * Add-ons and plugins to security-sensitive software (filters, scanners, UI skins, etc) - this can optionally be used by bind9 in ACLs Including bind9 in the CVE list, I found this old one which was related to the legacy geoip library: https://www.cvedetails.com/cve/CVE-2014-8680/. This wasn't a vulnerability in the library itself, though, but in bind. Quality assurance: * After installing the package it must be possible to make it working with a reasonable effort of configuration and documentation reading. - it's a library, used by other packages, so the configuration details will vary in complexity. For bind9, for example, there is https://kb.isc.org/docs/aa-01149 * The package must not ask debconf questions higher than medium if it is going to be installed by default. The debconf questions must have reasonable defaults. - no debconf questions * There are no long-term outstanding bugs which affect the usability of the program to a major degree. To support a package, we must be reasonably convinced that upstream supports and cares for the package. - there are no open bugs in ubuntu besides the MIR (https://bugs.launchpad.net/ubuntu/+source/libmaxminddb) - there are no open bugs in debian: https://bugs.debian.org/cgi-bin/pkgreport.cgi?dist=unstable;package=libmaxminddb - very few bugs open upstream: https://github.com/maxmind/libmaxminddb/issues - most tagged with "enhancement" - closed bugs list shows more activity: https://github.com/maxmind/libmaxminddb/issues?q=is%3Aissue+is%3Aclosed - debian tracker: https://tracker.debian.org/pkg/libmaxminddb - there doesn't seem to be much activity - there is a warning about cflags in the build logs, something we could fix - same for multiarch warnings - standards version can be updated - new upstream version available (1.4.2), not updated in debian. Perhaps because 1.4.0 and 1.4.1 are tagged with "DO NOT USE" by upstream (see https://github.com/maxmind/libmaxminddb/releases) * The package should not deal with exotic hardware which we cannot support. - no exotic hardware * If the package ships a test suite, and there is no obvious reason why it cannot work during build (e. g. it needs root privileges or network access), it should be run during package build, and a failing test suite should fail the build. - moure than a thousand tests are run at build time * The package uses a debian/watch file whenever possible. In cases where this is not possible (e. g. native packages), the package should either provide a debian/README.source file or a debian/watch file (with comments only) providing clear instructions on how to generate the source tar file. - there is a working d/watch file: uscan uscan: Newest version of libmaxminddb on remote site is 1.4.2, local version is 1.3.2 uscan: => Newer package available from https://github.com/maxmind/libmaxminddb/releases/download/1.4.2/libmaxminddb-1.4.2.tar.gz Successfully symlinked ../libmaxminddb-1.4.2.tar.gz to ../libmaxminddb_1.4.2.orig.tar.gz. * It is often useful to run lintian --pedantic on the package to spot the most common packaging issues in advance $ lintian -I --pedantic E: libmaxminddb changes: bad-distribution-in-changes-file unstable W: libmaxminddb source: incomplete-creative-commons-license cc-by-sa (paragraph at line 9) W: libmaxminddb source: tab-in-license-text debian/copyright (paragraph at line 58) I: libmaxminddb0: hardening-no-bindnow usr/lib/x86_64-linux-gnu/libmaxminddb.so.0.0.7 I: libmaxminddb source: testsuite-autopkgtest-missing P: libmaxminddb-dev: copyright-refers-to-symlink-license usr/share/common-licenses/GPL P: libmaxminddb0: copyright-refers-to-symlink-license usr/share/common-licenses/GPL P: mmdb-bin: copyright-refers-to-symlink-license usr/share/common-licenses/GPL P: libmaxminddb source: file-contains-trailing-whitespace debian/control (line 67) P: libmaxminddb source: insecure-copyright-format-uri http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ P: libmaxminddb source: package-uses-old-debhelper-compat-version 10 P: libmaxminddb source: rules-requires-root-missing Of the above, we can probably easily fix hardening-no-bindnow and debhelper compat version. I'm not sure about DEP8 tests, as they might need network access. * The package should not rely on obsolete or about to be demoted packages. That currently includes package dependencies on Python2 (without providing Python3 packages), and packages depending on GTK2. - I didn't spot any such reliance on old or obsolete packages. Dependencies: * All binary dependencies (including Recommends:) must be satisfiable in main (i. e. the preferred alternative must be in main). If not, these dependencies need a separate MIR report (this can be a separate bug or another task on the main MIR bug) - runtime dependencies of libmaxminddb0: - Depends: libc6 (>= 2.14), Suggests: mmdb-bin - runtime dependencies of libmaxmibddb-dev: - Depends: libmaxminddb0 (= 1.3.2-1) - runtime dependencies of mmdb-bin: - Depends: libc6 (>= 2.17), libmaxminddb0 (>= 1.0.2) - build-dependencies include packages from universe, but these are used for running the tests: $ check-mir Checking support status of build dependencies... * libipc-run3-perl binary and source package is in universe * libtest-output-perl binary and source package is in universe Standards compliance: The package should meet the FHS and Debian Policy standards. Major violations should be documented and justified. Also, the source packaging should be reasonably easy to understand and maintain. - Old Standards-Version: 4.1.4 from april 2018 (current is 4.5.0.0 from 2020-01-20) - d/rules is small and easy to maintain - package uses debhelper, could just use an update in the dh level - I don't see any complications in the source package Maintenance: The package must have an acceptable level of maintenance corresponding to its complexity: * All packages must have a designated "owning" team, regardless of complexity, which is set as a package bug contact. - server team will own this package * Simple packages (e.g. language bindings, simple Perl modules, small command-line programs, etc.) might not need very much maintenance effort, and if they are maintained well in Debian we can just keep them synced - single library, with the usual runtime, -dev, and one binary tool packages - this package is already a sync from debian Background information: * The package descriptions should explain the general purpose and context of the package. Additional explanations/justifications should be done in the MIR report. - the descriptions in d/control are good -- You received this bug notification because you are a member of Ubuntu Server, which is subscribed to nginx in Ubuntu. https://bugs.launchpad.net/bugs/1861101 Title: [MIR]: dependency of bind9 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-release-notes/+bug/1861101/+subscriptions -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs