chitrav@us.ibm.com wrote:
when I tried to do an ldapdelete command with -r option, I get the following error for every entry in the server, although all the entries do get deleted.
ldap_search: Server is unwilling to perform (53) additional info: critical control unavailable in context
On looking at the ldapdelete.c source code, lines 390 and 391 say c.ldctl_oid = LDAP_CONTROL_SUBENTRIES; c.ldctl_iscritical = 1;
Marking the iscritical flag to 0, makes the error go away.
I am not sure what this control does. This seems like a bug though. If so, please let me know what the fix should be, and in which release it will be available.
This control was added because in early implementations of sync replication subentries were added to the database to contain replication-related data; without the control, a recursive delete would have failed since the subentry wouldn't be returned by the search that determines the list of DNs to be deleted.
The fact slapd complains seems to indicate you're using a backend that does not support that control. AFAIK, it is only supported by back-bdb (and back-hdb); usually, you shouldn't be using anything else, though.
p.
p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it --------------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Email: pierangelo.masarati@sys-net.it ---------------------------------------