comparison stream_ssl.t @ 1826:1f125771f1a1

Tests: adapted session reuse tests to work with TLSv1.3. In TLSv1.3, session tickets are sent after the handshake, and saving session right after the handshake is not going to work. To properly test session resumption, sessions are now saved after some data exchange.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 21 Mar 2023 02:58:02 +0300
parents fd440d324700
children fd9d077fee02
comparison
equal deleted inserted replaced
1825:3629eda94c1b 1826:1f125771f1a1
145 like(Net::SSLeay::read($ssl), qr/200 OK/, 'ssl'); 145 like(Net::SSLeay::read($ssl), qr/200 OK/, 'ssl');
146 146
147 # ssl_session_cache 147 # ssl_session_cache
148 148
149 ($s, $ssl) = get_ssl_socket(port(8080)); 149 ($s, $ssl) = get_ssl_socket(port(8080));
150 Net::SSLeay::write($ssl, "GET / HTTP/1.0$CRLF$CRLF");
151 Net::SSLeay::read($ssl);
150 $ses = Net::SSLeay::get_session($ssl); 152 $ses = Net::SSLeay::get_session($ssl);
151 153
152 ($s, $ssl) = get_ssl_socket(port(8080), $ses); 154 ($s, $ssl) = get_ssl_socket(port(8080), $ses);
153 is(Net::SSLeay::session_reused($ssl), 1, 'builtin session reused'); 155 is(Net::SSLeay::session_reused($ssl), 1, 'builtin session reused');
154 156
155 ($s, $ssl) = get_ssl_socket(port(8082)); 157 ($s, $ssl) = get_ssl_socket(port(8082));
158 Net::SSLeay::write($ssl, "GET / HTTP/1.0$CRLF$CRLF");
159 Net::SSLeay::read($ssl);
156 $ses = Net::SSLeay::get_session($ssl); 160 $ses = Net::SSLeay::get_session($ssl);
157 161
158 ($s, $ssl) = get_ssl_socket(port(8082), $ses); 162 ($s, $ssl) = get_ssl_socket(port(8082), $ses);
159 isnt(Net::SSLeay::session_reused($ssl), 1, 'session not reused'); 163 isnt(Net::SSLeay::session_reused($ssl), 1, 'session not reused');
160 164
161 ($s, $ssl) = get_ssl_socket(port(8083)); 165 ($s, $ssl) = get_ssl_socket(port(8083));
166 Net::SSLeay::write($ssl, "GET / HTTP/1.0$CRLF$CRLF");
167 Net::SSLeay::read($ssl);
162 $ses = Net::SSLeay::get_session($ssl); 168 $ses = Net::SSLeay::get_session($ssl);
163 169
164 ($s, $ssl) = get_ssl_socket(port(8083), $ses); 170 ($s, $ssl) = get_ssl_socket(port(8083), $ses);
165 is(Net::SSLeay::session_reused($ssl), 1, 'builtin size session reused'); 171 is(Net::SSLeay::session_reused($ssl), 1, 'builtin size session reused');
166 172
167 ($s, $ssl) = get_ssl_socket(port(8084)); 173 ($s, $ssl) = get_ssl_socket(port(8084));
174 Net::SSLeay::write($ssl, "GET / HTTP/1.0$CRLF$CRLF");
175 Net::SSLeay::read($ssl);
168 $ses = Net::SSLeay::get_session($ssl); 176 $ses = Net::SSLeay::get_session($ssl);
169 177
170 ($s, $ssl) = get_ssl_socket(port(8084), $ses); 178 ($s, $ssl) = get_ssl_socket(port(8084), $ses);
171 is(Net::SSLeay::session_reused($ssl), 1, 'shared session reused'); 179 is(Net::SSLeay::session_reused($ssl), 1, 'shared session reused');
172 180