]> git.sur5r.net Git - openldap/commitdiff
ITS#6156
authorQuanah Gibson-Mount <quanah@openldap.org>
Mon, 8 Jun 2009 21:27:05 +0000 (21:27 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 8 Jun 2009 21:27:05 +0000 (21:27 +0000)
CHANGES
servers/slapd/overlays/translucent.c

diff --git a/CHANGES b/CHANGES
index da6646d3222bea759dac47ef3afb1cf13baec9cf..c613cddfde6758f790e9dae8be07a365330432eb 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -38,6 +38,7 @@ OpenLDAP 2.4.17 Engineering
        Fixed slapo-rwm dn passing (ITS#6070)
        Fixed slapo-rwm entry free (ITS#6058)
        Fixed slapo-rwm entry release (ITS#6081)
+       Fixed slapo-translucent entry gathering (ITS#6156)
        Build Environment
                Added test056-monitor (ITS#5540)
                Added test057-memberof-refint (ITS#5395)
index 92d9a211517b2f9d65ac73a18a5624b37edee06c..f5d3cf8e380962f1e06d9880c805fbc8e271291d 100644 (file)
@@ -1110,6 +1110,8 @@ static int translucent_search(Operation *op, SlapReply *rs) {
        op->o_callback = &cb;
 
        if ( fr || !fl ) {
+               AttributeName *attrs = op->ors_attrs;
+               op->ors_attrs = NULL;
                op->o_bd = &ov->db;
                tc.step |= RMT_SIDE;
                if ( fl ) {
@@ -1118,6 +1120,7 @@ static int translucent_search(Operation *op, SlapReply *rs) {
                        filter2bv_x( op, fr, &op->ors_filterstr );
                }
                rc = ov->db.bd_info->bi_op_search(op, rs);
+               op->ors_attrs = attrs;
                op->o_bd = tc.db;
                if ( fl ) {
                        op->o_tmpfree( op->ors_filterstr.bv_val, op->o_tmpmemctx );
@@ -1133,6 +1136,8 @@ static int translucent_search(Operation *op, SlapReply *rs) {
        op->ors_filterstr = fbv;
        op->ors_filter = tc.orig;
        op->o_callback = cb.sc_next;
+       rs->sr_attrs = op->ors_attrs;
+
        /* Send out anything remaining on the list and finish */
        if ( tc.step & USE_LIST ) {
                if ( tc.list ) {