On 09/29/2015 11:42 AM, [email protected] wrote:
> Author: ylavic
> Date: Tue Sep 29 09:42:56 2015
> New Revision: 1705823
> 
> URL: http://svn.apache.org/viewvc?rev=1705823&view=rev
> Log:
> mod_ssl: don't FLUSH output (blocking) on read.
> This defeats deferred write (and pipelining), eg. check_pipeline() is not
> expecting the pipe to be flushed under it.
> So let OpenSSL >= 0.9.8m issue the flush when necessary (earlier versions
> are known to not handle all the cases, so we keep flushing with those).
> 
> Modified:
>     httpd/httpd/trunk/modules/ssl/ssl_engine_io.c
> 
> Modified: httpd/httpd/trunk/modules/ssl/ssl_engine_io.c
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ssl/ssl_engine_io.c?rev=1705823&r1=1705822&r2=1705823&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/ssl/ssl_engine_io.c (original)
> +++ httpd/httpd/trunk/modules/ssl/ssl_engine_io.c Tue Sep 29 09:42:56 2015
> @@ -466,9 +466,10 @@ static int bio_filter_in_read(BIO *bio,
>      }
>  
>      /* In theory, OpenSSL should flush as necessary, but it is known
> -     * not to do so correctly in some cases; see PR 46952.
> -     *
> -     * Historically, this flush call was performed only for an SSLv2
> +     * not to do so correctly in some cases (< 0.9.8m); see PR 46952.
> +     */
> +#if OPENSSL_VERSION_NUMBER < 0x0009080df
> +    /* Historically, this flush call was performed only for an SSLv2
>       * connection or for a proxy connection.  Calling _out_flush
>       * should be very cheap in cases where it is unnecessary (and no
>       * output is buffered) so the performance impact of doing it
> 
> 
> 


This and the follow up r1705826 do cause t/ssl/proxy.t to hang and ultimately 
fail with timeouts.
I am running on Centos 6 with Openssl 1.0.1.
Currently no idea why. Just a heads up.

Regards

Rüdiger

Reply via email to