mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-25 00:59:45 -05:00
ITS#3596 - fix overlay cleanup processing
This commit is contained in:
parent
b508cca217
commit
b120d92bd6
1 changed files with 14 additions and 0 deletions
|
|
@ -296,6 +296,20 @@ over_op_func(
|
|||
if ( rc == SLAP_CB_CONTINUE ) {
|
||||
rc = op_rc[ which ];
|
||||
}
|
||||
|
||||
/* The underlying backend didn't handle the request, make sure
|
||||
* overlay cleanup is processed.
|
||||
*/
|
||||
if ( rc == LDAP_UNWILLING_TO_PERFORM ) {
|
||||
slap_callback *sc_next;
|
||||
for ( ; op->o_callback && op->o_callback != cb.sc_next;
|
||||
op->o_callback = sc_next ) {
|
||||
sc_next = op->o_callback->sc_next;
|
||||
if ( op->o_callback->sc_cleanup ) {
|
||||
op->o_callback->sc_cleanup( op, rs );
|
||||
}
|
||||
}
|
||||
}
|
||||
op->o_bd = be;
|
||||
op->o_callback = cb.sc_next;
|
||||
return rc;
|
||||
|
|
|
|||
Loading…
Reference in a new issue