summaryrefslogtreecommitdiffstats
path: root/src/providers/proxy/proxy_init.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2012-01-23 22:00:30 -0500
committerStephen Gallagher <sgallagh@redhat.com>2012-01-27 09:02:02 -0500
commit627d83dff183219826489949cb55ef71945e94ab (patch)
treec2698acd30149e4452f6f3cb83a48a9059cc7ef9 /src/providers/proxy/proxy_init.c
parentcd5525d7dcde6ffbf162608706c502aa33951789 (diff)
downloadsssd-627d83dff183219826489949cb55ef71945e94ab.tar.gz
sssd-627d83dff183219826489949cb55ef71945e94ab.tar.xz
sssd-627d83dff183219826489949cb55ef71945e94ab.zip
PROXY: add support for enumerating services
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 b28e65a5..d43550bf 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;