Am Freitag 26 Februar 2010 19:29:43 schrieb Howard Chu:
Ralf Haferkamp wrote:
Am Freitag 26 Februar 2010 13:30:55 schrieb masarati@aero.polimi.it:
Hi,
while taking up some loose ends on my work on delete support for back- config (enabled with -DSLAP_CONFIG_DELETE) I wondered how we should deal with the deletion of the syncprov overlay when there are active refreshAndPersist sessions. What errorcode should we sent when closing such a connection? To me LDAP_UNAVAILABLE sound like the best choice. LDAP_UNWILLING_TO_PERFORM might also be ok.
What about an unsolicited notification (RFC 4511, 4.4)?
Hm, yes. A "Notice of Disconneciton" might work as well. But that would result in the client connection been taken down, which is probably not desired. For syncrepl connections from slapd-consumers this might be ok. But other LDAPSync clients might have other operations active on the same connection which wouldn't be affected by the removal of the syncprov overlay, I guess.
Returning an error just for the LDAPSync related Search seemed more logical to me.
Agreed. The actual choice of error probably isn't too critical. LDAP_UNAVAILABLE sounds fine.
Also on the topic of deletes, we should start adding term_module() handlers to the backends and overlays.
Yes. I havn't gone into the details of module unloading yet, though.
An additional bi_db_delete handler in the BackendInfo structure might be helpful as well. Or a flag passed to bi_db_close/bi_db_destory to indicate whether the database/overlay is closed due to a server shutdown or a delete operation on cn=config.