From 54854b2e3dcd036ba6a9b22a3ebccde7f287b01c Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 1 May 2012 12:17:33 +0200 Subject: [PATCH] LDAP: decent behaviour and log message when there is no connection to the LDAP server --- apps/user_ldap/lib_ldap.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/user_ldap/lib_ldap.php b/apps/user_ldap/lib_ldap.php index 4efcf0c5a0..55ef44c5d9 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; }