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.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/providers/proxy/proxy_init.c b/src/providers/proxy/proxy_init.c
index 47c9e8111..de1904c79 100644
--- a/src/providers/proxy/proxy_init.c
+++ b/src/providers/proxy/proxy_init.c
@@ -207,6 +207,28 @@ int sssm_proxy_id_init(struct be_ctx *bectx,
"full groups enumeration!\n", libname));
}
+ ctx->ops.setnetgrent = proxy_dlsym(handle, "_nss_%s_setnetgrent", libname);
+ if (!ctx->ops.setnetgrent) {
+ DEBUG(0, ("Failed to load _nss_%s_setnetgrent, error: %s. "
+ "The library does not support netgroups.\n", libname,
+ dlerror()));
+ }
+
+ ctx->ops.getnetgrent_r = proxy_dlsym(handle, "_nss_%s_getnetgrent_r",
+ libname);
+ if (!ctx->ops.getgrent_r) {
+ DEBUG(0, ("Failed to load _nss_%s_getnetgrent_r, error: %s. "
+ "The library does not support netgroups.\n", libname,
+ dlerror()));
+ }
+
+ ctx->ops.endnetgrent = proxy_dlsym(handle, "_nss_%s_endnetgrent", libname);
+ if (!ctx->ops.endnetgrent) {
+ DEBUG(0, ("Failed to load _nss_%s_endnetgrent, error: %s. "
+ "The library does not support netgroups.\n", libname,
+ dlerror()));
+ }
+
*ops = &proxy_id_ops;
*pvt_data = ctx;
ret = EOK;