On Wed, May 20, 2020, Matt Caswell wrote: > This sounds odd. Why does the client fail because it hasn't read the > expected data yet? Normally (with non-blocking sockets), a failure to Sorry, I should have written that the read call is timing out (doesn't matter whether the timeout is 5s or 20s). I spent a lot of time debugging the I/O layer which is basically stdio from Chris Torek/*BSD with timeouts. It seems there is a problem but I'm not sure whether that's a bug in the code or it is just not supposed to be used that way (the buffering layer discards data when it switches from read to write - in case someone is interested: *wsetup clears the read buffer). I need some more time to understand the internals of that code, but it looks like this is not an OpenSSL/TLSv1.3 problem (it just triggers the problem in the I/O layer). Thanks for all the help and finally getting me to look at the "right" place, I appreciate the patience and feedback (and I learned a lot about the low level debugging and available callbacks to show data at the various stages).