]> git.sur5r.net Git - openldap/commitdiff
ITS#5434 search thru other overlays when present
authorHoward Chu <hyc@openldap.org>
Thu, 20 Mar 2008 00:31:42 +0000 (00:31 +0000)
committerHoward Chu <hyc@openldap.org>
Thu, 20 Mar 2008 00:31:42 +0000 (00:31 +0000)
servers/slapd/overlays/syncprov.c

index af8ad727ecc563d2b9483dbb66b4d6fe8880e93f..0bc2d38063337c6b1413200af48c981b2f680372 100644 (file)
@@ -696,7 +696,10 @@ again:
                break;
        }
 
-       fop.o_bd->bd_info = on->on_info->oi_orig;
+       if ( on->on_next )
+               fop.o_bd->bd_info = (BackendInfo *)on->on_next;
+       else
+               fop.o_bd->bd_info = on->on_info->oi_orig;
        fop.o_bd->be_search( &fop, &frs );
        fop.o_bd->bd_info = (BackendInfo *)on;
 
@@ -1528,7 +1531,10 @@ syncprov_playlog( Operation *op, SlapReply *rs, sessionlog *sl,
                fop.ors_filter = &af;
 
                cb.sc_response = playlog_cb;
-               fop.o_bd->bd_info = on->on_info->oi_orig;
+               if ( on->on_next )
+                       fop.o_bd->bd_info = (BackendInfo *)on->on_next;
+               else
+                       fop.o_bd->bd_info = on->on_info->oi_orig;
 
                for ( i=ndel; i<num; i++ ) {
                        if ( uuids[i].bv_len == 0 ) continue;