summaryrefslogtreecommitdiffstats
path: root/src/responder/nss/nsssrv_cmd.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2010-09-22 16:47:06 -0400
committerStephen Gallagher <sgallagh@redhat.com>2010-10-13 09:49:37 -0400
commitef39c0adcb61b16f9edc7beb4cdc8f3b0d5a8f15 (patch)
treefd913c63d5dfe688a6d0e408af31695b874f608b /src/responder/nss/nsssrv_cmd.c
parent88a9c6a44b474bff0f7e22f9eb28a9e55df2c0b5 (diff)
downloadsssd-ef39c0adcb61b16f9edc7beb4cdc8f3b0d5a8f15.tar.gz
sssd-ef39c0adcb61b16f9edc7beb4cdc8f3b0d5a8f15.tar.xz
sssd-ef39c0adcb61b16f9edc7beb4cdc8f3b0d5a8f15.zip
Add netgroup support to the NSS responder
Diffstat (limited to 'src/responder/nss/nsssrv_cmd.c')
-rw-r--r--src/responder/nss/nsssrv_cmd.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c
index 6e1dc7bb3..d0db2ef86 100644
--- a/src/responder/nss/nsssrv_cmd.c
+++ b/src/responder/nss/nsssrv_cmd.c
@@ -22,6 +22,7 @@
#include "util/util.h"
#include "responder/nss/nsssrv.h"
#include "responder/nss/nsssrv_private.h"
+#include "responder/nss/nsssrv_netgroup.h"
#include "responder/common/negcache.h"
#include "confdb/confdb.h"
#include "db/sysdb.h"
@@ -363,8 +364,11 @@ errno_t check_cache(struct nss_dom_ctx *dctx,
struct cli_ctx *cctx = cmdctx->cctx;
bool off_band_update = false;
- /* when searching for a user, more than one reply is a db error */
- if ((req_type == SSS_DP_USER) && (res->count > 1)) {
+ /* when searching for a user or netgroup, more than one reply is a
+ * db error
+ */
+ if ((req_type == SSS_DP_USER || req_type == SSS_DP_NETGR) &&
+ (res->count > 1)) {
DEBUG(1, ("getpwXXX call returned more than one result!"
" DB Corrupted?\n"));
ret = nss_cmd_send_error(cmdctx, ENOENT);
@@ -3011,6 +3015,9 @@ static struct sss_cmd_table nss_cmds[] = {
{SSS_NSS_GETGRENT, nss_cmd_getgrent},
{SSS_NSS_ENDGRENT, nss_cmd_endgrent},
{SSS_NSS_INITGR, nss_cmd_initgroups},
+ {SSS_NSS_SETNETGRENT, nss_cmd_setnetgrent},
+ {SSS_NSS_GETNETGRENT, nss_cmd_getnetgrent},
+ {SSS_NSS_ENDNETGRENT, nss_cmd_endnetgrent},
{SSS_CLI_NULL, NULL}
};