<div dir="ltr"><div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">Package: coturn</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">Version: 4.15.0-1</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">Severity: important</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">Tags: patch</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">X-Debbugs-Cc: <a href="mailto:pavel.punsky@gmail.com">pavel.punsky@gmail.com</a></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"><br></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"><br></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">Dear Maintainer,</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">(I am a coturn upstream maintainer.)</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"><br></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">The package's autopkgtests are declared as four tests: setup, udp, tcp,</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">tls. The "setup" test installs the working test environment</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">(debian/tests/turnserver.conf with allow-loopback-peers, the TLS server</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">certificates, and the example user database) and restarts the coturn</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">service; the udp/tcp/tls tests assume that state is still present.</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"><br></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">However, autopkgtest gives every test a pristine testbed when the</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">backend supports revert, so nothing installed by "setup" survives into</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">the following tests. On current infrastructure (both debci and Ubuntu's</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">autopkgtest cloud) each test's log shows the coturn package being</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">freshly reinstalled before every test, and tcp/tls therefore run</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">against the stock configuration:</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">  * tcp fails with "create permission error 403": without</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">    allow-loopback-peers the server denies the loopback relayed</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">    address that the RFC 6062 client-to-client test uses.</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">  * tls fails with "Connection refused": without certificates the TLS</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">    listener never starts.</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">udp only passes by accident (its relay address lands on a non-loopback</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">interface address).</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"><br></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">These failures are visible on debci (marked "not a regression" since</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">they fail for every version) and have real consequences in Ubuntu:</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">coturn versions newer than 4.6.1 were stuck in -proposed for the entire</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">last release cycle because of these test failures, so the current</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">Ubuntu release shipped with coturn 4.6.1 while Debian had 4.12+.</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">The attached patch (against the pkg-voip-team/coturn master branch)</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">makes each test self-contained:</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">  * debian/tests/setup becomes a helper, debian/tests/prepare, which</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">    every test runs first; it also waits for the 3478/5349 listeners to</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">    come up after restarting the service before driving a client.</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">  * "setup" is dropped from the Tests list in debian/tests/control.</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">  * iproute2 is added to the test dependencies (for ss).</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"><br></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">Validation: in a Debian sid environment with the coturn 4.15.0-1</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">binaries from unstable, applying the test configuration per-test makes</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">udp, tcp and tls all pass with 0% packet loss, including the two tests</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">that currently fail.</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"><br></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)"></span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">Regards,</span></div><div style="box-sizing:border-box;color:rgb(26,26,26);background-color:rgb(253,253,252);white-space:pre-wrap;word-break:break-word;font-family:"Anthropic Mono",ui-monospace,monospace;font-size:12.0714px"><span style="box-sizing:border-box;background-color:rgba(0,0,0,0);text-decoration:rgb(26,26,26)">Pavel Punsky</span></div></div></div>