[email protected] wrote: > 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:
This works as designed. See the Unicode specification, rules for decomposition. > > $ 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) > > > -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
