# HG changeset patch # User Maxim Dounin <mdou...@mdounin.ru> # Date 1678424073 -10800 # Fri Mar 10 07:54:33 2023 +0300 # Node ID 946c3b39d1f9adf3f96f1c04963539ecd1c63a8f # Parent 49d12f8c4cf69e1cbe7feccae3b0ea1ac2ca8c2f 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. diff --git a/mail_ssl.t b/mail_ssl.t --- a/mail_ssl.t +++ b/mail_ssl.t @@ -182,24 +182,28 @@ my $s = Test::Nginx::IMAP->new(); my ($ssl, $ses); ($s, $ssl) = get_ssl_socket(8145); +Net::SSLeay::read($ssl); $ses = Net::SSLeay::get_session($ssl); ($s, $ssl) = get_ssl_socket(8145, $ses); is(Net::SSLeay::session_reused($ssl), 1, 'builtin session reused'); ($s, $ssl) = get_ssl_socket(8146); +Net::SSLeay::read($ssl); $ses = Net::SSLeay::get_session($ssl); ($s, $ssl) = get_ssl_socket(8146, $ses); is(Net::SSLeay::session_reused($ssl), 0, 'session not reused'); ($s, $ssl) = get_ssl_socket(8147); +Net::SSLeay::read($ssl); $ses = Net::SSLeay::get_session($ssl); ($s, $ssl) = get_ssl_socket(8147, $ses); is(Net::SSLeay::session_reused($ssl), 1, 'builtin size session reused'); ($s, $ssl) = get_ssl_socket(8148); +Net::SSLeay::read($ssl); $ses = Net::SSLeay::get_session($ssl); ($s, $ssl) = get_ssl_socket(8148, $ses); diff --git a/stream_ssl.t b/stream_ssl.t --- a/stream_ssl.t +++ b/stream_ssl.t @@ -147,24 +147,32 @@ like(Net::SSLeay::read($ssl), qr/200 OK/ # ssl_session_cache ($s, $ssl) = get_ssl_socket(port(8080)); +Net::SSLeay::write($ssl, "GET / HTTP/1.0$CRLF$CRLF"); +Net::SSLeay::read($ssl); $ses = Net::SSLeay::get_session($ssl); ($s, $ssl) = get_ssl_socket(port(8080), $ses); is(Net::SSLeay::session_reused($ssl), 1, 'builtin session reused'); ($s, $ssl) = get_ssl_socket(port(8082)); +Net::SSLeay::write($ssl, "GET / HTTP/1.0$CRLF$CRLF"); +Net::SSLeay::read($ssl); $ses = Net::SSLeay::get_session($ssl); ($s, $ssl) = get_ssl_socket(port(8082), $ses); isnt(Net::SSLeay::session_reused($ssl), 1, 'session not reused'); ($s, $ssl) = get_ssl_socket(port(8083)); +Net::SSLeay::write($ssl, "GET / HTTP/1.0$CRLF$CRLF"); +Net::SSLeay::read($ssl); $ses = Net::SSLeay::get_session($ssl); ($s, $ssl) = get_ssl_socket(port(8083), $ses); is(Net::SSLeay::session_reused($ssl), 1, 'builtin size session reused'); ($s, $ssl) = get_ssl_socket(port(8084)); +Net::SSLeay::write($ssl, "GET / HTTP/1.0$CRLF$CRLF"); +Net::SSLeay::read($ssl); $ses = Net::SSLeay::get_session($ssl); ($s, $ssl) = get_ssl_socket(port(8084), $ses); _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel