<div dir="ltr"><div><div>Greetings,<br><br></div>I am using OpenSSL in *blocking* mode, with SSL_MODE_AUTO_RETRY set. I have this situation:<br><br></div><div>Peer 1 (server):<br></div><div>SSL_write 16K bytes --> success<br></div><div>SSL_write N bytes, N<16K --> success<br></div><div>SSL_read (correctly hangs waiting for data)<br></div><div><br></div><div>Peer 2 (client):<br></div><div>SSL_read 16K+N bytes --> hangs<br><br></div><div>That is, Peer 1 breaks a data buffer that's larger than 16K in two pieces and it succeeds writing both pieces but does no more writes (calls SSL_read), while Peer 2 attempts to read the whole thing and hangs.<br><br></div><div>I'm reasoning that I'd get this behavior if for some reason the second call to SSL_write decided to buffer up the data rather than sending it immediately, but my reading of the documentation is that it's not supposed to do that.<br><br></div><div>Any help is greatly appreciated!<br><br></div><div>Thanks,<br></div><div>Emil<br></div></div>