<div dir="ltr"><div><div><div>Hi Maxim,<br><br></div>Thanks for the prompt response. Yes, we're using Openssl 1.1.0e at the moment...That is unfortunate, what would you suggest doing? Report this to the openssl devs? An extra RTT is quite painful.<br><br></div>Best,<br><br></div>Albert<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 22, 2017 at 9:27 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<span class=""><br>
On Mon, May 22, 2017 at 08:15:43PM +0200, Albert Casademont wrote:<br>
<br>
> Hi,<br>
><br>
> A few years ago a bug was reported on the extra RTT caused by large<br>
> certificates (<a href="https://trac.nginx.org/nginx/ticket/413" rel="noreferrer" target="_blank">https://trac.nginx.org/nginx/<wbr>ticket/413</a>). Doing some routine<br>
> testing I see that this behaviour is also present in at least nginx 1.12<br>
> and 1.13. Is it possible that the bug has reappeared? The threshold for the<br>
> extra RTT seems to be again at 4KB<br>
><br>
> Attaching a Webpagetest with the tcpdump file, you can clearly see that the<br>
> server stops and waits for the extra ACK before sending the remainder of<br>
> the certificate (the long cert is just for testing, but the same happens<br>
> when sending the OCSP response if stapling is activated).<br>
><br>
> wpt: <a href="https://www.webpagetest.org/result/170522_SA_1A3B" rel="noreferrer" target="_blank">https://www.webpagetest.org/<wbr>result/170522_SA_1A3B</a><br>
> tcpdump:<br>
> <a href="https://www.webpagetest.org/getgzip.php?test=170522_SA_1A3B&file=1.cap" rel="noreferrer" target="_blank">https://www.webpagetest.org/<wbr>getgzip.php?test=170522_SA_<wbr>1A3B&file=1.cap</a> (use<br>
> "(ip.addr eq 192.168.10.65 and ip.addr eq 37.187.169.10) and (tcp.port eq<br>
> 57109 and tcp.port eq 443)" filter in wireshark)<br>
<br>
</span>Which OpenSSL version you are using?  It is quite possible that<br>
changes in OpenSSL broke this, as OpenSSL provides no official way<br>
to adjust handshake buffers.<br>
<br>
Quick testing suggest that it works properly with OpenSSL 1.0.2k,<br>
but not with OpenSSL 1.1.0d.  Looking into the code suggests that<br>
it is broken by this commit:<br>
<br>
<a href="https://github.com/openssl/openssl/commit/2e7dc7cd688" rel="noreferrer" target="_blank">https://github.com/openssl/<wbr>openssl/commit/2e7dc7cd688</a><br>
<br>
And it looks like it is no longer possible to adjust handshake<br>
buffer size with OpenSSL 1.1.0 and up, unfortunately.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" rel="noreferrer" target="_blank">http://nginx.org/</a><br>
______________________________<wbr>_________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-devel</a><br>
</font></span></blockquote></div><br></div>