[MIR] promote python3-tornado as a pcs dependency
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-tornado (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Availability]
The package python-tornado is already in Ubuntu universe.
The package python-tornado build for the architectures it is designed to work on.
It currently builds and works for architetcures: amd64, arm64, armhf, ppc64el, riscv64, s390x
Link to package https:/
[Rationale]
The package python-tornado is required in Ubuntu main for pcs.
The package python-rotnado will not generally be useful for a large part of our user base, but is important/helpful still because pcs requires it and is in the MIR process to substitute crmsh.
pcs MIR link: https:/
The package python-tornado is required in Ubuntu main through the same scheduled requested for the pcs promotion, since pcs depends on it.
[Security]
python-tornado had 3 related security issues in the past:
* https:/
* https:/
* https:/
through https:/
These are all listed in https:/
which were dealt with upstream.
- no `suid` or `sgid` binaries
- no executables in `/sbin` and `/usr/sbin`
- Package does not install services, timers or recurring jobs
- Package does not open privileged ports (ports < 1024). Still, a user could configure a script to run tornado with a privileged port (this is not a default behavior).
[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:/
- Debian https:/
- The package does not deal with exotic hardware we cannot support
[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:/
- The package runs an autopkgtest, and is currently passing on this [amd64, arm64, armhf, ppc64el, s390x] list of architectures, link to test logs: https:/
- 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. It does throw a few warnings regarding documentation and shpped tests and examples, which should be OK.
Link to a recent build log of the package: https:/
The lintian output for a recent local build is attached.
Lintian overrides are present, but ok because they refer to warnings regarding testing data. Each override entry is explained through comments in the overrides files.
- This package does not rely on obsolete or about to be demoted packages.
- This package has no python2 or GTK2 dependencies
- The package will not be installed by default
- Packaging and build is easy, link to d/rules https:/
[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]
- 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
https:/
[Background information]
The Package description explains the package well
Upstream Name is tornado
Link to upstream project https:/
This package was once in main due to being a build-dependency of python-urllib3.
This is the python-urllib3 MIR from back then: https:/
and this is the former python-tornado MIR: https:/
The package was demoted back to universe after xenial since it is not a python-urllib3 runtime dependency.
Related branches
- Christian Ehrhardt : Approve
- Athos Ribeiro: Approve
- Canonical Server Reporter: Pending requested
-
Diff: 61 lines (+17/-0)1 file modifiedsubscriptions.yaml (+17/-0)
CVE References
Changed in python-tornado (Ubuntu): | |
assignee: | nobody → Lukas Märdian (slyon) |
tags: | added: sec-1350 |
Review for Package: src:python-tornado
[Summary]
TornadoWeb is python web framework specializing on websocket communications.
MIR team ACK under the constraint to resolve the below listed
required TODOs and as much as possible having a look at the
recommended TODOs.
This does need a security review, so I'll assign ubuntu-security
List of specific binary packages to be promoted to main: python3-tornado, python3-tornado-doc
Specific binary packages built, but NOT to be promoted to main: <None>
Notes:
- This package is processing arbitrary web-content. Therefore, I'm requiring a
security review.
Required TODOs:
#0 The package should get a team bug subscriber before being promoted (Server team?)
Recommended TODOs:
#1 lintian-overrides warnings, probably due to recent changes in lintian,
please work with the Debian maintainers to get the overrides adopted
#2 warnings during the build (see below).
- Please work with upstream to avoid using deprecated setup.py
- Please work with Debian to avoid unused substitution variables in d/control
[Duplication]
TornadoWeb is basically yet another python web framework, like Django or Flask,
both of which are already in main. But Tornado is mostly addressing the
websockets niche and optimizing for that and seems to be better supported than
other alternatives (from universe, like python3-websockets, flask-socketio,
django-channels). Therefore, I think it's okay to add it as an additional python
web framework.
There is no other package in main providing the same (niche) functionality.
[Dependencies]
OK:
- no other Dependencies to MIR due to this
- SRCPKG 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
- not a go package, no extra constraints to consider in that regard
- not a rust package, no extra constraints to consider in that regard
Problems: None
[Security]
OK:
- history of CVEs does not look concerning (3 low/medium CVEs, handled upstream)
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- 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 data formats (network packets/websocket) from an untrusted source.
- opens a port for web(-socket) communication
- processes arbitrary web content
[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
- no new...