diff --git a/servers/slapd/back-meta/search.c b/servers/slapd/back-meta/search.c index 570d9deb5f..ce7d3d9a6f 100644 --- a/servers/slapd/back-meta/search.c +++ b/servers/slapd/back-meta/search.c @@ -320,8 +320,20 @@ meta_back_search( Operation *op, SlapReply *rs ) #endif if ( initial_candidates == 0 ) { + /* NOTE: here we are not sending any matchedDN; + * this is intended, because if the back-meta + * is serving this search request, but no valid + * candidate could be looked up, it means that + * there is a hole in the mapping of the targets + * and thus no knowledge of any remote superior + * is available */ + Debug( LDAP_DEBUG_ANY, "%s meta_back_search: " + "base=\"%s\" scope=%d: " + "no candidate could be selected\n", + op->o_log_prefix, op->o_req_dn.bv_val, + op->ors_scope ); + send_ldap_error( op, rs, LDAP_NO_SUCH_OBJECT, NULL ); - /* FIXME: find a way to look up the best match */ rc = LDAP_NO_SUCH_OBJECT; goto finish;