diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c index 5564bf6f08..423f696c76 100644 --- a/ext/openssl/xp_ssl.c +++ b/ext/openssl/xp_ssl.c @@ -1349,6 +1349,10 @@ static int php_openssl_set_server_specif zval *zv; long ssl_ctx_options = SSL_CTX_get_options(ctx); +#ifdef SSL_OP_IGNORE_UNEXPECTED_EOF + ssl_ctx_options |= SSL_OP_IGNORE_UNEXPECTED_EOF; +#endif + #if defined(HAVE_ECDH) && PHP_OPENSSL_API_VERSION < 0x10100 if (php_openssl_set_server_ecdh_curve(stream, ctx) == FAILURE) { return FAILURE; @@ -1686,6 +1690,10 @@ int php_openssl_setup_crypto(php_stream method = sslsock->is_client ? SSLv23_client_method() : SSLv23_server_method(); sslsock->ctx = SSL_CTX_new(method); +#ifdef SSL_OP_IGNORE_UNEXPECTED_EOF + ssl_ctx_options |= SSL_OP_IGNORE_UNEXPECTED_EOF; +#endif + if (sslsock->ctx == NULL) { php_error_docref(NULL, E_WARNING, "SSL context creation failure"); return FAILURE;