[MIR] mdurl

Bug #2002818 reported by Danilo Egea Gondolfo
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
mdurl (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

[Availability]
The package mdurl is already in Ubuntu universe.
The package mdurl build for the architectures it is designed to work on.
It currently builds and works for architetcures: all
Link to package https://launchpad.net/ubuntu/+source/mdurl

[Rationale]
- The package mdurl is required in Ubuntu main as it will be used by netplan.io (as a dependency of markdown-it-py, which will be a dependency of netplan.io and will also need an MIR), which is already in main. Netplan has a new command (netplan status) that uses python3-rich (which is migrating from commonmark to markdown-it-py and will also need an MIR)
- The package mdurl will generally be useful for a large part of our user base
- The package mdurl is a new runtime dependency of package netplan.io (indirectly) that we already support

- The package mdurl is required in Ubuntu main no later than Feb 23 due to feature freeze

[Security]
- Had 0 security issues in the past
- No CVEs/security issues in this software in the past

- no `suid` or `sgid` binaries
- no executables in `/sbin` and `/usr/sbin`
- Package does not install services, timers or recurring jobs
- Packages does not open privileged ports (ports < 1024)
- Packages does not contain extensions to security-sensitive software

[Quality assurance - function/usage]
- The package works well right after install

[Quality assurance - maintenance]
- The package is maintained well in Debian/Ubuntu and has not too many and long term critical bugs open
- Ubuntu https://bugs.launchpad.net/ubuntu/+source/mdurl/+bug
- Debian https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=mdurl

[Quality assurance - testing]
- The package runs a test suite on build time, if it fails it makes the build fail, link to build log https://launchpadlibrarian.net/632299113/buildlog_ubuntu-lunar-amd64.mdurl_0.1.2-1_BUILDING.txt.gz

- The package runs an autopkgtest, and is currently passing on all but i386 architectures, link to test logs https://autopkgtest.ubuntu.com/packages/mdurl

- The package does have not failing autopkgtests right now

[Quality assurance - packaging]
- debian/watch is present and works

- debian/control defines a correct Maintainer field

- This package does not yield massive lintian Warnings, Errors
- Please link to a recent build log of the package https://launchpadlibrarian.net/632299113/buildlog_ubuntu-lunar-amd64.mdurl_0.1.2-1_BUILDING.txt.gz
- Lintian overrides are not present

- This package does not rely on obsolete or about to be demoted packages.
- This package has no python2 or GTK2 dependencies

- The package will be installed by default, but does not ask debconf questions higher than medium

- Packaging and build is easy, link to d/rules https://git.launchpad.net/ubuntu/+source/mdurl/tree/debian/rules

[UI standards]
- Application is not end-user facing (does not need translation)

[Dependencies]
- No further depends or recommends dependencies that are not yet in main

[Standards compliance]
- This package correctly follows FHS and Debian Policy

[Maintenance/Owner]
- Owning Team will be Foundations
- Team is not yet, but will subscribe to the package before promotion

- This does not use static builds

- This does not use vendored code

- This package is not rust based

- The package successfully built during the most recent test rebuild

[Background information]
The Package description explains the package well
Upstream Name is mdurl
Link to upstream project https://github.com/executablebooks/mdurl

Tags: sec-1618
Revision history for this message
Danilo Egea Gondolfo (danilogondolfo) wrote :

$ lintian --pedantic
E: mdurl changes: bad-distribution-in-changes-file unstable

Changed in mdurl (Ubuntu):
assignee: nobody → Ioanna Alifieraki (joalif)
Revision history for this message
Ioanna Alifieraki (joalif) wrote :

Review for Package: mdurl

[Summary]
MIR team ACK
This does need a security review, so I'll assign ubuntu-security
List of specific binary packages to be promoted to main: python3-mdurl

Notes:
- The package should get a team bug subscriber before being promoted

[Duplication]
mdulr is required in main as an indirect dependency of netplan.

[Dependencies]
OK:
- no other Dependencies to MIR due to this
  - mdurl checked with `check-mir`
  - all dependencies can be found in `seeded-in-ubuntu` (already in main)
  - none of the (potentially auto-generated) dependencies (Depends
    and Recommends) that are present after build are not in main
- no -dev/-debug/-doc packages that need exclusion
- No dependencies in main that are only superficially tested requiring
  more tests now.

Problems: None

[Embedded sources and static linking]
OK:
- no embedded source present
- no static linking
- does not have unexpected Built-Using entries
- Does not include vendored code

Problems: None

[Security]
OK:
- history of CVEs does not look concerning
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- does not open a port/socket
- does not process arbitrary web content
- does not use centralized online accounts
- does not integrate arbitrary javascript into the desktop
- does not deal with system authentication (eg, pam), etc)
- does not deal with security attestation (secure boot, tpm, signatures)
- does not deal with cryptography (en-/decryption, certificates, signing, ...)

