Package: coturn
Version: 4.15.0-1
Severity: important
Tags: patch
X-Debbugs-Cc: [email protected]


Dear Maintainer,
(I am a coturn upstream maintainer.)

The package's autopkgtests are declared as four tests: setup, udp, tcp,
tls. The "setup" test installs the working test environment
(debian/tests/turnserver.conf with allow-loopback-peers, the TLS server
certificates, and the example user database) and restarts the coturn
service; the udp/tcp/tls tests assume that state is still present.

However, autopkgtest gives every test a pristine testbed when the
backend supports revert, so nothing installed by "setup" survives into
the following tests. On current infrastructure (both debci and Ubuntu's
autopkgtest cloud) each test's log shows the coturn package being
freshly reinstalled before every test, and tcp/tls therefore run
against the stock configuration:
* tcp fails with "create permission error 403": without
allow-loopback-peers the server denies the loopback relayed
address that the RFC 6062 client-to-client test uses.
* tls fails with "Connection refused": without certificates the TLS
listener never starts.
udp only passes by accident (its relay address lands on a non-loopback
interface address).

These failures are visible on debci (marked "not a regression" since
they fail for every version) and have real consequences in Ubuntu:
coturn versions newer than 4.6.1 were stuck in -proposed for the entire
last release cycle because of these test failures, so the current
Ubuntu release shipped with coturn 4.6.1 while Debian had 4.12+.
The attached patch (against the pkg-voip-team/coturn master branch)
makes each test self-contained:
* debian/tests/setup becomes a helper, debian/tests/prepare, which
every test runs first; it also waits for the 3478/5349 listeners to
come up after restarting the service before driving a client.
* "setup" is dropped from the Tests list in debian/tests/control.
* iproute2 is added to the test dependencies (for ss).

Validation: in a Debian sid environment with the coturn 4.15.0-1
binaries from unstable, applying the test configuration per-test makes
udp, tcp and tls all pass with 0% packet loss, including the two tests
that currently fail.

Regards,
Pavel Punsky

Attachment: coturn-autopkgtest-fix.patch
Description: Binary data

Reply via email to