From: Jörn Friedrich Dreyer Date: Tue, 31 Mar 2015 11:42:23 +0000 (+0200) Subject: do not hide exception when ldap server has a hiccup X-Git-Tag: v8.1.0alpha1~33^2~9 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=488405d1ec41faefaa3cbbc60a0c1b23745b6a31;p=nextcloud-server.git do not hide exception when ldap server has a hiccup --- diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php index 1577d9facb8..3869f5da9c9 100644 --- a/apps/user_ldap/lib/connection.php +++ b/apps/user_ldap/lib/connection.php @@ -167,7 +167,8 @@ class Connection extends LDAPUtility { $this->establishConnection(); } if(is_null($this->ldapConnectionRes)) { - \OCP\Util::writeLog('user_ldap', 'Connection could not be established', \OCP\Util::ERROR); + \OCP\Util::writeLog('user_ldap', 'No LDAP Connection to server ' . $this->connection->ldapHost, \OCP\Util::ERROR); + throw new \Exception('Connection to LDAP server could not be established'); } return $this->ldapConnectionRes; } diff --git a/apps/user_ldap/lib/user/manager.php b/apps/user_ldap/lib/user/manager.php index c0bc8ea6230..b99c9715e58 100644 --- a/apps/user_ldap/lib/user/manager.php +++ b/apps/user_ldap/lib/user/manager.php @@ -165,6 +165,7 @@ class Manager { * @brief returns a User object by it's DN or ownCloud username * @param string the DN or username of the user * @return \OCA\user_ldap\lib\user\User|\OCA\user_ldap\lib\user\OfflineUser|null + * @throws \Exception when connection could not be established */ public function get($id) { $this->checkAccess(); @@ -181,12 +182,7 @@ class Manager { } } - try { - $user = $this->createInstancyByUserName($id); - return $user; - } catch (\Exception $e) { - return null; - } + return $this->createInstancyByUserName($id); } } diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php index 54e14c093f3..cd8a2dd251c 100644 --- a/apps/user_ldap/user_ldap.php +++ b/apps/user_ldap/user_ldap.php @@ -190,6 +190,7 @@ class USER_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn * check if a user exists * @param string $uid the username * @return boolean + * @throws \Exception when connection could not be established */ public function userExists($uid) { if($this->access->connection->isCached('userExists'.$uid)) { @@ -208,17 +209,12 @@ class USER_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn return true; } - try { - $result = $this->userExistsOnLDAP($user); - $this->access->connection->writeToCache('userExists'.$uid, $result); - if($result === true) { - $user->update(); - } - return $result; - } catch (\Exception $e) { - \OCP\Util::writeLog('user_ldap', $e->getMessage(), \OCP\Util::WARN); - return false; + $result = $this->userExistsOnLDAP($user); + $this->access->connection->writeToCache('userExists'.$uid, $result); + if($result === true) { + $user->update(); } + return $result; } /**