From 9e3184763cfaf624d8a0121fc995a47a1342692d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Mon, 13 Sep 2021 11:58:56 +0100 Subject: [PATCH] ITS#9691 Allow empty DB to host a persistent syncrepl session --- servers/slapd/overlays/syncprov.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index df22352374..f89cfd3103 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -3129,6 +3129,14 @@ syncprov_op_search( Operation *op, SlapReply *rs ) op->o_callback = cb; ldap_pvt_thread_mutex_destroy( &so.s_mutex ); + /* Special case, if client knows nothing, nor do we, keep going */ + if ( srs->sr_state.numcsns == 0 && rs->sr_err == LDAP_NO_SUCH_OBJECT ) { + Debug( LDAP_DEBUG_SYNC, "%s syncprov_op_search: " + "both our DB and client empty, ignoring NO_SUCH_OBJECT\n", + op->o_log_prefix ); + rs->sr_err = LDAP_SUCCESS; + } + if ( rs->sr_err != LDAP_SUCCESS ) { send_ldap_result( op, rs ); return rs->sr_err; -- 2.47.3