From 0e922b1841ff85e9557ee61a85112f169caa7694 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Mon, 20 Jul 2015 11:24:28 +0200 Subject: [PATCH] Only throw exception if on new LDAP setups * this is done by setting enforce_home_folder_naming_rule for the user_ldap app in the app settings --- apps/user_ldap/appinfo/update.php | 26 ++++++++++++++++++++++++++ apps/user_ldap/user_ldap.php | 6 ++++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 apps/user_ldap/appinfo/update.php diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php new file mode 100644 index 0000000000..b904bce072 --- /dev/null +++ b/apps/user_ldap/appinfo/update.php @@ -0,0 +1,26 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + * + */ + +$installedVersion = \OC::$server->getConfig()->getAppValue('user_ldap', 'installed_version'); + +if (version_compare($installedVersion, '0.6.1', '<')) { + \OC::$server->getConfig()->setAppValue('user_ldap', 'enforce_home_folder_naming_rule', false); +} diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php index c4ebace855..a2f4b4ee9e 100644 --- a/apps/user_ldap/user_ldap.php +++ b/apps/user_ldap/user_ldap.php @@ -294,8 +294,10 @@ class USER_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn //TODO: if home directory changes, the old one needs to be removed. return $homedir; } - // a naming rule attribute is defined, but it doesn't exist for that LDAP user - throw new \Exception('Home dir attribute can\'t be read from LDAP for uid: ' . $uid); + if($this->ocConfig->getAppValue('user_ldap', 'enforce_home_folder_naming_rule', true)) { + // a naming rule attribute is defined, but it doesn't exist for that LDAP user + throw new \Exception('Home dir attribute can\'t be read from LDAP for uid: ' . $uid); + } } //false will apply default behaviour as defined and done by OC_User