Comment 4 for bug 1997106

Revision history for this message
Lukas Märdian (slyon) wrote :

Review for Package: src:mosh

[Summary]
Mosh is an alternative to openssh-client, which covers specific
usecases of slow, mobile, and/or high-latency connections. Development
seems to have slowed down, but a new contributor/maintainer stepped
up, who is also involved with Debian packaging, so we can hope for
more activity in the future.

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: mosh
Specific binary packages built, but NOT to be promoted to main: <None>

Notes:
#0 no translation present, but CLI only (I feel like this is OK as this
   application will not be presented to the end user)
#1 Upstream update history is sporadic, there seems to be a new
   maintainer, who is also involved with the Debian packaging,
   re-activating the release process (so should become better)
#2 needs security review, for several reasons:
   - parses data formats (network packets) from an untrusted source.
   - opens a port/socket (mosh-server UDP)
   - deals with system authentication (eg, pam), etc):
     https://bugs.debian.org/816372

Required TODOs:
#3 does not have a non-trivial test suite that runs as autopkgtest,
   please add automated integration tests
#4 other Dependencies to MIR due to this (to be discussed with Debian)
   libio-socket-ip-perl, which is also provided by perl-base (MAIN),
   so we should change that "Recommends: libio-socket-ip-perl" to
   "Recommends: perl-base"

Recommended TODOs:
#5 The package should get a team bug subscriber before being promoted
#6 build time warning (should be discussed with upstream):
   configure.ac:325: warning: The macro `AC_HELP_STRING' is obsolete.

[Duplication]
There is no other package in main providing the same functionality.
Mosh is an alternative to openssh-client, which covers specific usecases of
slow, mobile, and/or high-latency connections. Another alternative would be
"Eternal Terminal" (not in the archive).

[Dependencies]
OK:
- no -dev/-debug/-doc packages that need exclusion
- No dependencies in main that are only superficially tested requiring
  more tests now.
- lintian warnings
W: mosh: incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/bin/mosh]
N: Note that, as a particular exception, Debian Policy § 10.4 states that
N: Perl scripts should use /usr/bin/perl directly and not /usr/bin/env, etc.

Problems:
- other Dependencies to MIR due to this:
  libio-socket-ip-perl, which is also provided by perl-base, so we could
  change that "Recommends: libio-socket-ip-perl" to "Recommends: perl-base"

[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
- Does not include vendored code

Problems: None

[Security]
OK:
- history of CVEs does not look concerning (only CVE-2012-2385 from 2012)
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- does not process arbitrary web content
- does not use centralized online accounts
- does not integrate arbitrary javascript into the desktop
- 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) from an untrusted source.
- opens a port/socket (mosh-server UDP)
- deals with system authentication (eg, pam), etc): https://bugs.debian.org/816372

[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.
- no new python2 dependency

Problems:
- does not have a non-trivial test suite that runs as autopkgtest
  - This does not need special HW for build or test

[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)
- Debian/Ubuntu update history is slow
- 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:
- Upstream update history is sporadic, there seems to be a new maintainer, who
  is also involved with the Debian packaging, re-activating the release process
- lintian warnings
W: mosh: incorrect-path-for-interpreter /usr/bin/env perl != /usr/bin/perl [usr/bin/mosh]
N: Note that, as a particular exception, Debian Policy § 10.4 states that
N: Perl scripts should use /usr/bin/perl directly and not /usr/bin/env, etc.

[Upstream red flags]
OK:
- no Errors during the build
- no incautious use of malloc/sprintf (as far as we can check it)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH
- 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 (CLI only)

Problems:
- no translation present, but CLI only
- build time warning:
  configure.ac:325: warning: The macro `AC_HELP_STRING' is obsolete.