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); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~