From 2808fb2cb74ede520ee8231de5bdda22114a0519 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Tue, 6 Apr 2004 09:33:14 +0000 Subject: [PATCH] fix addition of chk_referrals to overlay stack --- servers/slapd/backover.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/servers/slapd/backover.c b/servers/slapd/backover.c index fabc7ae42f..d51de28535 100644 --- a/servers/slapd/backover.c +++ b/servers/slapd/backover.c @@ -162,6 +162,25 @@ enum op_which { op_last }; +/* + * default return code in case of missing backend function + * and overlay stack returning SLAP_CB_CONTINUE + */ +static int op_rc[] = { + LDAP_UNWILLING_TO_PERFORM, /* bind */ + LDAP_UNWILLING_TO_PERFORM, /* unbind */ + LDAP_UNWILLING_TO_PERFORM, /* search */ + LDAP_UNWILLING_TO_PERFORM, /* compare */ + LDAP_UNWILLING_TO_PERFORM, /* modify */ + LDAP_UNWILLING_TO_PERFORM, /* modrdn */ + LDAP_UNWILLING_TO_PERFORM, /* add */ + LDAP_UNWILLING_TO_PERFORM, /* delete */ + LDAP_UNWILLING_TO_PERFORM, /* abandon */ + LDAP_UNWILLING_TO_PERFORM, /* cancel */ + LDAP_UNWILLING_TO_PERFORM, /* extended */ + LDAP_SUCCESS /* aux_chk_referrals */ +}; + static int over_op_func( Operation *op, @@ -197,7 +216,7 @@ over_op_func( } /* should not fall thru this far without anything happening... */ if ( rc == SLAP_CB_CONTINUE ) { - rc = LDAP_UNWILLING_TO_PERFORM; + rc = op_rc[ which ]; } op->o_callback = cb.sc_next; return rc; -- 2.39.5