Mercurial > hg > nginx-tests
comparison lib/Test/Nginx/HTTP3.pm @ 1925:a4f1cbd87f0d
Tests: fixed decoding QUIC packet numbers with PNL bits set.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 14 Aug 2023 16:41:10 +0400 |
parents | 0e4ff5f83653 |
children | 0fb9ca9046bf |
comparison
equal
deleted
inserted
replaced
1924:0e4ff5f83653 | 1925:a4f1cbd87f0d |
---|---|
1725 mask: | 1725 mask: |
1726 substr($buf, 0, 1) ^= substr($mask, 0, 1) | 1726 substr($buf, 0, 1) ^= substr($mask, 0, 1) |
1727 & ($level == 3 ? "\x1f" : "\x0f"); | 1727 & ($level == 3 ? "\x1f" : "\x0f"); |
1728 my $pnl = unpack("C", substr($buf, 0, 1) & "\x03") + 1; | 1728 my $pnl = unpack("C", substr($buf, 0, 1) & "\x03") + 1; |
1729 substr($buf, $offset, $pnl) ^= substr($mask, 1); | 1729 substr($buf, $offset, $pnl) ^= substr($mask, 1); |
1730 my $pn = unpack("C", substr($buf, $offset, $pnl)); | 1730 |
1731 my $pn = 0; | |
1732 for my $n (1 .. $pnl) { | |
1733 $pn += unpack("C", substr($buf, $offset + $n - 1, 1)) | |
1734 << ($pnl - $n) * 8; | |
1735 } | |
1736 | |
1731 my $ad = substr($buf, 0, $offset + $pnl); | 1737 my $ad = substr($buf, 0, $offset + $pnl); |
1732 return ($ad, $pnl, $pn); | 1738 return ($ad, $pnl, $pn); |
1733 } | 1739 } |
1734 | 1740 |
1735 sub encrypt_aead_f { | 1741 sub encrypt_aead_f { |