]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9015 Treat an empty cookie from a FALLBACK search as a success
authorOndřej Kuzník <ondra@openldap.org>
Tue, 7 May 2019 15:42:51 +0000 (16:42 +0100)
committerOndřej Kuzník <ondra@openldap.org>
Wed, 8 May 2019 14:42:12 +0000 (15:42 +0100)
servers/slapd/syncrepl.c

index f19217f0ac1d4f25e0dc01445e90033c2a3d75ef..2d1913b4a7b1844143ee7a6052618ab3c195d37a 100644 (file)
@@ -553,7 +553,8 @@ ldap_sync_search(
                        }
                } else
 #endif
-               if ( si->si_logstate == SYNCLOG_LOGGING && !si->si_syncCookie.numcsns ) {
+               if ( si->si_logstate == SYNCLOG_LOGGING && !si->si_syncCookie.numcsns &&
+                               !si->si_refreshDone ) {
                        si->si_logstate = SYNCLOG_FALLBACK;
                }
        }
@@ -1492,6 +1493,7 @@ logerr:
                        if ( err == LDAP_SUCCESS
                                && si->si_logstate == SYNCLOG_FALLBACK ) {
                                si->si_logstate = SYNCLOG_LOGGING;
+                               si->si_refreshDone = 1;
                                rc = LDAP_SYNC_REFRESH_REQUIRED;
                                slap_resume_listeners();
                        } else {