lib/api lib/Auth lib/functions.php
Aleksander Machniak
machniak at kolabsys.com
Tue Jan 7 12:09:13 CET 2014
lib/Auth/LDAP.php | 20 +-------------------
lib/api/kolab_api_service_form_value.php | 11 ++++++-----
lib/functions.php | 18 ------------------
3 files changed, 7 insertions(+), 42 deletions(-)
New commits:
commit caea493be85751083d177016f83faca7759c56b0
Author: Aleksander Machniak <alec at alec.pl>
Date: Tue Jan 7 12:08:20 2014 +0100
Revert commit 109ad37d making email addresses case-insensitive
diff --git a/lib/Auth/LDAP.php b/lib/Auth/LDAP.php
index 8ef191e..5850672 100644
--- a/lib/Auth/LDAP.php
+++ b/lib/Auth/LDAP.php
@@ -594,25 +594,7 @@ class LDAP extends Net_LDAP3 {
$result = $this->search_entries($this->config_get('root_dn'), '(objectclass=*)', 'sub', null, $search);
if ($result && $result->count() > 0) {
- $result = $result->entries(true);
-
- // LDAP searches are case-insensitive, post-process result
- // with correct character case handling
- foreach ($result as $key => $user) {
- foreach ($user as $attr => $list) {
- foreach ((array) $list as $addr) {
- if (compare_email($address, $addr)) {
- continue 3;
- }
- }
- }
-
- unset($result[$key]);
- }
-
- reset($result);
-
- return $result;
+ return $result->entries(true);
}
return false;
diff --git a/lib/api/kolab_api_service_form_value.php b/lib/api/kolab_api_service_form_value.php
index ffc3750..2e82342 100644
--- a/lib/api/kolab_api_service_form_value.php
+++ b/lib/api/kolab_api_service_form_value.php
@@ -1084,14 +1084,15 @@ class kolab_api_service_form_value extends kolab_api_service
// from e.g. adding primary mail address into aliases list
$found = false;
$user = $users[$user_found_dn];
+ $addr = mb_strtolower($addr);
+
unset($user[$attr_name]);
foreach ($user as $attr => $list) {
- foreach ((array) $list as $email) {
- if (compare_email($addr, $email)) {
- $found = true;
- break 2;
- }
+ $list = array_map('mb_strtolower', (array) $list);
+ if (in_array($addr, $list)) {
+ $found = true;
+ break;
}
}
diff --git a/lib/functions.php b/lib/functions.php
index fd5aa4a..016f1f3 100644
--- a/lib/functions.php
+++ b/lib/functions.php
@@ -131,21 +131,3 @@ function timer($time = null, $label = '')
}
return $now;
}
-
-/**
- * Compare two email addresses with correct character-case handling
- * i.e. local part is case-sensitive, domain part is not
- */
-function compare_email($email1, $email2)
-{
- $email1 = explode('@', $email1);
- $email2 = explode('@', $email2);
-
- $domain1 = array_pop($email1);
- $domain2 = array_pop($email2);
-
- $email1 = implode('@', $email1) . '@' . mb_strtolower($domain1);
- $email2 = implode('@', $email2) . '@' . mb_strtolower($domain2);
-
- return $email1 === $email2;
-}
More information about the commits
mailing list