QUIC: "Loss bits" capability
Summary
As reported by @larseggert in #16915 (closed), Wireshark isn't able to decrypt QUIC packets when the "loss bits" feature has been negotiated between the peers.
The significant draft should be: https://tools.ietf.org/html/draft-ferrieuxhamchaoui-quic-lossbits-03
Steps to reproduce
Open the attached trace: the packets from 10 on, are not be decrypted (QUIC: Decryption failed: Decryption (checktag) failed: Checksum error)
What is the current bug behavior?
Decryption error
What is the expected correct behavior?
Full decryption; no errors
Sample capture file
quic_loss_bits.pcap It is the second pcap attached in #16915 (closed), but with the encryption keys embedded.
Another interesting pcap is available in #16920 (closed) (a unrelated issue) where only the server announces this capability.
Relevant logs and/or screenshots
Build information
3.5.0 (v3.5.0rc0-116-g580de0984981)
Compiled (64-bit) with Qt 5.9.5, with libpcap, with POSIX capabilities (Linux),
with libnl 3, with GLib 2.56.4, with zlib 1.2.11, with SMI 0.4.8, with c-ares
1.14.0, with Lua 5.2.4, with GnuTLS 3.5.18 and PKCS #11 support, with Gcrypt
1.8.1, with MIT Kerberos, with MaxMind DB resolver, with nghttp2 1.30.0, with
brotli, with LZ4, with Zstandard, with Snappy, with libxml2 2.9.4, with
QtMultimedia, without automatic updates, with SpeexDSP (using system library).
Running on Linux 4.15.0-123-generic, with Intel(R) Core(TM) i7-4810MQ CPU @
2.80GHz (with SSE4.2), with 15944 MB of physical memory, with locale
LC_CTYPE=en_US.UTF-8, LC_NUMERIC=it_IT.UTF-8, LC_TIME=it_IT.UTF-8,
LC_COLLATE=en_US.UTF-8, LC_MONETARY=it_IT.UTF-8, LC_MESSAGES=en_US.UTF-8,
LC_PAPER=it_IT.UTF-8, LC_NAME=it_IT.UTF-8, LC_ADDRESS=it_IT.UTF-8,
LC_TELEPHONE=it_IT.UTF-8, LC_MEASUREMENT=it_IT.UTF-8,
LC_IDENTIFICATION=it_IT.UTF-8, with light display mode, without HiDPI, with
libpcap version 1.8.1, with GnuTLS 3.5.18, with Gcrypt 1.8.1, with brotli 1.0.4,
with zlib 1.2.11, binary plugins supported (18 loaded).
Built using gcc 8.4.0.