Mercurial > hg > nginx-tests
comparison lib/Test/Nginx/HTTP3.pm @ 1940:aec72dcee93b
Tests: unconditional QUIC datagram expansion with Initial packets.
Used to get rid of "quic UDP datagram is too small for initial packet" messages.
In future, we may need this to reconsider to allow mocking with custom padding,
but for now suppressing such messages is sufficiently good enough.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 11 Dec 2023 14:01:49 +0400 |
parents | e1059682aeef |
children | 2c4f1019ee0d |
comparison
equal
deleted
inserted
replaced
1939:24482e311749 | 1940:aec72dcee93b |
---|---|
1786 \&Crypt::AuthEnc::ChaCha20Poly1305::chacha20poly1305_encrypt_authenticate; | 1786 \&Crypt::AuthEnc::ChaCha20Poly1305::chacha20poly1305_encrypt_authenticate; |
1787 } | 1787 } |
1788 | 1788 |
1789 sub encrypt_aead { | 1789 sub encrypt_aead { |
1790 my ($self, $payload, $level) = @_; | 1790 my ($self, $payload, $level) = @_; |
1791 | |
1792 if ($level == 0) { | |
1793 my $padding = 1200 - length($payload); | |
1794 $padding = 0 if $padding < 0; | |
1795 $payload = $payload . pack("x$padding"); | |
1796 } | |
1797 | |
1791 my $pn = ++$self->{pn}[0][$level]; | 1798 my $pn = ++$self->{pn}[0][$level]; |
1792 my $ad = pack("C", $level == 3 | 1799 my $ad = pack("C", $level == 3 |
1793 ? 0x40 | ($self->{key_phase} << 2) | 1800 ? 0x40 | ($self->{key_phase} << 2) |
1794 : 0xc + $level << 4) | "\x03"; | 1801 : 0xc + $level << 4) | "\x03"; |
1795 $ad .= "\x00\x00\x00\x01" unless $level == 3; | 1802 $ad .= "\x00\x00\x00\x01" unless $level == 3; |