annotate quic_migration.t @ 1912:f61d1b4ac638

Tests: unbreak quic_ciphers.t with AEAD_AES_128_CCM enabled. Although CCM ciphers are disabled in a stock OpenSSL as rarely used, "to reduce ClientHello bloat", AEAD_AES_128_CCM is apparently turned back in certain distributions such as RHEL. Previously, this caused testing connections to fail as the CCM cipher being negotiated isn't supported yet in nginx. Now the test is skipped instead on failure. While here, fixed nearby style.
author Sergey Kandaurov <pluknet@nginx.com>
date Wed, 14 Jun 2023 16:57:01 +0400
parents 8b74936ff2ac
children b68471aee5ad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1893
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
1 #!/usr/bin/perl
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
2
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
3 # (C) Sergey Kandaurov
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
4 # (C) Nginx, Inc.
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
5
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
6 # Tests for quic connection migration.
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
7
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
8 ###############################################################################
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
9
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
10 use warnings;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
11 use strict;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
12
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
13 use Test::More;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
14
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
15 BEGIN { use FindBin; chdir($FindBin::Bin); }
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
16
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
17 use lib 'lib';
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
18 use Test::Nginx;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
19 use Test::Nginx::HTTP3;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
20
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
21 ###############################################################################
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
22
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
23 select STDERR; $| = 1;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
24 select STDOUT; $| = 1;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
25
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
26 plan(skip_all => '127.0.0.20 local address required')
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
27 unless defined IO::Socket::INET->new( LocalAddr => '127.0.0.20' );
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
28
1896
8b74936ff2ac Tests: added has_feature() test for CryptX.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1893
diff changeset
29 my $t = Test::Nginx->new()->has(qw/http http_v3 cryptx/)
1893
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
30 ->has_daemon('openssl')->plan(2);
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
31
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
32 $t->write_file_expand('nginx.conf', <<'EOF');
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
33
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
34 %%TEST_GLOBALS%%
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
35
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
36 daemon off;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
37
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
38 events {
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
39 }
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
40
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
41 http {
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
42 %%TEST_GLOBALS_HTTP%%
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
43
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
44 ssl_certificate_key localhost.key;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
45 ssl_certificate localhost.crt;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
46
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
47 server {
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
48 listen 127.0.0.1:%%PORT_8980_UDP%% quic;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
49 server_name localhost;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
50
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
51 location / {
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
52 add_header X-IP $remote_addr;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
53 }
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
54 }
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
55 }
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
56
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
57 EOF
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
58
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
59 $t->write_file('openssl.conf', <<EOF);
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
60 [ req ]
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
61 default_bits = 2048
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
62 encrypt_key = no
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
63 distinguished_name = req_distinguished_name
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
64 [ req_distinguished_name ]
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
65 EOF
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
66
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
67 my $d = $t->testdir();
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
68
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
69 foreach my $name ('localhost') {
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
70 system('openssl req -x509 -new '
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
71 . "-config $d/openssl.conf -subj /CN=$name/ "
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
72 . "-out $d/$name.crt -keyout $d/$name.key "
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
73 . ">>$d/openssl.out 2>&1") == 0
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
74 or die "Can't create certificate for $name: $!\n";
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
75 }
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
76
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
77 $t->write_file('index.html', '');
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
78 $t->run();
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
79
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
80 ###############################################################################
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
81
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
82 # test that $remote_addr is not truncated after migration (ticket #2488),
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
83 # to test, we migrate to another address large enough in text representation,
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
84 # then send a request on the new path
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
85
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
86 my $s = Test::Nginx::HTTP3->new();
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
87 $s->new_connection_id(1, 0, "connection_id_1", "reset_token_0001");
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
88
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
89 my $frames = $s->read(all => [{ type => 'NCID' }]);
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
90 my ($frame) = grep { $_->{type} eq "NCID" } @$frames;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
91
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
92 $s->{socket} = IO::Socket::INET->new(
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
93 Proto => "udp",
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
94 LocalAddr => '127.0.0.20',
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
95 PeerAddr => '127.0.0.1:' . port(8980),
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
96 );
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
97 $s->{scid} = "connection_id_1";
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
98 $s->{dcid} = $frame->{cid};
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
99 $s->ping();
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
100
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
101 $frames = $s->read(all => [{ type => 'PATH_CHALLENGE' }]);
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
102 ($frame) = grep { $_->{type} eq "PATH_CHALLENGE" } @$frames;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
103 $s->path_response($frame->{data});
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
104
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
105 $frames = $s->read(all => [{ sid => $s->new_stream(), fin => 1 }]);
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
106 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
107 is($frame->{headers}{'x-ip'}, '127.0.0.20', 'remote addr after migration');
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
108
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
109 # test that $remote_addr is not truncated while in the process of migration;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
110 # the same but migration occurs on receiving a request stream itself,
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
111 # which is the first non-probing frame on the new path;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
112 # this might lead to $remote_addr truncation in the following order:
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
113 # - stream held original sockaddr/addr_text references on stream creation
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
114 # - values were rewritten as part of handling connection migration
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
115 # - stream was handled referencing rewritten values, with old local lengths
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
116 # sockaddr and addr_text are expected to keep copies on stream creation
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
117
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
118 $s = Test::Nginx::HTTP3->new();
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
119 $s->new_connection_id(1, 0, "connection_id_1", "reset_token_0001");
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
120
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
121 $frames = $s->read(all => [{ type => 'NCID' }]);
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
122 ($frame) = grep { $_->{type} eq "NCID" } @$frames;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
123
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
124 $s->{socket} = IO::Socket::INET->new(
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
125 Proto => "udp",
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
126 LocalAddr => '127.0.0.20',
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
127 PeerAddr => '127.0.0.1:' . port(8980),
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
128 );
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
129 $s->{scid} = "connection_id_1";
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
130 $s->{dcid} = $frame->{cid};
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
131
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
132 $frames = $s->read(all => [{ sid => $s->new_stream(), fin => 1 }]);
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
133 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
134 is($frame->{headers}{'x-ip'}, '127.0.0.1', 'remote addr on migration');
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
135
6dcf5a1df790 Tests: basic QUIC connection migration tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
136 ###############################################################################