diff options
author | Nalin Dahyabhai <nalin@redhat.com> | 2010-11-22 11:07:45 -0500 |
---|---|---|
committer | Nalin Dahyabhai <nalin@redhat.com> | 2010-11-22 11:07:45 -0500 |
commit | c067125f9150e452fdfe9885d757224bd5ec5795 (patch) | |
tree | a7ab23762d6eb71c2a8ed71da435b13472b39c3e /src/back-sch.c | |
parent | 36ab51ed90303787670711c1be6b9b5564267635 (diff) | |
download | slapi-nis-c067125f9150e452fdfe9885d757224bd5ec5795.tar.gz slapi-nis-c067125f9150e452fdfe9885d757224bd5ec5795.tar.xz slapi-nis-c067125f9150e452fdfe9885d757224bd5ec5795.zip |
Check that the search base is serviced by a real backend before we'll attempt to participate in a search request.
Diffstat (limited to 'src/back-sch.c')
-rw-r--r-- | src/back-sch.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/back-sch.c b/src/back-sch.c index eba778a..6fc9c30 100644 --- a/src/back-sch.c +++ b/src/back-sch.c @@ -893,6 +893,15 @@ backend_search_cb(Slapi_PBlock *pb) "searching from \"%s\" for \"%s\" with scope %d\n", cbdata.target, cbdata.strfilter, cbdata.scope); cbdata.target_dn = slapi_sdn_new_dn_byval(cbdata.target); + /* Check if there's a backend handling this search. */ + if (!slapi_be_exist(cbdata.target_dn)) { + slapi_log_error(SLAPI_LOG_PLUGIN, + cbdata.state->plugin_desc->spd_id, + "slapi_be_exists(\"%s\") = 0, ignoring search\n", + cbdata.target); + slapi_sdn_free(&cbdata.target_dn); + return 0; + } /* Walk the list of groups. */ wrap_inc_call_level(); map_rdlock(); |