about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-11-27 07:26:28 +0000
committerEric Wong <e@80x24.org>2023-11-27 19:43:29 +0000
commitbedd1b759b3bcaa471bffc97391d8c04cdcbd550 (patch)
tree9eac8773f42f1a7b32cfbab43903dcc7675da982 /t
parentb26fa40428f9372c3020d78d821f42dbabc78d47 (diff)
downloadpublic-inbox-bedd1b759b3bcaa471bffc97391d8c04cdcbd550.tar.gz
The LibreSSL 3.7.2 on my OpenBSD 7.3 VM seems return 7 bytes of
junk data before EOF/ECONNRESET when a client attempts to write
plain-text to a TLS socket.

Tested-by: Štěpán Němec <stepnem@smrk.net>
Diffstat (limited to 't')
-rw-r--r--t/nntpd-tls.t8
1 files changed, 6 insertions, 2 deletions
diff --git a/t/nntpd-tls.t b/t/nntpd-tls.t
index a11a0dd9..a16cc015 100644
--- a/t/nntpd-tls.t
+++ b/t/nntpd-tls.t
@@ -187,8 +187,12 @@ for my $args (
 
         my $s = tcp_connect($nntps);
         syswrite($s, '->accept_SSL_ will fail on this!');
-        ok(!sysread($s, my $rbuf, 128), 'EOF or ECONNRESET on ->accept_SSL fail');
-
+        my @r;
+        do { # some platforms or OpenSSL versions need an extra read
+                push @r, sysread($s, my $rbuf, 128);
+        } while ($r[-1] && @r < 2);
+        ok(!$r[-1], 'EOF or ECONNRESET on ->accept_SSL fail') or
+                diag explain(\@r);
         $c = undef;
         $td->kill;
         $td->join;