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 {