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
dbbf8e93
Commit
dbbf8e93
authored
Apr 14, 2008
by
Quanah Gibson-Mount
Browse files
ITS#5397
parent
acfd7920
Changes
3
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
dbbf8e93
...
...
@@ -12,6 +12,7 @@ OpenLDAP 2.4.9 Engineering
Fixed slapd syncrepl/glue failure (ITS#5430)
Fixed slapd syncrepl crash on empty CSN (ITS#5432)
Fixed slapd syncrepl refreshAndPersist (ITS#5454)
Fixed slapd syncrepl modrdn processing (ITS#5397)
Fixed slapo-syncprov psearch on closed connection (ITS#5401)
Fixed slapo-syncprov psearch task delay (ITS#5405)
Fixed slapo-syncprov psearch filter identity (ITS#5418)
...
...
servers/slapd/back-ldap/modrdn.c
View file @
dbbf8e93
...
...
@@ -44,6 +44,7 @@ ldap_back_modrdn(
ldap_back_send_t
retrying
=
LDAP_BACK_RETRYING
;
int
rc
=
LDAP_SUCCESS
;
char
*
newSup
=
NULL
;
struct
berval
newrdn
=
BER_BVNULL
;
if
(
!
ldap_back_dobind
(
&
lc
,
op
,
rs
,
LDAP_BACK_SENDERR
)
)
{
return
rs
->
sr_err
;
...
...
@@ -72,6 +73,13 @@ ldap_back_modrdn(
newSup
=
op
->
orr_newSup
->
bv_val
;
}
/* NOTE: we need to copy the newRDN in case it was formed
* from a DN by simply changing the length (ITS#5397) */
newrdn
=
op
->
orr_newrdn
;
if
(
newrdn
.
bv_val
[
newrdn
.
bv_len
]
!=
'\0'
)
{
ber_dupbv_x
(
&
newrdn
,
&
op
->
orr_newrdn
,
op
->
o_tmpmemctx
);
}
retry:
ctrls
=
op
->
o_ctrls
;
rc
=
ldap_back_controls_add
(
op
,
rs
,
lc
,
&
ctrls
);
...
...
@@ -82,7 +90,7 @@ retry:
}
rs
->
sr_err
=
ldap_rename
(
lc
->
lc_ld
,
op
->
o_req_dn
.
bv_val
,
op
->
orr_
newrdn
.
bv_val
,
newSup
,
newrdn
.
bv_val
,
newSup
,
op
->
orr_deleteoldrdn
,
ctrls
,
NULL
,
&
msgid
);
rc
=
ldap_back_op_result
(
lc
,
op
,
rs
,
msgid
,
li
->
li_timeout
[
SLAP_OP_MODRDN
],
...
...
@@ -99,6 +107,10 @@ retry:
cleanup:
(
void
)
ldap_back_controls_free
(
op
,
rs
,
&
ctrls
);
if
(
newrdn
.
bv_val
!=
op
->
orr_newrdn
.
bv_val
)
{
op
->
o_tmpfree
(
newrdn
.
bv_val
,
op
->
o_tmpmemctx
);
}
if
(
lc
!=
NULL
)
{
ldap_back_release_conn
(
li
,
lc
);
}
...
...
servers/slapd/back-meta/modrdn.c
View file @
dbbf8e93
...
...
@@ -44,6 +44,7 @@ meta_back_modrdn( Operation *op, SlapReply *rs )
int
msgid
;
int
do_retry
=
1
;
LDAPControl
**
ctrls
=
NULL
;
struct
berval
newrdn
=
BER_BVNULL
;
mc
=
meta_back_getconn
(
op
,
rs
,
&
candidate
,
LDAP_BACK_SENDERR
);
if
(
!
mc
||
!
meta_back_dobind
(
op
,
rs
,
mc
,
LDAP_BACK_SENDERR
)
)
{
...
...
@@ -118,6 +119,13 @@ meta_back_modrdn( Operation *op, SlapReply *rs )
goto
cleanup
;
}
/* NOTE: we need to copy the newRDN in case it was formed
* from a DN by simply changing the length (ITS#5397) */
newrdn
=
op
->
orr_newrdn
;
if
(
newrdn
.
bv_val
[
newrdn
.
bv_len
]
!=
'\0'
)
{
ber_dupbv_x
(
&
newrdn
,
&
op
->
orr_newrdn
,
op
->
o_tmpmemctx
);
}
retry:
;
ctrls
=
op
->
o_ctrls
;
if
(
meta_back_controls_add
(
op
,
rs
,
mc
,
candidate
,
&
ctrls
)
!=
LDAP_SUCCESS
)
...
...
@@ -127,7 +135,7 @@ retry:;
}
rs
->
sr_err
=
ldap_rename
(
mc
->
mc_conns
[
candidate
].
msc_ld
,
mdn
.
bv_val
,
op
->
orr_
newrdn
.
bv_val
,
mdn
.
bv_val
,
newrdn
.
bv_val
,
mnewSuperior
.
bv_val
,
op
->
orr_deleteoldrdn
,
ctrls
,
NULL
,
&
msgid
);
rs
->
sr_err
=
meta_back_op_result
(
mc
,
op
,
rs
,
candidate
,
msgid
,
...
...
@@ -156,6 +164,10 @@ cleanup:;
BER_BVZERO
(
&
mnewSuperior
);
}
if
(
newrdn
.
bv_val
!=
op
->
orr_newrdn
.
bv_val
)
{
op
->
o_tmpfree
(
newrdn
.
bv_val
,
op
->
o_tmpmemctx
);
}
if
(
mc
)
{
meta_back_release_conn
(
mi
,
mc
);
}
...
...
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