Bug #2227
closedInternational / UTF-8 characters not working in LDAP configuration
100%
Description
While trying to configure pfSense to use an LDAP authentication server that use some (french) accentuated characters (é, à, è, etc.) in DNs, I discovered it doesn't work.
Steps to reproduce:
Create (or update) a new LDAP server configuration by using the following DN in "Search scope" or "Authentication containers" field:
ou=Recherche et Développement,dc=mycompany,dc=com
Actual result:
When saving "Authentication Servers" I get the notification-error:
[config.xml]pfSense is restoring the configuration /cf/conf/backup/config-1329926905.xml
System logs says:
Feb 22 18:00:15 php: /system_authservers.php: New alert found: pfSense is restoring the configuration /cf/conf/backup/config-1329926905.xml Feb 22 18:00:15 php: /system_authservers.php: pfSense is restoring the configuration /cf/conf/backup/config-1329926905.xml Feb 22 18:00:15 php: /system_authservers.php: XML error: Undeclared entity error at line 223 in /conf/config.xml
And the server configuration is not added/updated
Expected result:
LDAP server configuration created/updated without error
Additional notes:
Looking at /cf/conf/config.xml.bad
configuration file I see that the "é" was replaced by "é"
<pfsense> [...] <system> [...] <authserver> [...] <ldap_authcn>ou=Recherche et Développement</ldap_authcn> [...]
Maybe it has to do with the lack of specified encoding no encoding
attribute in )?
Maybe values should be placed in CDATA?: <ldap_authcn><![CDATA[ou=Recherche et Développement]]></ldap_authcn>
I ran into that issue by adding a LDAP server for authentication: but maybe the issue is more global?