From 570d124e8f142fed0f8c5645f567155f2f19cc8b Mon Sep 17 00:00:00 2001 From: Frank Bergkemper Date: Tue, 5 Feb 2019 10:52:26 +0100 Subject: [PATCH] webui: webui login problem with tls enabled STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT was introduced with PHP version 5.6.0. We need to care that calling stream_socket_enable_crypto method works with versions < 5.6.0 as well. Fixes #1045: webui login problem --- .../Bareos/library/Bareos/BSock/BareosBSock.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/webui/vendor/Bareos/library/Bareos/BSock/BareosBSock.php b/webui/vendor/Bareos/library/Bareos/BSock/BareosBSock.php index 14d8fe1bb7d..2ba2c42c87e 100644 --- a/webui/vendor/Bareos/library/Bareos/BSock/BareosBSock.php +++ b/webui/vendor/Bareos/library/Bareos/BSock/BareosBSock.php @@ -535,7 +535,17 @@ private function connect() if (($this->config['server_can_do_tls'] || $this->config['server_requires_tls']) && ($this->config['client_can_do_tls'] || $this->config['client_requires_tls'])) { - $crypto_method = STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT; + /* + * STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT was introduced with PHP version + * 5.6.0. We need to care that calling stream_socket_enable_crypto method + * works with versions < 5.6.0 as well. + */ + $crypto_method = STREAM_CRYPTO_METHOD_TLS_CLIENT; + + if (defined('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT')) { + $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT; + } + $result = stream_socket_enable_crypto($this->socket, true, $crypto_method); if (!$result) {