Ondřej Kuzník wrote:
On Tue, Feb 21, 2023 at 05:32:01PM +0100, Ede Wolf wrote:
Hello Ondřej,
Thanks very much! That is exactly the anwer I have been looking for - even more so in fact, as additionally I have been educated, that the dn is a different part from the rest of the ldif. Makes sense, but I've never really thought of this before.
Correction: the dn is the same as anything else in the LDIF, it is the server that then does extra processing on the text it receives because its syntax is a DN, just like a 'member' attribute, 'seeAlso' and others like them will allow you to do the same - they are of the distinguished name syntax. Or like with the 'cn' attribute you can write 'TEST' or 'tEst' and they will be considered equivalent, because its syntax says so, not because the client did anything.
Regards,
For example:
viola:~/OD/hobj/tests> cat emoji.ldif dn: cn=😀 face,ou=people,dc=example,dc=com objectclass: person cn: 😀 face sn: face
viola:~/OD/hobj/tests> ../clients/tools/ldapmodify -x -a -H ldap://:9011 -D cn=manager,dc=example,dc=com -w secret -f emoji.ldif adding new entry "cn=😀 face,ou=people,dc=example,dc=com"
viola:~/OD/hobj/tests> ../clients/tools/ldapse ldapsearch* ldapsearch.sleep* viola:~/OD/hobj/tests> ../clients/tools/ldapsearch -x -H ldap://:9011 -b ou=people,dc=example,dc=com '(cn=😀 face)' # extended LDIF # # LDAPv3 # base <ou=people,dc=example,dc=com> with scope subtree # filter: (cn=😀 face) # requesting: ALL #
# \F0\9F\98\80 face, People, example.com dn:: Y2498J+YgCBmYWNlLG91PVBlb3BsZSxkYz1leGFtcGxlLGRjPWNvbQ== objectClass: person cn:: 8J+YgCBmYWNl sn: face
# search result search: 2 result: 0 Success
# numResponses: 2 # numEntries: 1