summaryrefslogtreecommitdiffstats
path: root/src/providers/proxy/proxy_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/proxy/proxy_init.c')
-rw-r--r--src/providers/proxy/proxy_init.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/providers/proxy/proxy_init.c b/src/providers/proxy/proxy_init.c
index b28e65a57..d43550bfa 100644
--- a/src/providers/proxy/proxy_init.c
+++ b/src/providers/proxy/proxy_init.c
@@ -259,6 +259,39 @@ int sssm_proxy_id_init(struct be_ctx *bectx,
dlerror()));
}
+ ctx->ops.setservent = proxy_dlsym(ctx->handle,
+ "_nss_%s_setservent",
+ libname);
+ if (!ctx->ops.setservent) {
+ DEBUG(SSSDBG_MINOR_FAILURE,
+ ("Failed to load _nss_%s_setservent, error: %s. "
+ "The library does not support services.\n",
+ libname,
+ dlerror()));
+ }
+
+ ctx->ops.getservent_r = proxy_dlsym(ctx->handle,
+ "_nss_%s_getservent_r",
+ libname);
+ if (!ctx->ops.getservent_r) {
+ DEBUG(SSSDBG_MINOR_FAILURE,
+ ("Failed to load _nss_%s_getservent_r, error: %s. "
+ "The library does not support services.\n",
+ libname,
+ dlerror()));
+ }
+
+ ctx->ops.endservent = proxy_dlsym(ctx->handle,
+ "_nss_%s_endservent",
+ libname);
+ if (!ctx->ops.endservent) {
+ DEBUG(SSSDBG_MINOR_FAILURE,
+ ("Failed to load _nss_%s_endservent, error: %s. "
+ "The library does not support services.\n",
+ libname,
+ dlerror()));
+ }
+
*ops = &proxy_id_ops;
*pvt_data = ctx;
ret = EOK;