From acecaebecb31d09f8cdae5c7b0381b9cc25adeaa Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Fri, 14 Aug 2009 23:00:10 +0000 Subject: [PATCH] ITS#6253 --- CHANGES | 1 + servers/slapd/overlays/translucent.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CHANGES b/CHANGES index fb617155fc..04ea7085fc 100644 --- a/CHANGES +++ b/CHANGES @@ -23,6 +23,7 @@ OpenLDAP 2.4.18 Engineering Fixed slapd-sql with baseObject query (ITS#6172) Fixed slapd-sql with empty attribute (ITS#6163) Added slapo-pcache olcProxyCacheOffline (ITS#6152) + Fixed slapo-translucent to honor sizelimit (ITS#6253) Fixed slapo-unique filter matching (ITS#6077) Fixed tools off by one error (ITS#6233) Fixed tools resource leaks (ITS#6145) diff --git a/servers/slapd/overlays/translucent.c b/servers/slapd/overlays/translucent.c index 102b909418..6641de2838 100644 --- a/servers/slapd/overlays/translucent.c +++ b/servers/slapd/overlays/translucent.c @@ -769,6 +769,7 @@ typedef struct trans_ctx { Filter *orig; Avlnode *list; int step; + int slimit; } trans_ctx; static int translucent_search_cb(Operation *op, SlapReply *rs) { @@ -793,6 +794,8 @@ static int translucent_search_cb(Operation *op, SlapReply *rs) { Debug(LDAP_DEBUG_TRACE, "==> translucent_search_cb: %s\n", rs->sr_entry->e_name.bv_val, 0, 0); + op->ors_slimit = tc->slimit; + on = tc->on; ov = on->on_bi.bi_private; @@ -1098,6 +1101,8 @@ static int translucent_search(Operation *op, SlapReply *rs) { if ( fr || !fl ) { AttributeName *attrs = op->ors_attrs; + tc.slimit = op->ors_slimit; + op->ors_slimit = SLAP_NO_LIMIT; op->ors_attrs = NULL; op->o_bd = &ov->db; tc.step |= RMT_SIDE; @@ -1107,6 +1112,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_slimit = tc.slimit; op->ors_attrs = attrs; op->o_bd = tc.db; if ( fl ) { -- 2.39.5