if ( META_BACK_DEFER_ROOTDN_BIND( mi ) ) {
rs->sr_err = LDAP_SUCCESS;
rs->sr_text = NULL;
- send_ldap_result( op, rs );
+ /* frontend will return success */
return rs->sr_err;
}
rs->sr_err = lerr;
candidates[ i ].sr_tag = META_NOT_CANDIDATE;
- if ( META_BACK_ONERR_STOP( mi ) ) {
- rc = rs->sr_err;
- break;
- }
+ rc = rs->sr_err;
+ break;
}
}
/* mc here must be the regular mc,
* reset and ready for init */
rc = meta_back_init_one_conn( op, rs,
- mt, msc, LDAP_BACK_DONTSEND );
+ mt, mc, msc, LDAP_BACK_CONN_ISPRIV( mc ),
+ candidate == mc->mc_authz_target,
+ LDAP_BACK_DONTSEND );
} else {
/* can't do anything about it */
/* mc here must be the regular mc,
* reset and ready for init */
rc = meta_back_init_one_conn( op, rs,
- mt, msc, LDAP_BACK_DONTSEND );
+ mt, mc, msc,
+ LDAP_BACK_CONN_ISPRIV( mc ),
+ candidate == mc->mc_authz_target,
+ LDAP_BACK_DONTSEND );
} else {