summaryrefslogtreecommitdiffstats
path: root/src/providers/data_provider_fo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/data_provider_fo.c')
-rw-r--r--src/providers/data_provider_fo.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/providers/data_provider_fo.c b/src/providers/data_provider_fo.c
index 04944e52a..232717e75 100644
--- a/src/providers/data_provider_fo.c
+++ b/src/providers/data_provider_fo.c
@@ -233,6 +233,27 @@ int be_fo_service_add_callback(TALLOC_CTX *memctx,
return EOK;
}
+void be_fo_set_srv_lookup_plugin(struct be_ctx *ctx,
+ fo_srv_lookup_plugin_send_t send_fn,
+ fo_srv_lookup_plugin_recv_t recv_fn,
+ void *pvt,
+ const char *plugin_name)
+{
+ bool bret;
+
+ DEBUG(SSSDBG_TRACE_FUNC, ("Trying to set SRV lookup plugin to %s\n",
+ plugin_name));
+
+ bret = fo_set_srv_lookup_plugin(ctx->be_fo->fo_ctx, send_fn, recv_fn, pvt);
+ if (bret) {
+ DEBUG(SSSDBG_TRACE_FUNC, ("SRV lookup plugin is now %s\n",
+ plugin_name));
+ } else {
+ DEBUG(SSSDBG_MINOR_FAILURE, ("Unable to set SRV lookup plugin, "
+ "another plugin may be already in place\n"));
+ }
+}
+
int be_fo_add_srv_server(struct be_ctx *ctx,
const char *service_name,
const char *query_service,