changeset 1832:2e541778e5d8

Tests: LibreSSL and BoringSSL session reuse with TLSv1.3 in mail. LibreSSL does not support session reuse with TLSv1.3 at all. BoringSSL with TLSv1.3 only supports session tickets, but not server-side session cache.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 23 Mar 2023 19:49:53 +0300
parents f6d1f82f314b
children fd9d077fee02
files mail_ssl_session_reuse.t
diffstat 1 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mail_ssl_session_reuse.t
+++ b/mail_ssl_session_reuse.t
@@ -139,16 +139,34 @@ my $ctx = Net::SSLeay::CTX_new() or die(
 # - only cache none
 # - only cache off
 
+TODO: {
+local $TODO = 'no TLSv1.3 sessions in LibreSSL'
+	if $t->has_module('LibreSSL') && test_tls13();
+
 is(test_reuse(8993), 1, 'tickets reused');
 is(test_reuse(8994), 1, 'tickets and cache reused');
+
+TODO: {
+local $TODO = 'no TLSv1.3 session cache in BoringSSL'
+	if $t->has_module('BoringSSL') && test_tls13();
+
 is(test_reuse(8995), 1, 'cache shared reused');
 is(test_reuse(8996), 1, 'cache builtin reused');
 is(test_reuse(8997), 1, 'cache builtin size reused');
+
+}
+}
+
 is(test_reuse(8998), 0, 'cache none not reused');
 is(test_reuse(8999), 0, 'cache off not reused');
 
 ###############################################################################
 
+sub test_tls13 {
+	my ($s, $ssl) = get_ssl_socket(8993);
+	return (Net::SSLeay::version($ssl) > 0x303);
+}
+
 sub test_reuse {
 	my ($port) = @_;
 	my ($s, $ssl) = get_ssl_socket($port);