summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-09-23 12:40:25 +0200
committerAleksander Machniak <alec@alec.pl>2013-09-23 12:40:25 +0200
commit6776d31ceed36b2078a30c18f0b7d1156eca36ef (patch)
tree6a1ab41115ef8e7ae20ae29bf6982bff459c3fba
parent0b17aae0cd86e0d253f804045cfe131bff50be1d (diff)
Add new password encodage ('ad') in ldap password drivers (#1489349)
-rw-r--r--plugins/password/config.inc.php.dist2
-rw-r--r--plugins/password/drivers/ldap.php4
-rw-r--r--plugins/password/drivers/ldap_simple.php3
3 files changed, 8 insertions, 1 deletions
diff --git a/plugins/password/config.inc.php.dist b/plugins/password/config.inc.php.dist
index bfea52918..8c83dd703 100644
--- a/plugins/password/config.inc.php.dist
+++ b/plugins/password/config.inc.php.dist
@@ -201,7 +201,7 @@ $config['password_ldap_search_filter'] = '(uid=%login)';
// LDAP password hash type
// Standard LDAP encryption type which must be one of: crypt,
-// ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, or clear.
+// ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, ad or clear.
// Please note that most encodage types require external libraries
// to be included in your PHP installation, see function hashPassword in drivers/ldap.php for more info.
// Default: 'crypt'
diff --git a/plugins/password/drivers/ldap.php b/plugins/password/drivers/ldap.php
index 548d327e1..29c43fbf4 100644
--- a/plugins/password/drivers/ldap.php
+++ b/plugins/password/drivers/ldap.php
@@ -279,6 +279,10 @@ class rcube_ldap_password
}
break;
+ case 'ad':
+ $cryptedPassword = rcube_charset::convert('"' . $passwordClear . '"', RCUBE_CHARSET, 'UTF-16LE');
+ break;
+
case 'clear':
default:
$cryptedPassword = $passwordClear;
diff --git a/plugins/password/drivers/ldap_simple.php b/plugins/password/drivers/ldap_simple.php
index d47e14492..f442d2422 100644
--- a/plugins/password/drivers/ldap_simple.php
+++ b/plugins/password/drivers/ldap_simple.php
@@ -247,6 +247,9 @@ class rcube_ldap_simple_password
return false;
}
break;
+ case 'ad':
+ $crypted_password = rcube_charset::convert('"' . $password_clear . '"', RCUBE_CHARSET, 'UTF-16LE');
+ break;
case 'clear':
default:
$crypted_password = $password_clear;