Hello,
I'm trying to delete some problematic entries from our 389
directory. The entry DNs contain < and > (probably found
their way into the directory years ago). This causes problems
with JNDI where DNs from search results are fed directly back
into more searches because these particular DNs are somehow
returned in in escaped form. E.g.
ou=my<problematic>entry,dc=example,dc=com becomes
ou=my\<problematic\>entry,dc=example,dc=com, causing
error 32. I'm not sure if it's the directory server or JNDI
adding the escaping, as ldapsearch from the command line
doesn't seem to behave this way, but it doesn't really matter:
I want to remove the entries and get rid of the issue.
Unfortunately, I'm unable to:
$ ldapdelete -D "cn=directory manager" -WxH "
ldap://example.com:389"
"ou=my<problematic>entry,dc=example,dc=com"
Enter LDAP Password:
ldap_delete: Invalid DN syntax (34)
additional
info: DN value invalid per syntax
I've also tried deleting through Apache Directory Studio,
error 34 there as well.
So, any ideas on how to get rid of them? The only thing I
can think of is to db2ldif the entire directory, manually
excise the entries from the LDIF file and then re-import. But
I'd rather not take this step unless there's no other way.