From: Arthur Schiwon Date: Tue, 1 May 2012 10:17:33 +0000 (+0200) Subject: LDAP: decent behaviour and log message when there is no connection to the LDAP server X-Git-Tag: v4.0.0beta~129 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=54854b2e3dcd036ba6a9b22a3ebccde7f287b01c;p=nextcloud-server.git LDAP: decent behaviour and log message when there is no connection to the LDAP server --- diff --git a/apps/user_ldap/lib_ldap.php b/apps/user_ldap/lib_ldap.php index 4efcf0c5a0d..55ef44c5d9a 100644 --- a/apps/user_ldap/lib_ldap.php +++ b/apps/user_ldap/lib_ldap.php @@ -437,8 +437,14 @@ class OC_LDAP { if(!is_null($attr) && !is_array($attr)) { $attr = array(strtolower($attr)); } - $sr = ldap_search(self::getConnectionResource(), $base, $filter, $attr); - $findings = ldap_get_entries(self::getConnectionResource(), $sr ); + + $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. + // to make ownCloud behave nicely, we simply give back an empty array. + if(is_null($findings)) { + return array(); + } if(!is_null($attr)) { $selection = array(); @@ -522,6 +528,9 @@ class OC_LDAP { if(!self::$ldapConnectionRes) { self::init(); } + if(is_null(self::$ldapConnectionRes)) { + OCP\Util::writeLog('ldap', 'Connection could not be established', OC_Log::INFO); + } return self::$ldapConnectionRes; }