aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorblizzz <blizzz@owncloud.com>2014-06-02 12:02:15 +0200
committerblizzz <blizzz@owncloud.com>2014-06-02 12:02:15 +0200
commit58b6b89ec48e01cf19faadbff74cbd34ffb07248 (patch)
treee76b4b533a96853e32688301963077f8227ce5a2 /apps
parent8758b66fc467cf01d4db10c8851c9652828bd9af (diff)
parent37ef48d9f4f8a4188a1bfd55dd3f86e618047b41 (diff)
downloadnextcloud-server-58b6b89ec48e01cf19faadbff74cbd34ffb07248.tar.gz
nextcloud-server-58b6b89ec48e01cf19faadbff74cbd34ffb07248.zip
Merge pull request #8579 from owncloud/ldap_nail_filter_on_upgrade
LDAP: fix filter can be reset and broken after upgrade from OC 5
Diffstat (limited to 'apps')
-rw-r--r--apps/user_ldap/appinfo/update.php42
-rw-r--r--apps/user_ldap/appinfo/version2
2 files changed, 31 insertions, 13 deletions
diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php
index 41770cf97b1..1e706ce869b 100644
--- a/apps/user_ldap/appinfo/update.php
+++ b/apps/user_ldap/appinfo/update.php
@@ -7,21 +7,39 @@ if($state === 'unset') {
OCP\Config::setSystemValue('ldapIgnoreNamingRules', false);
}
+$installedVersion = OCP\Config::getAppValue('user_ldap', 'installed_version');
+$enableRawMode = version_compare($installedVersion, '0.4.1', '<');
+
$configPrefixes = OCA\user_ldap\lib\Helper::getServerConfigurationPrefixes(true);
$ldap = new OCA\user_ldap\lib\LDAP();
foreach($configPrefixes as $config) {
$connection = new OCA\user_ldap\lib\Connection($ldap, $config);
- $value = \OCP\Config::getAppValue('user_ldap',
- $config.'ldap_uuid_attribute', 'auto');
- \OCP\Config::setAppValue('user_ldap',
- $config.'ldap_uuid_user_attribute', $value);
- \OCP\Config::setAppValue('user_ldap',
- $config.'ldap_uuid_group_attribute', $value);
- $value = \OCP\Config::getAppValue('user_ldap',
- $config.'ldap_expert_uuid_attr', 'auto');
- \OCP\Config::setAppValue('user_ldap',
- $config.'ldap_expert_uuid_user_attr', $value);
- \OCP\Config::setAppValue('user_ldap',
- $config.'ldap_expert_uuid_group_attr', $value);
+ $state = \OCP\Config::getAppValue(
+ 'user_ldap', $config.'ldap_uuid_user_attribute', 'not existing');
+ if($state === 'non existing') {
+ $value = \OCP\Config::getAppValue(
+ 'user_ldap', $config.'ldap_uuid_attribute', 'auto');
+ \OCP\Config::setAppValue(
+ 'user_ldap', $config.'ldap_uuid_user_attribute', $value);
+ \OCP\Config::setAppValue(
+ 'user_ldap', $config.'ldap_uuid_group_attribute', $value);
+ }
+
+ $state = \OCP\Config::getAppValue(
+ 'user_ldap', $config.'ldap_expert_uuid_user_attr', 'not existing');
+ if($state === 'non existing') {
+ $value = \OCP\Config::getAppValue(
+ 'user_ldap', $config.'ldap_expert_uuid_attr', 'auto');
+ \OCP\Config::setAppValue(
+ 'user_ldap', $config.'ldap_expert_uuid_user_attr', $value);
+ \OCP\Config::setAppValue(
+ 'user_ldap', $config.'ldap_expert_uuid_group_attr', $value);
+ }
+
+ if($enableRawMode) {
+ \OCP\Config::setAppValue('user_ldap', $config.'ldap_user_filter_mode', 1);
+ \OCP\Config::setAppValue('user_ldap', $config.'ldap_login_filter_mode', 1);
+ \OCP\Config::setAppValue('user_ldap', $config.'ldap_group_filter_mode', 1);
+ }
}
diff --git a/apps/user_ldap/appinfo/version b/apps/user_ldap/appinfo/version
index 44bb5d1f743..2b7c5ae0184 100644
--- a/apps/user_ldap/appinfo/version
+++ b/apps/user_ldap/appinfo/version
@@ -1 +1 @@
-0.4.1 \ No newline at end of file
+0.4.2