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
7f14d39a
Commit
7f14d39a
authored
Jan 22, 2008
by
Quanah Gibson-Mount
Browse files
ITS5282 fix for 2.3
Return to release engineering
parent
85f0e7f7
Changes
4
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
7f14d39a
OpenLDAP 2.3 Change Log
OpenLDAP 2.3.41 Engineering
Fixed syncrepl propagation of errors (ITS#5282)
OpenLDAP 2.3.40 Release (2007/12/25)
Fixed slapd include handling (ITS#5276)
Fixed slapd syncrepl compatibility with 2.4 (ITS#5231)
...
...
build/version.var
View file @
7f14d39a
...
...
@@ -15,7 +15,7 @@
ol_package
=
OpenLDAP
ol_major
=
2
ol_minor
=
3
ol_patch
=
40
ol_patch
=
x
ol_api_inc
=
20340
ol_api_current
=
2
ol_api_revision
=
28
...
...
servers/slapd/proto-slap.h
View file @
7f14d39a
...
...
@@ -1596,7 +1596,7 @@ LDAP_SLAPD_F (Filter *) str2filter_x LDAP_P(( Operation *op, const char *str ));
* syncrepl.c
*/
LDAP_SLAPD_F
(
void
)
syncrepl_add_glue
LDAP_P
((
LDAP_SLAPD_F
(
int
)
syncrepl_add_glue
LDAP_P
((
Operation
*
,
Entry
*
));
LDAP_SLAPD_F
(
void
)
syncinfo_free
LDAP_P
((
struct
syncinfo_s
*
));
...
...
servers/slapd/syncrepl.c
View file @
7f14d39a
...
...
@@ -634,8 +634,6 @@ do_syncrep2(
int
rc
,
err
,
i
;
ber_len_t
len
;
int
rc_efree
=
1
;
struct
berval
*
psub
;
Modifications
*
modlist
=
NULL
;
...
...
@@ -718,19 +716,19 @@ do_syncrep2(
slap_parse_sync_cookie
(
&
syncCookie
,
NULL
);
}
}
rc
=
0
;
if
(
si
->
si_syncdata
&&
si
->
si_logstate
==
SYNCLOG_LOGGING
)
{
entry
=
NULL
;
modlist
=
NULL
;
if
(
syncrepl_message_to_op
(
si
,
op
,
msg
)
==
LDAP_SUCCESS
&&
if
(
(
rc
=
syncrepl_message_to_op
(
si
,
op
,
msg
)
)
==
LDAP_SUCCESS
&&
!
BER_BVISNULL
(
&
syncCookie
.
ctxcsn
)
)
{
syncrepl_updateCookie
(
si
,
op
,
psub
,
&
syncCookie
);
}
}
else
if
(
syncrepl_message_to_entry
(
si
,
op
,
msg
,
&
modlist
,
&
entry
,
syncstate
)
==
LDAP_SUCCESS
)
{
rc_efree
=
syncrepl_entry
(
si
,
op
,
entry
,
&
modlist
,
syncstate
,
&
syncUUID
,
&
syncCookie_req
,
&
syncCookie
.
ctxcsn
);
if
(
!
BER_BVISNULL
(
&
syncCookie
.
ctxcsn
)
)
{
}
else
if
(
(
rc
=
syncrepl_message_to_entry
(
si
,
op
,
msg
,
&
modlist
,
&
entry
,
syncstate
)
)
==
LDAP_SUCCESS
)
{
if
((
rc
=
syncrepl_entry
(
si
,
op
,
entry
,
&
modlist
,
syncstate
,
&
syncUUID
,
&
syncCookie_req
,
&
syncCookie
.
ctxcsn
))
==
LDAP_SUCCESS
&&
!
BER_BVISNULL
(
&
syncCookie
.
ctxcsn
)
)
{
syncrepl_updateCookie
(
si
,
op
,
psub
,
&
syncCookie
);
}
}
...
...
@@ -738,10 +736,8 @@ do_syncrep2(
if
(
modlist
)
{
slap_mods_free
(
modlist
,
1
);
}
if
(
rc_efree
&&
entry
)
{
entry_free
(
entry
);
}
entry
=
NULL
;
if
(
rc
)
goto
done
;
break
;
case
LDAP_RES_SEARCH_REFERENCE
:
...
...
@@ -1528,7 +1524,6 @@ syncrepl_message_to_entry(
}
e
=
(
Entry
*
)
ch_calloc
(
1
,
sizeof
(
Entry
)
);
*
entry
=
e
;
e
->
e_name
=
op
->
o_req_dn
;
e
->
e_nname
=
op
->
o_req_ndn
;
...
...
@@ -1604,9 +1599,10 @@ done:
if
(
rc
!=
LDAP_SUCCESS
)
{
if
(
e
)
{
entry_free
(
e
);
*
entry
=
e
=
NULL
;
e
=
NULL
;
}
}
*
entry
=
e
;
return
rc
;
}
...
...
@@ -1669,7 +1665,6 @@ syncrepl_entry(
AttributeAssertion
ava
=
{
NULL
,
BER_BVNULL
};
#endif
int
rc
=
LDAP_SUCCESS
;
int
ret
=
LDAP_SUCCESS
;
struct
berval
pdn
=
BER_BVNULL
;
dninfo
dni
=
{
0
};
...
...
@@ -1838,15 +1833,15 @@ retry_add:;
switch
(
rs_add
.
sr_err
)
{
case
LDAP_SUCCESS
:
be_entry_release_w
(
op
,
entry
);
ret
=
0
;
entry
=
NULL
;
break
;
case
LDAP_REFERRAL
:
/* we assume that LDAP_NO_SUCH_OBJECT is returned
* only if the suffix entry is not present */
case
LDAP_NO_SUCH_OBJECT
:
syncrepl_add_glue
(
op
,
entry
);
ret
=
0
;
rc
=
syncrepl_add_glue
(
op
,
entry
);
entry
=
NULL
;
break
;
/* if an entry was added via syncrepl_add_glue(),
...
...
@@ -1882,7 +1877,8 @@ retry_add:;
cb2
.
sc_response
=
dn_callback
;
cb2
.
sc_private
=
&
dni
;
be
->
be_search
(
&
op2
,
&
rs2
);
rc
=
be
->
be_search
(
&
op2
,
&
rs2
);
if
(
rc
)
goto
done
;
retry
=
0
;
slap_op_time
(
&
op
->
o_time
,
&
op
->
o_tincr
);
...
...
@@ -1894,7 +1890,6 @@ retry_add:;
Debug
(
LDAP_DEBUG_ANY
,
"syncrepl_entry: rid %03d be_add failed (%d)
\n
"
,
si
->
si_rid
,
rs_add
.
sr_err
,
0
);
ret
=
1
;
break
;
}
goto
done
;
...
...
@@ -1928,7 +1923,6 @@ retry_add:;
op
->
o_req_dn
=
entry
->
e_name
;
op
->
o_req_ndn
=
entry
->
e_nname
;
}
else
{
ret
=
1
;
goto
done
;
}
if
(
dni
.
wasChanged
)
...
...
@@ -1996,7 +1990,6 @@ retry_add:;
si
->
si_rid
,
rs_modify
.
sr_err
,
0
);
}
}
ret
=
1
;
goto
done
;
case
LDAP_SYNC_DELETE
:
if
(
!
BER_BVISNULL
(
&
dni
.
dn
))
{
...
...
@@ -2024,13 +2017,11 @@ retry_add:;
}
}
}
ret
=
0
;
goto
done
;
default
:
Debug
(
LDAP_DEBUG_ANY
,
"syncrepl_entry: rid %03d unknown syncstate
\n
"
,
si
->
si_rid
,
0
,
0
);
ret
=
1
;
goto
done
;
}
...
...
@@ -2048,8 +2039,10 @@ done :
if
(
!
BER_BVISNULL
(
&
dni
.
dn
)
)
{
op
->
o_tmpfree
(
dni
.
dn
.
bv_val
,
op
->
o_tmpmemctx
);
}
if
(
entry
)
entry_free
(
entry
);
BER_BVZERO
(
&
op
->
o_csn
);
return
r
et
;
return
r
c
;
}
static
struct
berval
gcbva
[]
=
{
...
...
@@ -2222,7 +2215,7 @@ syncrepl_del_nonpresent(
return
;
}
void
int
syncrepl_add_glue
(
Operation
*
op
,
Entry
*
e
)
...
...
@@ -2332,6 +2325,10 @@ syncrepl_add_glue(
}
else
{
/* incl. ALREADY EXIST */
entry_free
(
glue
);
if
(
rs_add
.
sr_err
!=
LDAP_ALREADY_EXISTS
)
{
entry_free
(
e
);
return
rc
;
}
}
/* Move to next child */
...
...
@@ -2362,7 +2359,7 @@ syncrepl_add_glue(
entry_free
(
e
);
}
return
;
return
rc
;
}
static
void
...
...
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