summaryrefslogtreecommitdiffstats
path: root/src/responder/pam/pam_LOCAL_domain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/responder/pam/pam_LOCAL_domain.c')
-rw-r--r--src/responder/pam/pam_LOCAL_domain.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/responder/pam/pam_LOCAL_domain.c b/src/responder/pam/pam_LOCAL_domain.c
index a903fea9b..72ea61e85 100644
--- a/src/responder/pam/pam_LOCAL_domain.c
+++ b/src/responder/pam/pam_LOCAL_domain.c
@@ -49,6 +49,7 @@
struct LOCAL_request {
struct tevent_context *ev;
struct sysdb_ctx *dbctx;
+ struct sss_domain_info *domain;
struct sysdb_attrs *mod_attrs;
struct ldb_result *res;
@@ -86,7 +87,8 @@ static void do_successful_login(struct LOCAL_request *lreq)
NEQ_CHECK_OR_JUMP(ret, EOK, ("sysdb_attrs_add_long failed.\n"),
lreq->error, ret, done);
- ret = sysdb_set_user_attr(lreq->dbctx, lreq->preq->pd->user,
+ ret = sysdb_set_user_attr(lreq->dbctx, lreq->domain,
+ lreq->preq->pd->user,
lreq->mod_attrs, SYSDB_MOD_REP);
NEQ_CHECK_OR_JUMP(ret, EOK, ("sysdb_set_user_attr failed.\n"),
lreq->error, ret, done);
@@ -126,7 +128,8 @@ static void do_failed_login(struct LOCAL_request *lreq)
NEQ_CHECK_OR_JUMP(ret, EOK, ("sysdb_attrs_add_long failed.\n"),
lreq->error, ret, done);
- ret = sysdb_set_user_attr(lreq->dbctx, lreq->preq->pd->user,
+ ret = sysdb_set_user_attr(lreq->dbctx, lreq->domain,
+ lreq->preq->pd->user,
lreq->mod_attrs, SYSDB_MOD_REP);
NEQ_CHECK_OR_JUMP(ret, EOK, ("sysdb_set_user_attr failed.\n"),
lreq->error, ret, done);
@@ -194,7 +197,8 @@ static void do_pam_chauthtok(struct LOCAL_request *lreq)
NEQ_CHECK_OR_JUMP(ret, EOK, ("sysdb_attrs_add_long failed.\n"),
lreq->error, ret, done);
- ret = sysdb_set_user_attr(lreq->dbctx, lreq->preq->pd->user,
+ ret = sysdb_set_user_attr(lreq->dbctx, lreq->domain,
+ lreq->preq->pd->user,
lreq->mod_attrs, SYSDB_MOD_REP);
NEQ_CHECK_OR_JUMP(ret, EOK, ("sysdb_set_user_attr failed.\n"),
lreq->error, ret, done);
@@ -238,6 +242,7 @@ int LOCAL_pam_handler(struct pam_auth_req *preq)
talloc_free(lreq);
return ENOENT;
}
+ lreq->domain = preq->domain;
lreq->ev = preq->cctx->ev;
lreq->preq = preq;