From 82cfb3e0f540616fce0dbccbb4af6cfbaf5150c4 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Mon, 14 May 2012 12:58:58 +0200 Subject: [PATCH] LDAP: don't store agent password in plain text --- apps/user_ldap/appinfo/update.php | 9 +++++++++ apps/user_ldap/appinfo/version | 2 +- apps/user_ldap/lib_ldap.php | 2 +- apps/user_ldap/settings.php | 6 +++++- apps/user_ldap/templates/settings.php | 2 +- 5 files changed, 17 insertions(+), 4 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..07afeeea8a --- /dev/null +++ b/apps/user_ldap/appinfo/update.php @@ -0,0 +1,9 @@ +. * */ -$params = array('ldap_host', 'ldap_port', 'ldap_dn', 'ldap_password', 'ldap_base', 'ldap_base_users', 'ldap_base_groups', 'ldap_userlist_filter', 'ldap_login_filter', 'ldap_group_filter', 'ldap_display_name', 'ldap_tls', 'ldap_nocase', 'ldap_quota_def', 'ldap_quota_attr', 'ldap_email_attr', 'ldap_group_member_assoc_attribute'); +$params = array('ldap_host', 'ldap_port', 'ldap_dn', 'ldap_agent_password', 'ldap_base', 'ldap_base_users', 'ldap_base_groups', 'ldap_userlist_filter', 'ldap_login_filter', 'ldap_group_filter', 'ldap_display_name', 'ldap_tls', 'ldap_nocase', 'ldap_quota_def', 'ldap_quota_attr', 'ldap_email_attr', 'ldap_group_member_assoc_attribute'); OCP\Util::addscript('user_ldap', 'settings'); if ($_POST) { foreach($params as $param){ if(isset($_POST[$param])){ + if('ldap_agent_password' == $param) { + OCP\Config::setAppValue('user_ldap', $param, base64_encode($_POST[$param])); + } OCP\Config::setAppValue('user_ldap', $param, $_POST[$param]); } elseif('ldap_tls' == $param) { @@ -51,5 +54,6 @@ foreach($params as $param){ $tmpl->assign( 'ldap_port', OCP\Config::getAppValue('user_ldap', 'ldap_port', OC_USER_BACKEND_LDAP_DEFAULT_PORT)); $tmpl->assign( 'ldap_display_name', OCP\Config::getAppValue('user_ldap', 'ldap_display_name', OC_USER_BACKEND_LDAP_DEFAULT_DISPLAY_NAME)); $tmpl->assign( 'ldap_group_member_assoc_attribute', OCP\Config::getAppValue('user_ldap', 'ldap_group_member_assoc_attribute', 'uniqueMember')); +$tmpl->assign( 'ldap_agent_password', base64_decode(OCP\Config::getAppValue('user_ldap', 'ldap_agent_password'))); return $tmpl->fetchPage(); diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php index 48e136668d..d6c1a8ec0e 100644 --- a/apps/user_ldap/templates/settings.php +++ b/apps/user_ldap/templates/settings.php @@ -7,7 +7,7 @@

- + t('Leave both empty for anonymous bind for search, then bind with users credentials.');?>

t('use %%uid placeholder, e.g. uid=%%uid');?>

t('without any placeholder, e.g. "objectClass=person".');?>