In functions_jabber.php, function open_socket, the following changes need to be made:
- Save $server value from the start of function. (i.e. $old_server = $server;)
- Set $options['ssl'] regardless of whether $use_ssl is set. (So that the options get set for use with StartTLS)
- Set $options['ssl']['peer_name'] to $old_server.
Code: Select all
--- functions_jabber.php.old 2018-06-18 00:58:51.397524459 -0500
+++ functions_jabber.php 2018-06-18 00:59:07.570159660 -0500
@@ -250,6 +250,7 @@
*/
function open_socket($server, $port, $use_ssl, $verify_peer, $verify_peer_name, $allow_self_signed)
{
+ $old_server = $server;
if (@function_exists('dns_get_record'))
{
$record = @dns_get_record("_xmpp-client._tcp.$server", DNS_SRV);
@@ -261,12 +262,12 @@
$options = array();
+ // Set ssl context options, see http://php.net/manual/en/context.ssl.php
+ $options['ssl'] = array('peer_name' => $old_server, 'verify_peer' => $verify_peer, 'verify_peer_name' => $verify_peer_name, 'allow_self_signed' => $allow_self_signed);
+
if ($use_ssl)
{
$remote_socket = 'ssl://' . $server . ':' . $port;
-
- // Set ssl context options, see http://php.net/manual/en/context.ssl.php
- $options['ssl'] = array('verify_peer' => $verify_peer, 'verify_peer_name' => $verify_peer_name, 'allow_self_signed' => $allow_self_signed);
}
else
{