]> git.sur5r.net Git - openldap/commitdiff
If the sync mode is refreshAndPersist,
authorJong Hyuk Choi <jongchoi@openldap.org>
Wed, 21 May 2003 23:44:10 +0000 (23:44 +0000)
committerJong Hyuk Choi <jongchoi@openldap.org>
Wed, 21 May 2003 23:44:10 +0000 (23:44 +0000)
search does not return error when base entry is not found

servers/slapd/back-bdb/search.c

index 48ffd1e8ff52dbe6f740c1f2939ba73335cec4d4..6acb9303c3b28c57988d52744094fe299de53fa1 100644 (file)
@@ -513,7 +513,16 @@ dn2entry_retry:
 
        switch(rs->sr_err) {
        case DB_NOTFOUND:
-               matched = ei->bei_e; break;
+               if ( sop->o_sync_mode & SLAP_SYNC_PERSIST ) {
+                       rs->sr_err = LDAP_SUCCESS;
+                       rs->sr_rspoid = LDAP_SYNC_INFO;
+                       rs->sr_ctrls = NULL;
+                       bdb_send_ldap_intermediate( sop, rs,
+                                       LDAP_SYNC_REFRESH_DONE, &latest_entrycsn_bv );
+                       goto done;
+               } else {
+                       matched = ei->bei_e; break;
+               }
        case 0:
                e = ei->bei_e; break;
        case LDAP_BUSY: