diff options
| author | Aaron Piotrowski <aaron@trowski.com> | 2017-02-23 20:58:12 -0600 |
|---|---|---|
| committer | Aaron Piotrowski <aaron@trowski.com> | 2017-02-23 20:59:43 -0600 |
| commit | e9873d9853da2b6153776c2e5ed6858e87f0baa2 (patch) | |
| tree | 459cb038968167aa5237248e9ab6e38aa853c211 /ext/openssl/xp_ssl.c | |
| parent | 330a7b62c3558aa987ee80e12f1914347d3a9eee (diff) | |
| download | php-git-e9873d9853da2b6153776c2e5ed6858e87f0baa2.tar.gz | |
Fix bug #74159
Thanks to @brzuchal for the patch to xp_ssl.c and @DaveRandom for helping debug the problem.
Diffstat (limited to 'ext/openssl/xp_ssl.c')
| -rw-r--r-- | ext/openssl/xp_ssl.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c index b4387cd738..9dd402a8bd 100644 --- a/ext/openssl/xp_ssl.c +++ b/ext/openssl/xp_ssl.c @@ -1666,6 +1666,16 @@ int php_openssl_setup_crypto(php_stream *stream, SSL_set_mode(sslsock->ssl_handle, mode | SSL_MODE_RELEASE_BUFFERS); } while (0); #endif + + do { + long mode = SSL_get_mode(sslsock->ssl_handle); + SSL_set_mode(sslsock->ssl_handle, mode | SSL_MODE_ENABLE_PARTIAL_WRITE); + } while (0); + + do { + long mode = SSL_get_mode(sslsock->ssl_handle); + SSL_set_mode(sslsock->ssl_handle, mode | SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER); + } while (0); if (cparam->inputs.session) { if (cparam->inputs.session->ops != &php_openssl_socket_ops) { |
