Comment 2 for bug 1972866

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Review for Package: gsasl

[Summary]
MIR team ACK will be granded once the discussion on the required TODOs (and possible actions) are solved, and as much as possible having a look at the recommended TODOs.
This does not need a security review
List of specific binary packages to be promoted to main: gsasl, libgsasl18, libgsasl-dev, gsasl-doc, gsasl-common
Specific binary packages built, but NOT to be promoted to main: libgsasl7-dev
This package replaces cyrus-sasl which should be demoted once transitioned.

Notes:
Required TODOs:
- Please review the autopkgtests story: it seems quite light (running --version on the binary and building a simple program against the lib which get the version). Is there any integration tests we can use from the testsuite used during package build we can borrow?
- We need to wait for libntlm to be approved and in main first.
Recommended TODOs:
- There is a way override in the rules file with no proper clean up, please check:
override_dh_auto_install:
        dh_auto_install
- There is one warning during the build. It’s harmless as we are using %d decimal and if we can’t allocate a new variables, we have bigger issues ahead :) Still, for the worth of silencing all warnings, it would be good to have upstream fixing it. (One warning would ask for a second one, and so on… until the project build log is unreadable)
../../tests/simple.c: In function 'doit':
../../tests/simple.c:289:3: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result]
  289 | asprintf (&out, "%d.%d.%d", GSASL_VERSION_MAJOR,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  290 | GSASL_VERSION_MINOR, GSASL_VERSION_PATCH);
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The package should get a team bug subscriber before being promoted

[Duplication]
This package replaces cyrus-sasl which should be demoted once transitioned.

[Dependencies]
OK:
- no other Dependencies to MIR due to this apart from libntlm
- gsasl checked with `check-mir`
- no -dev/-debug/-doc packages that need exclusion
- No dependencies in main that are only superficially tested requiring more tests now.

[Embedded sources and static linking]
OK:
- no embedded source present
- no static linking
- does not have odd Built-Using entries

OK:
- not a go package, no extra constraints to consider in that regard

[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
- 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)

[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
- Python package, but using dh_python

Problems:
- Please review the autopkgtests story: it seems quite light (running --version on the binary and building a simple program against the lib which get the version). Is there any integration tests we can use from the testsuite used during package build we can borrow?

[Packaging red flags]
OK:
- Ubuntu does not carry a delta
- symbols tracking is in place
- 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
- no massive Lintian warnings
- d/rules is rather clean (but see below)
- It is not on the lto-disabled list

Problems:
There is a way override in the rules file with no proper clean up, please check:
override_dh_auto_install:
        dh_auto_install

[Upstream red flags]
OK:
- no Errors, one harmelss warning 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 (usage is OK inside
  tests)
- no use of user nobody
- no use of setuid
- use of setuid, but ok because TBD (prefer systemd to set those
  for services)
- 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?

Problems:
There is one warning during the build. It’s harmless as we are using %d decimal and if we can’t allocate a new variables, we have bigger issues ahead :) Still, for the worth of silencing all warnings, it would be good to have upstream fixing it. (One warning would ask for a second one, and so on… until the project build log is unreadable)
../../tests/simple.c: In function 'doit':
../../tests/simple.c:289:3: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result]
  289 | asprintf (&out, "%d.%d.%d", GSASL_VERSION_MAJOR,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  290 | GSASL_VERSION_MINOR, GSASL_VERSION_PATCH);
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~