diff --git a/lib/classes/Swift/Transport/StreamBuffer.php b/lib/classes/Swift/Transport/StreamBuffer.php index a2e08b8c4..6cd4a8ca6 100644 --- a/lib/classes/Swift/Transport/StreamBuffer.php +++ b/lib/classes/Swift/Transport/StreamBuffer.php @@ -113,7 +113,11 @@ public function setParam($param, $value) */ public function startTLS() { - return stream_socket_enable_crypto($this->_stream, true, STREAM_CRYPTO_METHOD_TLS_CLIENT); + // STREAM_CRYPTO_METHOD_TLS_CLIENT only allow tls1.0 connections (some php versions) + // To support modern tls we allow explicit tls1.0, tls1.1, tls1.2 + // Ssl3 and older are not allowed because they are vulnerable + // @TODO make tls arguments configurable + return stream_socket_enable_crypto($this->_stream, true, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT); } /**