[MIR] Promote ruby-nio4r to main as a pcs indirect dependency
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ruby-nio4r (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Availability]
The package ruby-nio4r is already in Ubuntu universe.
The package ruby-nio4r build for the architectures it is designed to work on.
It currently builds and works for architectures: amd64, arm64, armhf, ppc64el, s390x, risv64
Link to package [[https:/
[Rationale]
The package ruby-nio4r is required in Ubuntu main for puma promotion which is a runtime dependency of pcs (the main reason for this promotion).
Ideally, we expect that ruby-nio4r (and pcs) will be promoted in the "L" development cycle. The idea is to promote only the ruby-nio4r binary.
[Security]
Required links:
https:/
Nothing was found searching for the package name. If you look for the gem name:
https:/
also nothing is reported.
Nothing was found searching in the OSS security mailing list archive.
https:/
Also nothing found in the Ubuntu security tracker.
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
(filters, scanners, plugins, UI skins, ...).
[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:
The package runs an autopkgtest, and is currently passing on
this list of architectures: amd64, arm64, armhf, i386, ppc64el, s390x.
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.
Output of `lintian --pedantic` against the source package present in lunar:
W: ruby-nio4r source: unknown-field Ruby-Versions
P: ruby-nio4r source: silent-
P: ruby-nio4r source: update-
There is no lintian overrides.
This package does not rely on obsolete or about to be demoted packages.
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]
Owning Team will be Server.
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 has been built in the archive more recently than the last
test rebuild.
[Background information]
The Package description explains the package well.
Upstream Name is: nio4r.
Link to upstream project: https:/
Changed in ruby-nio4r (Ubuntu): | |
assignee: | nobody → Lukas Märdian (slyon) |
tags: | added: sec-1676 |
Changed in ruby-nio4r (Ubuntu): | |
status: | New → Incomplete |
assignee: | nobody → Lucas Kanashiro (lucaskanashiro) |
Review for Package: src:ruby-nio4r
[Summary]
nio4r is a Ruby gem/library that provides asynchronous I/O primitives
for scalable network clients and servers. It is not a full-featured
event framework like EventMachine or Cool.io.
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: ruby-nio4r
Specific binary packages built, but NOT to be promoted to main: <None>
Notes:
#0 I'm requesting security review, especially for the embedded "libev"
(and also a bit about the openssl sockets)
Required TODOs:
#1 embedded library source in ext/libev/
* same version 4.33 is also available as shared library in the
archive; it should be used instead
* libev seems to be shipped as source files, please clearify how
this is being used & if libev from the archive can be used instead
Recommended TODOs: */rubygems- integration/ */extensions/ */*/nio4r- 2.5.8/nio4r_ ext.so
#2 The package should get a team bug subscriber before being promoted
#3 libev compiler warnings
#4 consider symbols tracking
* I'm not sure if this is needed or if the .so can only be used internally?)
* /usr/lib/
#5 Work with Debian to improve/update some of the lintian warnings (see below)
[Duplication]
There is no other package in main providing the same 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 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:
- embedded source present: ext/libev/ (same version 4.33 is also
available as shared library in the archive; it should be used
instead)
- libev seems to be shipped as source files, please clearify how this
is being used and if libev from the archive can be used instead
[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 parse data formats (files [images, video, audio,
xml, json, asn.1], network packets, structures, ...) from
an untrusted source.
- 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)
Problems:
- does open a port/socket
- does deal with cryptography (supports OpenSSL sockets)
[Common blockers]
OK:
- does not FTBFS currently
- does have a test su...