Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joe Martin
OpenLDAP
Commits
87b4747f
Commit
87b4747f
authored
Aug 14, 2009
by
Quanah Gibson-Mount
Browse files
ITS#6254
parent
162f434d
Changes
2
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
87b4747f
...
...
@@ -23,8 +23,9 @@ 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#625
3
)
Fixed slapo-translucent
attribute return
(ITS#625
4
)
Fixed slapo-translucent filter matching (ITS#6255)
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)
...
...
servers/slapd/overlays/translucent.c
View file @
87b4747f
...
...
@@ -770,6 +770,7 @@ typedef struct trans_ctx {
Avlnode
*
list
;
int
step
;
int
slimit
;
AttributeName
*
attrs
;
}
trans_ctx
;
static
int
translucent_search_cb
(
Operation
*
op
,
SlapReply
*
rs
)
{
...
...
@@ -795,6 +796,11 @@ static int translucent_search_cb(Operation *op, SlapReply *rs) {
rs
->
sr_entry
->
e_name
.
bv_val
,
0
,
0
);
op
->
ors_slimit
=
tc
->
slimit
+
(
tc
->
slimit
>
0
?
1
:
0
);
if
(
op
->
ors_attrs
==
slap_anlist_all_attributes
)
{
op
->
ors_attrs
=
tc
->
attrs
;
rs
->
sr_attrs
=
tc
->
attrs
;
rs
->
sr_attr_flags
=
slap_attr_flags
(
rs
->
sr_attrs
);
}
on
=
tc
->
on
;
ov
=
on
->
on_bi
.
bi_private
;
...
...
@@ -1106,16 +1112,16 @@ static int translucent_search(Operation *op, SlapReply *rs) {
tc
.
orig
=
op
->
ors_filter
;
tc
.
list
=
NULL
;
tc
.
step
=
0
;
tc
.
slimit
=
op
->
ors_slimit
;
tc
.
attrs
=
NULL
;
fbv
=
op
->
ors_filterstr
;
op
->
o_callback
=
&
cb
;
tc
.
slimit
=
op
->
ors_slimit
;
if
(
fr
||
!
fl
)
{
AttributeName
*
attrs
=
op
->
ors_attrs
;
tc
.
attrs
=
op
->
ors_attrs
;
op
->
ors_slimit
=
SLAP_NO_LIMIT
;
op
->
ors_attrs
=
NULL
;
op
->
ors_attrs
=
slap_anlist_all_attributes
;
op
->
o_bd
=
&
ov
->
db
;
tc
.
step
|=
RMT_SIDE
;
if
(
fl
)
{
...
...
@@ -1124,7 +1130,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
->
ors_attrs
=
tc
.
attrs
;
op
->
o_bd
=
tc
.
db
;
if
(
fl
)
{
op
->
o_tmpfree
(
op
->
ors_filterstr
.
bv_val
,
op
->
o_tmpmemctx
);
...
...
@@ -1141,6 +1147,7 @@ static int translucent_search(Operation *op, SlapReply *rs) {
op
->
ors_filter
=
tc
.
orig
;
op
->
o_callback
=
cb
.
sc_next
;
rs
->
sr_attrs
=
op
->
ors_attrs
;
rs
->
sr_attr_flags
=
slap_attr_flags
(
rs
->
sr_attrs
);
/* Send out anything remaining on the list and finish */
if
(
tc
.
step
&
USE_LIST
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment