We just recently took into use the LDAP authentication with Reviewboard.
In general it is working and we are very happy that this authentication 
option exists, thanks for adding it.

One of our users couldnt login and from the reviewboard logs we could see 
that it was due to the fact that he is using non-ascii characters in his 
WARNING - An error while LDAP-authenticating: UnicodeEncodeError('ascii', 
u'<user_password_in_clear_text>', 1, 2, 'ordinal not in range(128)')

If I understand this mail
correctly, the password given to the python-ldap module have to be treated 
as a raw string with UTF-8 encoding.

Our LDAP server is used in many of our systems and this hasnt been any 
problem in other tools so I had a quick look at the implementation.

in backends.py/LDAPBackend::authenticate it seems like the password given 
to this function is provided directly to the bind_s function in python-ldap.

ldapo.bind_s(search[0][0], password)

If this password is coming directly from the login form then I assume that 
it is decoded in whatever default encoding is (most likely ascii, at least 
on our system).

Is this something that is a known restriction in Reviewboard or will it be 
changed in some future release?


(Thanks for a great tool!)

Want to help the Review Board project? Donate today at 
Happy user? Let us know at http://www.reviewboard.org/users/
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to