# HG changeset patch # User Sergey Kandaurov # Date 1692016870 -14400 # Node ID a4f1cbd87f0d40e147e1d2647df5f58c0474d3d7 # Parent 0e4ff5f83653fdbc63149f6c9060063d960a0223 Tests: fixed decoding QUIC packet numbers with PNL bits set. diff --git a/lib/Test/Nginx/HTTP3.pm b/lib/Test/Nginx/HTTP3.pm --- a/lib/Test/Nginx/HTTP3.pm +++ b/lib/Test/Nginx/HTTP3.pm @@ -1727,7 +1727,13 @@ mask: & ($level == 3 ? "\x1f" : "\x0f"); my $pnl = unpack("C", substr($buf, 0, 1) & "\x03") + 1; substr($buf, $offset, $pnl) ^= substr($mask, 1); - my $pn = unpack("C", substr($buf, $offset, $pnl)); + + my $pn = 0; + for my $n (1 .. $pnl) { + $pn += unpack("C", substr($buf, $offset + $n - 1, 1)) + << ($pnl - $n) * 8; + } + my $ad = substr($buf, 0, $offset + $pnl); return ($ad, $pnl, $pn); }