LDAP: check if php-ldap is installed. If not, give an error output. FIX: blank Users page when the module is not installed.
This commit is contained in:
parent
9b0870bb91
commit
3c9919e475
|
@ -440,6 +440,10 @@ class OC_LDAP {
|
|||
*/
|
||||
static public function readAttribute($dn, $attr) {
|
||||
$cr = self::getConnectionResource();
|
||||
if(!is_resource($cr)) {
|
||||
//LDAP not available
|
||||
return false;
|
||||
}
|
||||
$rr = ldap_read($cr, $dn, 'objectClass=*', array($attr));
|
||||
$er = ldap_first_entry($cr, $rr);
|
||||
//LDAP attributes are not case sensitive
|
||||
|
@ -495,6 +499,11 @@ class OC_LDAP {
|
|||
if(!is_null($attr) && !is_array($attr)) {
|
||||
$attr = array(strtolower($attr));
|
||||
}
|
||||
$cr = self::getConnectionResource();
|
||||
if(!is_resource($cr)) {
|
||||
//LDAP not available
|
||||
return array();
|
||||
}
|
||||
$sr = @ldap_search(self::getConnectionResource(), $base, $filter, $attr);
|
||||
$findings = @ldap_get_entries(self::getConnectionResource(), $sr );
|
||||
// if we're here, probably no connection ressource is returned.
|
||||
|
@ -686,11 +695,22 @@ class OC_LDAP {
|
|||
* Connects and Binds to LDAP
|
||||
*/
|
||||
static private function establishConnection() {
|
||||
static $phpLDAPinstalled = true;
|
||||
if(!$phpLDAPinstalled) {
|
||||
return false;
|
||||
}
|
||||
if(!self::$configured) {
|
||||
OCP\Util::writeLog('ldap', 'Configuration is invalid, cannot connect', OCP\Util::INFO);
|
||||
return false;
|
||||
}
|
||||
if(!self::$ldapConnectionRes) {
|
||||
//check if php-ldap is installed
|
||||
if(!function_exists('ldap_connect')) {
|
||||
$phpLDAPinstalled = false;
|
||||
OCP\Util::writeLog('user_ldap', 'function ldap_connect is not available. Make sure that the PHP ldap module is installed.', OCP\Util::ERROR);
|
||||
|
||||
return false;
|
||||
}
|
||||
self::$ldapConnectionRes = ldap_connect(self::$ldapHost, self::$ldapPort);
|
||||
if(ldap_set_option(self::$ldapConnectionRes, LDAP_OPT_PROTOCOL_VERSION, 3)) {
|
||||
if(ldap_set_option(self::$ldapConnectionRes, LDAP_OPT_REFERRALS, 0)) {
|
||||
|
|
Loading…
Reference in New Issue