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
20fb50fc
Commit
20fb50fc
authored
Oct 30, 2009
by
Quanah Gibson-Mount
Browse files
ITS#6337
parent
7561998f
Changes
2
Show whitespace changes
Inline
Side-by-side
CHANGES
View file @
20fb50fc
...
...
@@ -4,6 +4,7 @@ OpenLDAP 2.4.20 Engineering
Fixed libldap uninitialized return value (ITS#6355)
Fixed slapd debug handling of LDAP_DEBUG_ANY (ITS#6324)
Fixed slapd-ldap leak (ITS#6326)
Fixed slapd-relay bind segfault (ITS#6337)
Fixed slapo-memberof operational attr updates (ITS#6329)
Fixed slapo-syncprov deadlock (ITS#6335)
Documentation
...
...
servers/slapd/back-relay/op.c
View file @
20fb50fc
...
...
@@ -93,6 +93,27 @@ relay_back_response_cb( Operation *op, SlapReply *rs )
return
SLAP_CB_CONTINUE
;
}
/* quick hack for ITS#6337: use malloc'ed callback for bind */
int
relay_back_cleanup2_cb
(
Operation
*
op
,
SlapReply
*
rs
)
{
op
->
o_bd
=
((
relay_callback
*
)
op
->
o_callback
)
->
rcb_bd
;
op
->
o_tmpfree
(
op
->
o_callback
,
op
->
o_tmpmemctx
);
op
->
o_callback
=
NULL
;
return
SLAP_CB_CONTINUE
;
}
int
relay_back_response2_cb
(
Operation
*
op
,
SlapReply
*
rs
)
{
relay_callback
*
rcb
=
(
relay_callback
*
)
op
->
o_callback
;
rcb
->
rcb_sc
.
sc_cleanup
=
relay_back_cleanup2_cb
;
rcb
->
rcb_bd
=
op
->
o_bd
;
op
->
o_bd
=
op
->
o_callback
->
sc_private
;
return
SLAP_CB_CONTINUE
;
}
#define relay_back_add_cb( rcb, op, bd ) \
{ \
(rcb)->rcb_sc.sc_next = (op)->o_callback; \
...
...
@@ -199,7 +220,15 @@ relay_back_op( Operation *op, SlapReply *rs, int which )
}
else
if
(
(
func
=
(
&
bd
->
be_bind
)[
which
])
!=
0
)
{
relay_callback
rcb
;
if
(
which
==
op_bind
)
{
/* quick hack for ITS#6337: use malloc'ed callback for bind */
relay_callback
*
rcbp
=
op
->
o_tmpcalloc
(
sizeof
(
relay_callback
),
1
,
op
->
o_tmpmemctx
);
relay_back_add_cb
(
rcbp
,
op
,
bd
);
rcbp
->
rcb_sc
.
sc_response
=
relay_back_response2_cb
;
}
else
{
relay_back_add_cb
(
&
rcb
,
op
,
bd
);
}
RELAY_WRAP_OP
(
op
,
bd
,
which
,
{
rc
=
func
(
op
,
rs
);
...
...
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