Problems:
- parses, encodes and decodes urls.

[Common blockers]
OK:
- does not FTBFS currently
- does have a test suite that runs at build time
  - test suite fails will fail the build upon error.
- does have a non-trivial test suite that runs as autopkgtest
- This does not need special HW for build or test
- no new python2 dependency
- Python package, but using dh_python

Problems: None

[Packaging red flags]
OK:
- Ubuntu does not carry a delta
- symbols tracking not applicable for this kind of code.
- d/watch is present and looks ok (if needed, e.g. non-native)
- Upstream update history is good
- Debian/Ubuntu update history is good
- the current release is packaged
- promoting this does not seem to cause issues for MOTUs that so far
  maintained the package
- no massive Lintian warnings
- d/rules is rather clean
- It is not on the lto-disabled list

Problems: None

[Upstream red flags]
OK:
- no Errors/warnings during the build
- no incautious use of malloc/sprintf (the language has no direct MM)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH (usage is OK inside
  tests)
- no use of user nobody
- no use of setuid
- no important open bugs (crashers, etc) in Debian or Ubuntu
- no dependency on webkit, qtwebkit, seed or libgoa-*
- not part of the UI for extra checks
- no translation present, but none needed for this case (user visible)?

Problems: None

Changed in mdurl (Ubuntu):
assignee: Ioanna Alifieraki (joalif) → nobody
assignee: nobody → Ubuntu Security Team (ubuntu-security)
Mark Esler (eslerm)
tags: added: sec-1618
Revision history for this message
Mark Esler (eslerm) wrote :

I reviewed mdurl 0.1.1-2 as checked into kinetic. This shouldn't be considered a full audit but rather a quick gauge of maintainability.

> URL utilities for markdown-it (a Python port)

- CVE History:
  - none
- Build-Depends?
  - lunar main
     - debhelper-compat (debhelper)
     - python3-all (python3-defaults)
  - lunar universe
    - dh-python
    - flit
    - pybuild-plugin-pyproject
    - python3-pytest (dh-python)
- pre/post inst/rm scripts?
  - yes, standard prerm and postinst generated by dh-python
- init scripts?
  - none
- systemd units?
  - none
- dbus services?
  - none
- setuid binaries?
  - none
- binaries in PATH?
  - none
- sudo fragments?
  - none
- polkit files?
  - none
- udev rules?
  - none
- unit tests / autopkgtests?
  - runs build tests
  - not all decode tests have been implemented
    - https://github.com/executablebooks/mdurl/issues/2
  - recent lunar autopkgtests failing
- cron jobs?
  - none
- Build logs:
  - nothing significant

- Processes spawned?
  - none
- Memory management?
  - standard python
- File IO?
  - none
- Logging?
  - none
- Environment variable usage?
  - none
- Use of privileged functions?
  - none
- Use of cryptography / random number sources etc?
  - none
- Use of temp files?
  - none
- Use of networking?
  - none
- Use of WebKit?
  - none
- Use of PolicyKit?
  - none

- Any significant cppcheck results?
  - none
- Any significant Coverity results?
  - none
- Any significant shellcheck results?
  - none
- Any significant bandit results?
  - none

Security team ACK for promoting mdurl to main, after Foundations is satisfied with autopkgtests.

Changed in mdurl (Ubuntu):
assignee: Ubuntu Security Team (ubuntu-security) → nobody
status: New → In Progress
Revision history for this message
Lukas Märdian (slyon) wrote (last edit ):

Thanks! We (foundations) are fine with the current autopkgtest so far. The recent failures in lunar are related to the new pytest package in -proposed, but do not affect the mdurl package in the release pocket directly. Those failures will be handled via the usual proposed-migration process.

So we have MIR ACK and SEC ACK, dependency pulling it in & ~foundations-bug subscriber. => ready for promotion.

Changed in mdurl (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Override component to main
mdurl 0.1.2-1 in lunar: universe/misc -> main
python3-mdurl 0.1.2-1 in lunar amd64: universe/python/optional/100% -> main
python3-mdurl 0.1.2-1 in lunar arm64: universe/python/optional/100% -> main
python3-mdurl 0.1.2-1 in lunar armhf: universe/python/optional/100% -> main
python3-mdurl 0.1.2-1 in lunar i386: universe/python/optional/100% -> main
python3-mdurl 0.1.2-1 in lunar ppc64el: universe/python/optional/100% -> main
python3-mdurl 0.1.2-1 in lunar riscv64: universe/python/optional/100% -> main
python3-mdurl 0.1.2-1 in lunar s390x: universe/python/optional/100% -> main
Override [y|N]? y
8 publications overridden.

Changed in mdurl (Ubuntu):
status: Fix Committed → 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.