diff options
Diffstat (limited to 'src/providers/ipa/ipa_s2n_exop.c')
-rw-r--r-- | src/providers/ipa/ipa_s2n_exop.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/providers/ipa/ipa_s2n_exop.c b/src/providers/ipa/ipa_s2n_exop.c index a96304d4..004cdab6 100644 --- a/src/providers/ipa/ipa_s2n_exop.c +++ b/src/providers/ipa/ipa_s2n_exop.c @@ -612,19 +612,21 @@ static void ipa_s2n_get_user_done(struct tevent_req *subreq) } now = time(NULL); - if (state->dom->subdomain_homedir) { - homedir = expand_homedir_template(state, state->dom->subdomain_homedir, - attrs->a.user.pw_name, - attrs->a.user.pw_uid, - state->dom->name); - if (homedir == NULL) { - ret = ENOMEM; - goto done; - } - } switch (attrs->response_type) { case RESP_USER: + if (state->dom->subdomain_homedir) { + homedir = expand_homedir_template(state, + state->dom->subdomain_homedir, + attrs->a.user.pw_name, + attrs->a.user.pw_uid, + state->dom->name); + if (homedir == NULL) { + ret = ENOMEM; + goto done; + } + } + ret = sysdb_store_domuser(state->dom, attrs->a.user.pw_name, NULL, attrs->a.user.pw_uid, 0, NULL, /* gecos */ |