pykolab/auth

Jeroen van Meeuwen vanmeeuwen at kolabsys.com
Wed Feb 6 19:23:39 CET 2013


 pykolab/auth/ldap/__init__.py |   15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

New commits:
commit 012c5e29572aef7747f2a4ce54b09d4b1eb79703
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Wed Feb 6 18:22:33 2013 +0000

    Ensure that when new aliases are being compared to the old ones, the lists are compared in a sorted, list-over-set manner. (#1560)

diff --git a/pykolab/auth/ldap/__init__.py b/pykolab/auth/ldap/__init__.py
index 16c0688..e0128cc 100644
--- a/pykolab/auth/ldap/__init__.py
+++ b/pykolab/auth/ldap/__init__.py
@@ -767,16 +767,25 @@ class LDAP(pykolab.base.Base):
                         entry_modifications[secondary_mail_attribute] = secondary_mail_addresses
                 else:
                     if isinstance(entry[secondary_mail_attribute], basestring):
-                        entry[secondary_mail_attribute] = list(set([entry[secondary_mail_attribute]]))
+                        entry[secondary_mail_attribute] = [entry[secondary_mail_attribute]]
+
+                    log.debug(_("secondary_mail_addresses: %r") % (secondary_mail_addresses), level=8)
+                    log.debug(_("entry[%s]: %r") % (secondary_mail_attribute,entry[secondary_mail_attribute]), level=8)
+
+                    secondary_mail_addresses.sort()
+                    entry[secondary_mail_attribute].sort()
+
+                    log.debug(_("secondary_mail_addresses: %r") % (secondary_mail_addresses), level=8)
+                    log.debug(_("entry[%s]: %r") % (secondary_mail_attribute,entry[secondary_mail_attribute]), level=8)
 
                     if not list(set(secondary_mail_addresses)) == list(set(entry[secondary_mail_attribute])):
                         self.set_entry_attribute(
                                 entry,
                                 secondary_mail_attribute,
-                                secondary_mail_addresses
+                                list(set(secondary_mail_addresses))
                             )
 
-                        entry_modifications[secondary_mail_attribute] = secondary_mail_addresses
+                        entry_modifications[secondary_mail_attribute] = list(set(secondary_mail_addresses))
 
         log.debug(_("Entry modifications list: %r") % (entry_modifications), level=8)
 





More information about the commits mailing list