Update Ldap.php

This is a very crude workaround, a better solution is explained in the comments I added.
This commit is contained in:
Frederic Mohr 2016-11-15 11:10:12 +01:00 committed by GitHub
parent 0fb1fc87c8
commit 340d3f833b

View file

@ -18,6 +18,24 @@ class Ldap
*/
public function connect($hostName, $port)
{
/*
* LDAPS is not working because even if port 363 is specified,
* BookStack tries to open a LDAP connection on the LDAPS channel.
* The if-clause below fixed this, although it would be better to
* change the settings in .env from
* LDAP_SERVER=servername:port
* to
* LDAP_SERVER=ldap://servername:389
* LDAP_SERVER=ldaps://servername:363
* in order to be compatible with non-standard setups. Currently,
* specifying ldap:// or ldaps:// results in an error because BookStack
* splits at ":" and takes the seconds chunk (in this case "//servername"
* as the port value.
*/
if ($port == 363)
{
$hostName = "ldaps://".$hostName;
}
return ldap_connect($hostName, $port);
}
@ -94,4 +112,4 @@ class Ldap
return ldap_bind($ldapConnection, $bindRdn, $bindPassword);
}
}
}