I recently had issues with callback looping where a callback that comes first has to be freed by itself; I reworked the ode as committed right now, but hidden behind #ifdef NEW_CB, and moved looping in helpers that are called by all send_ldap_*() stuff.
The reationale is that a callback is allowed to free itself, leaving o_callback NULL, or insert/modify the rest of the chain, setting o_callback to something different than what passed in. Despite returning some spurious errors by valgrind, it seems to work in all the above cases. Please review. p. Ing. Pierangelo Masarati Responsabile Open Solution OpenLDAP Core Team SysNet s.n.c. Via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it ------------------------------------------ Office: +39.02.23998309 Mobile: +39.333.4963172 Email: [EMAIL PROTECTED] ------------------------------------------