Commit e836a0cf authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#5376

parent ecbaa334
...@@ -29,6 +29,7 @@ OpenLDAP 2.4.8 Engineering ...@@ -29,6 +29,7 @@ OpenLDAP 2.4.8 Engineering
Fixed slapd sasl with CLEARTEXT (ITS#5368) Fixed slapd sasl with CLEARTEXT (ITS#5368)
Fixed slapd str2entry with no attrs (ITS#5308) Fixed slapd str2entry with no attrs (ITS#5308)
Fixed slapd TLSVerifyClient default (ITS#5360) Fixed slapd TLSVerifyClient default (ITS#5360)
Fixed slapd delta-syncrepl refresh mode (ITS#5376)
Fixed slapd-bdb crash with modrdn (ITS#5358) Fixed slapd-bdb crash with modrdn (ITS#5358)
Fixed slapd-bdb segv with bdb4.6 (ITS#5322) Fixed slapd-bdb segv with bdb4.6 (ITS#5322)
Fixed slapd-bdb modrdn to same dn (ITS#5319) Fixed slapd-bdb modrdn to same dn (ITS#5319)
......
...@@ -96,6 +96,7 @@ typedef struct syncinfo_s { ...@@ -96,6 +96,7 @@ typedef struct syncinfo_s {
int si_refreshDone; int si_refreshDone;
int si_syncdata; int si_syncdata;
int si_logstate; int si_logstate;
ber_int_t si_msgid;
Avlnode *si_presentlist; Avlnode *si_presentlist;
LDAP *si_ld; LDAP *si_ld;
Connection *si_conn; Connection *si_conn;
...@@ -342,7 +343,6 @@ ldap_sync_search( ...@@ -342,7 +343,6 @@ ldap_sync_search(
BerElementBuffer berbuf; BerElementBuffer berbuf;
BerElement *ber = (BerElement *)&berbuf; BerElement *ber = (BerElement *)&berbuf;
LDAPControl c[2], *ctrls[3]; LDAPControl c[2], *ctrls[3];
ber_int_t msgid;
int rc; int rc;
int rhint; int rhint;
char *base; char *base;
...@@ -427,7 +427,7 @@ ldap_sync_search( ...@@ -427,7 +427,7 @@ ldap_sync_search(
} }
rc = ldap_search_ext( si->si_ld, base, scope, filter, attrs, attrsonly, rc = ldap_search_ext( si->si_ld, base, scope, filter, attrs, attrsonly,
ctrls, NULL, NULL, si->si_slimit, &msgid ); ctrls, NULL, NULL, si->si_slimit, &si->si_msgid );
ber_free_buf( ber ); ber_free_buf( ber );
return rc; return rc;
} }
...@@ -743,7 +743,7 @@ do_syncrep2( ...@@ -743,7 +743,7 @@ do_syncrep2(
tout_p = NULL; tout_p = NULL;
} }
while ( ( rc = ldap_result( si->si_ld, LDAP_RES_ANY, LDAP_MSG_ONE, while ( ( rc = ldap_result( si->si_ld, si->si_msgid, LDAP_MSG_ONE,
tout_p, &res ) ) > 0 ) tout_p, &res ) ) > 0 )
{ {
if ( slapd_shutdown ) { if ( slapd_shutdown ) {
...@@ -833,6 +833,10 @@ do_syncrep2( ...@@ -833,6 +833,10 @@ do_syncrep2(
syncCookie.ctxcsn ) syncCookie.ctxcsn )
{ {
rc = syncrepl_updateCookie( si, op, psub, &syncCookie ); rc = syncrepl_updateCookie( si, op, psub, &syncCookie );
} else if ( rc == LDAP_NO_SUCH_OBJECT ) {
rc = LDAP_SYNC_REFRESH_REQUIRED;
si->si_logstate = SYNCLOG_FALLBACK;
ldap_abandon_ext( si->si_ld, si->si_msgid, NULL, NULL );
} }
} else if ( ( rc = syncrepl_message_to_entry( si, op, msg, } else if ( ( rc = syncrepl_message_to_entry( si, op, msg,
&modlist, &entry, syncstate ) ) == LDAP_SUCCESS ) &modlist, &entry, syncstate ) ) == LDAP_SUCCESS )
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment