From 1e13ce7e631f8e5ab0de0b5d1abaa6496259a552 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Sat, 4 Apr 2009 12:24:45 -0400 Subject: Use info in the domain entry to determine action. This way LOCAL domains backed by files works as expected too. Tested with nss_files + pam_unix --- server/responder/pam/pamsrv_cmd.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'server') diff --git a/server/responder/pam/pamsrv_cmd.c b/server/responder/pam/pamsrv_cmd.c index 06a230b65..69f198c62 100644 --- a/server/responder/pam/pamsrv_cmd.c +++ b/server/responder/pam/pamsrv_cmd.c @@ -194,6 +194,7 @@ done: static int pam_forwarder(struct cli_ctx *cctx, int pam_cmd) { + struct sss_domain_info *info; uint8_t *body; size_t blen; int ret; @@ -229,7 +230,17 @@ static int pam_forwarder(struct cli_ctx *cctx, int pam_cmd) DEBUG(4, ("Using default domain [%s].\n", pd->domain)); } - if ( strncasecmp(pd->domain,"LOCAL",5) == 0 ) { + if (pd->domain) { + /* Check for registered domain */ + info = btreemap_get_value(cctx->rctx->domain_map, + (void *)(pd->domain)); + if (!info) { + talloc_free(pd); + return EINVAL; + } + } + + if (!info->provider) { return LOCAL_pam_handler(cctx, pam_reply, pd); }; -- cgit