for ( ; on; on = on->on_next ) {
if ( on->on_bi.bi_access_allowed ) {
+ /* NOTE: do not copy the structure until required */
if ( !SLAP_ISOVERLAY( op->o_bd ) ) {
db = *op->o_bd;
db.be_flags |= SLAP_DBFLAG_OVERLAY;
}
if ( rc == SLAP_CB_CONTINUE && oi->oi_orig->bi_access_allowed ) {
+ /* NOTE: do not copy the structure until requiredy */
+ /* NOTE: by default, oi->oi_orig->bi_access_allowed == NULL;
+ * only backends that implement a specific hook
+ * should store it there; by default, slap_access_allowed()
+ * is invoked if oi->oi_orig->bi_access_allowed == NULL */
if ( !SLAP_ISOVERLAY( op->o_bd ) ) {
db = *op->o_bd;
db.be_flags |= SLAP_DBFLAG_OVERLAY;