3528: UnicodeDecodeError while LDAP-authenticating

egil*****@gmai***** (Google Code) (Is this you? Claim this profile.)
Dec. 18, 2014
What version are you running?

ReviewBoard 2.0.5

What's the URL of the page containing the problem?


What steps will reproduce the problem?
1. Set up new RB using LDAP-authentication, using "Full Name Attribute" = "displayName".
2. Try to log in for the first time as a user with "displayName" containing, for example, "ö" (0xC3 0xB6)
3. Log in fails.

What is the expected output? What do you see instead?

Expected successful login.

Seeing (in Apache error.log): 
An error while LDAP-authenticating: UnicodeDecodeError('ascii', 'Tobias
Emitsl\\xc3\\xb6f', 13, 14, 'ordinal not in range(128)')

What operating system are you using? What browser?

Server: Debian GNU/Linux (wheezy), Apache Prefork, mod_wsgi, python2.7.
Client/Browser: Windows 7, Chrome
#1 ma***@smil**** (Google Code) (Is this you? Claim this profile.)
After suffering a similar problem, I found out that this bug is due to the split function in line 467 in reviewboard/accounts/backends.py (as of 2.0.11)
It turns out split() doesnt work on raw strings when unicode_literals is used.

The attached patch would solve your problem in a quick-and-dirty fashion, I also discovered that using "Given name" and "Surname" attributes instead of the "Full name" one not only does the same thing, but does not trigger the bug. I would recommend doing that if you have those attributes in your LDAP
#2 david
Fixed in release-2.0.x (c691ebc). Thanks!
  • +Fixed