Affects Version/s: 1.5.4, 1.6, 1.6.1
Environment:Windows 2000 IIS5, PHP 5.1.4, MySQL 5.0.22-community-nt, MS Active Directory
Authentication using LDAP (Active Directory) fails when trying to login using a username containing an apostrophe (') (i.e. sean o'neill). Returns error stating invalid username and re-presents username with apostrpohe escaped i.e. sean o\'neill.
To resolve this, instructions provided by Iñaki Arenaza in Forum Post 54901 (http://moodle.org/mod/forum/discuss.php?d=54901) involved removing escape character () before submitting query to LDAP. This was modified in <moodle>\auth\ldap\lib.php
As part of this solution, the user profile page had to be modifed, as described in Forum Post 55083 (http://moodle.org/mod/forum/discuss.php?d=55083).
After applying the fix stated above, our production server was able to process usernames with apostrophes via LDAP.
1. Create a new user in Active Directory with an apostrophe in the username (i.e. sean o'neill)
2. Wait for replication etc around network and then try to login with that username to moodle
User is logged in to Moodle as per normal
Username/Password is invalid error.