Page MenuHomekolab.org

fixing recursive deletion of domains
ClosedPublic

Authored by pokorra on Jun 16 2015, 8:10 AM.

Details

Summary

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

Diff Detail

Repository
rPNL php-Net_LDAP3
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

pokorra updated this revision to Diff 39.Jun 16 2015, 8:10 AM
pokorra retitled this revision from to fixing recursive deletion of domains.
pokorra updated this object.
pokorra edited the test plan for this revision. (Show Details)
pokorra set the repository for this revision to rPNL php-Net_LDAP3.
pokorra added a subscriber: vanmeeuwen.

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...

hmm..., objectclass=* should already catch objects with ldapsubentry class, no?

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=*)"

Ok, thanks for the explanation. Jeroen should see this, anyway.

vanmeeuwen accepted this revision.Jun 25 2015, 9:02 AM
vanmeeuwen edited edge metadata.
In D23#555, @machniak wrote:

hmm..., objectclass=* should already catch objects with ldapsubentry class, no?

It doesn't, for the entries with an ldapsubentry objectclass are operational objects.

In D23#556, @pokorra wrote:

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=*

objectclass=nsTombstone should, though, be avoided.

This revision is now accepted and ready to land.Jun 25 2015, 9:02 AM

how does the landing of the change work?
anything for me to do?

This revision was automatically updated to reflect the committed changes.