Commit e73bbba
fix: 32-bit rshift broke QUIC pn recovery for 4-byte packet numbers
recover_packet_number halved pn_win with bit.rshift, which is 32-bit on
LuaJIT: for pn_len = 4, pn_win = 2^32 truncates to 0, so pn_hwin = 0 and
any retransmitted packet decoded to pn + 2^32 — wrong nonce, AEAD tag
mismatch. Halve with plain arithmetic (exact on doubles).
Also fix the stale uncompressed-IPv6 expectation in the openssl-backend
google-capture test (same issue as the kernel variant). Both paths only
run where libcrypto is available — first exercised by the CI runner.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent db561b6 commit e73bbba
2 files changed
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
101 | 103 | | |
102 | 104 | | |
103 | 105 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
0 commit comments