[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#7413) Some UTF-8 characters are wrongly recognized as identical in multi-valued attributes
Full_Name: Michail Bachmann
Version: 2.4.31
OS: Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (141.20.3.158)
The UTF-8 character 'FEMININE ORDINAL INDICATOR' (U+00AA) is wrongly treated as
'LATIN SMALL LETTER A' (U+0061), so adding a multi-valued attribute where U+00AA
is replaced with U+0061 (or the other way around) fails:
$ ldapadd -f create.ldif -h localhost -D 'cn=admin,dc=example,dc=com'
### create.ldif ###
dn: cn=test,dc=example,dc=com
objectClass: organizationalRole
objectClass: top
cn: test
street: a street
### /create.ldif ###
$ ldapmodify -f modify.ldif -h localhost -D 'cn=admin,dc=example,dc=com'
### modify.ldif ###
dn: cn=test,dc=example,dc=com
changetype: modify
add: street
street: ª street
-
### /modify.ldif ###
will result in
ldap_modify: Type or value exists (20)
additional info: modify/add: street: value #0 already exists
It seems like U+00AA is decomposed into '<super>+U+0061' and then the '<super>'
part is discarded.
Tested with 2.4.31 (Debian) and 2.4.21 (Ubuntu)