Allow Vesta Roundcube driver to comunicate with server even there is self signed SSL cert.

Previously fsockopen failed to connect on self-signed SSL cert.
Code ported from Debian Vesta Roundcube driver.
This commit is contained in:
dpeca 2016-10-24 22:05:02 +02:00 committed by GitHub
parent 7743f3b08e
commit ad05c575d2

View file

@ -42,7 +42,17 @@ class rcube_vesta_password
$send .= PHP_EOL;
$send .= $postdata . PHP_EOL . PHP_EOL;
$fp = fsockopen('ssl://' . $vesta_host, $vesta_port);
//$fp = fsockopen('ssl://' . $vesta_host, $vesta_port);
$errno = "";
$errstr = "";
$context = stream_context_create();
$result = stream_context_set_option($context, 'ssl', 'verify_peer', false);
$result = stream_context_set_option($context, 'ssl', 'verify_host', false);
$result = stream_context_set_option($context, 'ssl', 'allow_self_signed', true);
$fp = stream_socket_client('ssl://' . $vesta_host . ':'.$vesta_port, $errno, $errstr, 60, STREAM_CLIENT_CONNECT, $context);
fputs($fp, $send);
$result = fread($fp, 2048);
fclose($fp);