From 9bec63f4b9cb97c1ff1cf2ff448446ab1e59734d Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Wed, 24 Jun 2009 08:18:15 -0400 Subject: Implement resInit for monitor, NSS, PAM, DP and the backends --- server/responder/nss/nsssrv.c | 20 ++++++++++++++++++++ server/responder/pam/pamsrv.c | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) (limited to 'server/responder') diff --git a/server/responder/nss/nsssrv.c b/server/responder/nss/nsssrv.c index e04a8c87..9a3d3c45 100644 --- a/server/responder/nss/nsssrv.c +++ b/server/responder/nss/nsssrv.c @@ -29,6 +29,12 @@ #include #include #include + +/* Needed for res_init() */ +#include +#include +#include + #include "popt.h" #include "util/util.h" #include "responder/nss/nsssrv.h" @@ -49,11 +55,13 @@ static int service_identity(DBusMessage *message, struct sbus_conn_ctx *sconn); static int service_pong(DBusMessage *message, struct sbus_conn_ctx *sconn); static int service_reload(DBusMessage *message, struct sbus_conn_ctx *sconn); +static int service_res_init(DBusMessage *message, struct sbus_conn_ctx *sconn); struct sbus_method nss_sbus_methods[] = { {SERVICE_METHOD_IDENTITY, service_identity}, {SERVICE_METHOD_PING, service_pong}, {SERVICE_METHOD_RELOAD, service_reload}, + {SERVICE_METHOD_RES_INIT, service_res_init}, {NULL, NULL} }; @@ -118,6 +126,18 @@ static int service_reload(DBusMessage *message, struct sbus_conn_ctx *sconn) return service_pong(message, sconn); } +static int service_res_init(DBusMessage *message, struct sbus_conn_ctx *sconn) +{ + int ret; + + ret = res_init(); + if(ret != 0) { + return EIO; + } + + return service_pong(message, sconn); +} + static int nss_get_config(struct nss_ctx *nctx, struct resp_ctx *rctx, struct confdb_ctx *cdb) diff --git a/server/responder/pam/pamsrv.c b/server/responder/pam/pamsrv.c index e4ddc432..ef01e972 100644 --- a/server/responder/pam/pamsrv.c +++ b/server/responder/pam/pamsrv.c @@ -30,6 +30,12 @@ #include #include #include + +/* Needed for res_init() */ +#include +#include +#include + #include "popt.h" #include "util/util.h" #include "db/sysdb.h" @@ -52,11 +58,13 @@ static int service_identity(DBusMessage *message, struct sbus_conn_ctx *sconn); static int service_pong(DBusMessage *message, struct sbus_conn_ctx *sconn); static int service_reload(DBusMessage *message, struct sbus_conn_ctx *sconn); +static int service_res_init(DBusMessage *message, struct sbus_conn_ctx *sconn); struct sbus_method sss_sbus_methods[] = { {SERVICE_METHOD_IDENTITY, service_identity}, {SERVICE_METHOD_PING, service_pong}, {SERVICE_METHOD_RELOAD, service_reload}, + {SERVICE_METHOD_RES_INIT, service_res_init}, {NULL, NULL} }; @@ -108,6 +116,18 @@ static int service_pong(DBusMessage *message, struct sbus_conn_ctx *sconn) return EOK; } +static int service_res_init(DBusMessage *message, struct sbus_conn_ctx *sconn) +{ + int ret; + + ret = res_init(); + if(ret != 0) { + return EIO; + } + + return service_pong(message, sconn); +} + static void pam_shutdown(struct resp_ctx *ctx); static int service_reload(DBusMessage *message, struct sbus_conn_ctx *sconn) { -- cgit