[Checkins] SVN: ldapadapter/trunk/ Made DN encoding to utf-8 consistent (added for connecting).

Christian Theune ct at gocept.com
Mon Dec 10 08:42:53 EST 2007


Log message for revision 82228:
  Made DN encoding to utf-8 consistent (added for connecting).
  

Changed:
  U   ldapadapter/trunk/CHANGES.txt
  U   ldapadapter/trunk/src/ldapadapter/README.txt
  U   ldapadapter/trunk/src/ldapadapter/tests/fakeldap.py
  U   ldapadapter/trunk/src/ldapadapter/utility.py

-=-
Modified: ldapadapter/trunk/CHANGES.txt
===================================================================
--- ldapadapter/trunk/CHANGES.txt	2007-12-10 13:41:42 UTC (rev 82227)
+++ ldapadapter/trunk/CHANGES.txt	2007-12-10 13:42:52 UTC (rev 82228)
@@ -5,6 +5,8 @@
 0.7 - unreleased
 ================
 
+* Encoding DNs to UTF-8 when connecting.
+
 0.6 - 20.11.2006
 ================
 

Modified: ldapadapter/trunk/src/ldapadapter/README.txt
===================================================================
--- ldapadapter/trunk/src/ldapadapter/README.txt	2007-12-10 13:41:42 UTC (rev 82227)
+++ ldapadapter/trunk/src/ldapadapter/README.txt	2007-12-10 13:42:52 UTC (rev 82228)
@@ -69,6 +69,13 @@
   ...
   InvalidCredentials
 
+The DN can be unicode and is encoded to UTF-8 automatically:
+
+  >>> conn = da.connect(u'cn=Bärbel', 'foo')
+  Traceback (most recent call last):
+  ...
+  InvalidCredentials
+
 You can bind anonymously by using an empty DN and password:
 
   >>> conn = da.connect('', '')

Modified: ldapadapter/trunk/src/ldapadapter/tests/fakeldap.py
===================================================================
--- ldapadapter/trunk/src/ldapadapter/tests/fakeldap.py	2007-12-10 13:41:42 UTC (rev 82227)
+++ ldapadapter/trunk/src/ldapadapter/tests/fakeldap.py	2007-12-10 13:42:52 UTC (rev 82228)
@@ -53,6 +53,9 @@
         if self.conn_str.startswith('ldap://down'):
             raise SERVER_DOWN
 
+        assert isinstance(dn, str), 'The DN must be a byte string.'
+        str.decode('utf-8')
+
         if dn == '' and password == '':
             # Fake anonymous connection.
             return 1

Modified: ldapadapter/trunk/src/ldapadapter/utility.py
===================================================================
--- ldapadapter/trunk/src/ldapadapter/utility.py	2007-12-10 13:41:42 UTC (rev 82227)
+++ ldapadapter/trunk/src/ldapadapter/utility.py	2007-12-10 13:42:52 UTC (rev 82228)
@@ -63,7 +63,7 @@
             dn = self.bindDN or ''
             password = self.bindPassword or ''
         try:
-            conn.simple_bind_s(dn, password)
+            conn.simple_bind_s(dn.encode('utf-8'), password)
         except ldap.SERVER_DOWN:
             raise interfaces.ServerDown
         except ldap.INVALID_CREDENTIALS:



More information about the Checkins mailing list