OpenLDAP 2.3 Change Log
OpenLDAP 2.3.42 Engineering
+ Fixed slapd delta-syncrepl refresh mode (ITS#5376)
+ Fixed slapd delta-syncrepl resync (ITS#5378)
Fixed slapd pagedresults stale state (ITS#5409)
Fixed slapd-ldap connection handler (ITS#5404)
if (( rc = syncrepl_message_to_op( si, op, msg )) == LDAP_SUCCESS &&
!BER_BVISNULL( &syncCookie.ctxcsn ) ) {
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 switch ( rc ) {
+ case LDAP_ALREADY_EXISTS:
+ case LDAP_NO_SUCH_OBJECT:
+ case LDAP_NO_SUCH_ATTRIBUTE:
+ case LDAP_TYPE_OR_VALUE_EXISTS:
+ rc = LDAP_SYNC_REFRESH_REQUIRED;
+ si->si_logstate = SYNCLOG_FALLBACK;
+ ldap_abandon_ext( si->si_ld, si->si_msgid, NULL, NULL );
+ break;
+ default:
+ break;
}
} else if (( rc = syncrepl_message_to_entry( si, op, msg,
&modlist, &entry, syncstate )) == LDAP_SUCCESS ) {