Format: 1.8
Date: Sat, 01 Aug 2026 06:43:00 +0200
Source: libnetplus
Binary: libnetplus-dev libnetplus1 libnetplus1-dbgsym netplus-certgen netplus-certgen-dbgsym
Architecture: source amd64
Version: 20260801+30
Distribution: unstable
Urgency: high
Maintainer: Jan Koester <jan.koester@tuxist.de>
Changed-By: Jan Koester <jan.koester@tuxist.de>
Description:
 libnetplus-dev - C++ socket and event library - development files
 libnetplus1 - C++ socket and event library
 netplus-certgen - Self-signed TLS certificate generator
Changes:
 libnetplus (20260801+30) unstable; urgency=high
 .
   * quic: fix accept()'s datagram-drain loop stalling on a contended
     per-connection mutex. Two sites — the inline long-header path for an
     existing connection, and flush_pending_app()'s deferred short-header
     flush — took an existing child connection's quic_mtx() with a
     blocking unique_lock. Both run inline on the single thread that
     drains a given listener (see accept()'s own concurrency note), so a
     connection busy elsewhere (e.g. mid-transfer, holding its own mutex
     for real work) could stall this entire drain call — and with it,
     every other connection's traffic in the same batch, and any brand-new
     incoming connection sitting later in it — for as long as that other
     thread held the lock. Root-caused live on a production mediadb node:
     a healthy peer's accept loop was blocked in
     pthread_mutex_lock()/quic::accept() while a client elsewhere
     (paritypp::client::connect_to_node()) got "Failed to connect to
     node X" on every 5-second-bounded retry, for minutes, even though
     ping and the peer's own accept-loop threads looked otherwise fine.
     Both sites now use try_lock and skip (rather than block) when a
     connection's mutex isn't immediately free — QUIC's own loss
     detection retransmits whatever gets skipped, far cheaper than
     blocking the shared accept path. Full existing QUIC test suite (87
     tests across quic_test/quic_rfc9000_test/quic_concurrent_test/
     quic_incremental_dispatch_test/quic_retry_test/
     quic_version_negotiation_test/quic_roundtrip_sha256_test) passes
     unchanged; benchmark_quic throughput unaffected.
Checksums-Sha1:
 266a145da33d0536369b7bf057f51370a894bd34 778 libnetplus_20260801+30.dsc
 327845f879d4cf169f8a0ce7d33598402457f7e7 339448 libnetplus_20260801+30.tar.xz
 c9f9e3711b272009480e54fc91a1dbe1c3736626 462768 libnetplus-dev_20260801+30_amd64.deb
 9d864908f7cf55078fd39689aae5bda55e677810 5317304 libnetplus1-dbgsym_20260801+30_amd64.deb
 63f785e07ef28b5b6ab212a115804f0e075f0974 380216 libnetplus1_20260801+30_amd64.deb
 19eebbca08dd522e030580b59e3aae1919909e08 8531 libnetplus_20260801+30_amd64.buildinfo
 8021973d6263c2d636beaaad890b9cae43ccb1d1 663004 netplus-certgen-dbgsym_20260801+30_amd64.deb
 103a171fb6d60e0b4c832990a2d8aa079a6d4640 69076 netplus-certgen_20260801+30_amd64.deb
Checksums-Sha256:
 01063aafce9c896bfe65fa1489e26f0441b357d2600f6ae7a3737418033e2dc1 778 libnetplus_20260801+30.dsc
 240447f1a02269bfec8043dd310be0b6cc3529c962c723b85e693efc6ebd3fd7 339448 libnetplus_20260801+30.tar.xz
 870d0b364a50aa52ab444607d2d898b6fa5e4f05b0a7a6459afd001344348b0b 462768 libnetplus-dev_20260801+30_amd64.deb
 98bc8f3883b7b46431129d649b6ec010f63402fe2b30195f37d7cd14a11f50bc 5317304 libnetplus1-dbgsym_20260801+30_amd64.deb
 e5ca6aff989e8ab6e14dfe82312c254859eb5c019eb15cfb0ee7f5aff8ebb46c 380216 libnetplus1_20260801+30_amd64.deb
 5cc23f539b56815f7a773ba03b2b565a3a1b5a55ca595d07b0124c991ee5a455 8531 libnetplus_20260801+30_amd64.buildinfo
 a3a09790e35d8c0e1d9547631bb5003862fb9b2d9ea1a84b02f7640425f57488 663004 netplus-certgen-dbgsym_20260801+30_amd64.deb
 23a1604534f09a2a930e4883e369385d08aeeac4b5ecd01cb03736c86bd6a8ea 69076 netplus-certgen_20260801+30_amd64.deb
Files:
 c036fec63baadbf98de3d64f63fde521 778 libs optional libnetplus_20260801+30.dsc
 08a9641582b08609e7a066b678eba5c0 339448 libs optional libnetplus_20260801+30.tar.xz
 280d9a7c5a87b2dd96bf940fb8c83e40 462768 libdevel optional libnetplus-dev_20260801+30_amd64.deb
 5b7e33150aee1e8d3ed90b4419f81acc 5317304 debug optional libnetplus1-dbgsym_20260801+30_amd64.deb
 a16e5ae6ad6ce87f5b8db389fec84bb8 380216 libs optional libnetplus1_20260801+30_amd64.deb
 8b23865878246f524838ccf586ab2271 8531 libs optional libnetplus_20260801+30_amd64.buildinfo
 074aa6420577216855097088a9b7d3f5 663004 debug optional netplus-certgen-dbgsym_20260801+30_amd64.deb
 90c449179a986b01949b9d6190c95551 69076 utils optional netplus-certgen_20260801+30_amd64.deb
