recursive deletion: need to find and delete objects with objectclass ldapsubentry as well (#5100).
This is for example needed when deleting a domain, for the role kolab-admin which has class ldapsubentry
Details
- Reviewers
vanmeeuwen - Group Reviewers
Web Administration Panel Developers - Commits
- rPNL85c8e8879a3e: fixing recursive deletion of domains
Diff Detail
- Repository
- rPNL php-Net_LDAP3
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Jeroen, it seems I don't have commit permissions on php-Net_LDAP3.
Can you please commit that change?
Or give me permissions, then I can do that myself...
that is the problem, which took me so long to find.
It seems objectclass=nsTombstone and objectclass=ldapsentry (and probably others as well) are not part of objectclass=*
You can also test this with ldap_search on the commandline, it behaves the same:
different output from
ldapsearch -x -h localhost -D "cn=Directory Manager" -w "$pwd" -b $domain "(|(objectclass=*)(objectclass=ldapsubentry))"
and
ldapsearch -x -h localhost -D "cn=Directory Manager" -w "$pwd" -b $domain "(objectclass=*)"
It doesn't, for the entries with an ldapsubentry objectclass are operational objects.
objectclass=nsTombstone should, though, be avoided.