Fix: better compatibility with all hostname syntax

This commit is contained in:
Regis Houssin 2018-03-19 17:59:23 +01:00
parent 73eba91756
commit 4767819b7a

View File

@ -177,20 +177,10 @@ class Ldap
if ($connected) break;
if (empty($host)) continue;
if (preg_match('/^ldap/',$host))
{
if ($this->serverPing($host) === true) {
$this->connection = ldap_connect($host);
}
else continue;
}
else
{
if ($this->serverPing($host, $this->serverPort) === true) {
$this->connection = ldap_connect($host,$this->serverPort);
}
else continue;
if ($this->serverPing($host, $this->serverPort) === true) {
$this->connection = ldap_connect($host, $this->serverPort);
}
else continue;
if (is_resource($this->connection))
{
@ -742,6 +732,10 @@ class Ldap
if (preg_match('/^ldaps:\/\/([^\/]+)\/?$/',$host, $regs)) {
$host = 'ssl://'.$regs[1];
}
// Remove ldap://
if (preg_match('/^ldap:\/\/([^\/]+)\/?$/',$host, $regs)) {
$host = $regs[1];
}
$op = @fsockopen($host, $port, $errno, $errstr, $timeout);
if (!$op) return false; //DC is N/A
else {