Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joe Martin
OpenLDAP
Commits
c457b42a
Commit
c457b42a
authored
Apr 15, 2010
by
Quanah Gibson-Mount
Browse files
ITS#6506
parent
a49e2acd
Changes
2
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
c457b42a
...
...
@@ -8,6 +8,7 @@ OpenLDAP 2.4.22 Engineering
Fixed slapd acl non-entry internal searches (ITS#6481)
Fixed slapd certificateListValidate (ITS#6466)
Fixed slapd empty URI parsing (ITS#6465)
Fixed slapd glued misplaced entries (ITS#6506)
Fixed slapd glued paged results (ITS#6504)
Fixed slapd ignore controls with unrecognized flags (ITS#6480)
Fixed slapd REP_ENTRY flag handling (ITS#5340)
...
...
servers/slapd/backglue.c
View file @
c457b42a
...
...
@@ -56,6 +56,8 @@ static BackendDB *glueBack;
static
BackendDB
glueBackDone
;
#define GLUEBACK_DONE (&glueBackDone)
static
slap_overinst
*
glue_tool_inst
(
BackendInfo
*
bi
);
static
slap_response
glue_op_response
;
/* Just like select_backend, but only for our backends */
...
...
@@ -619,6 +621,49 @@ glue_tool_entry_open (
toolDB
=
*
b0
;
toolDB
.
bd_info
=
oi
->
oi_orig
;
/* Sanity checks */
{
slap_overinst
*
on
=
glue_tool_inst
(
b0
->
bd_info
);
glueinfo
*
gi
=
on
->
on_bi
.
bi_private
;
int
i
;
for
(
i
=
0
;
i
<
gi
->
gi_nodes
;
i
++
)
{
BackendDB
*
bd
;
struct
berval
pdn
;
dnParent
(
&
gi
->
gi_n
[
i
].
gn_be
->
be_nsuffix
[
0
],
&
pdn
);
bd
=
select_backend
(
&
pdn
,
0
);
if
(
bd
)
{
ID
id
;
BackendDB
db
;
if
(
overlay_is_over
(
bd
)
)
{
slap_overinfo
*
oi
=
(
slap_overinfo
*
)
bd
->
bd_info
;
db
=
*
bd
;
db
.
bd_info
=
oi
->
oi_orig
;
bd
=
&
db
;
}
if
(
!
bd
->
bd_info
->
bi_tool_dn2id_get
||
!
bd
->
bd_info
->
bi_tool_entry_open
||
!
bd
->
bd_info
->
bi_tool_entry_close
)
{
continue
;
}
bd
->
bd_info
->
bi_tool_entry_open
(
bd
,
0
);
id
=
bd
->
bd_info
->
bi_tool_dn2id_get
(
bd
,
&
gi
->
gi_n
[
i
].
gn_be
->
be_nsuffix
[
0
]
);
bd
->
bd_info
->
bi_tool_entry_close
(
bd
);
if
(
id
!=
NOID
)
{
Debug
(
LDAP_DEBUG_ANY
,
"glue_tool_entry_open: subordinate database suffix entry DN=
\"
%s
\"
also present in superior database rooted at DN=
\"
%s
\"\n
"
,
gi
->
gi_n
[
i
].
gn_be
->
be_suffix
[
0
].
bv_val
,
bd
->
be_suffix
[
0
].
bv_val
,
0
);
return
LDAP_OTHER
;
}
}
}
}
return
0
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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