summaryrefslogtreecommitdiffstats
path: root/src/providers/ipa/ipa_s2n_exop.c
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2013-12-02 13:03:33 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-06-02 19:07:57 +0200
commit5cd660aaa885bca95ac3dca660bb77e5786d5f8e (patch)
tree6450720de4fdbf7a26465c65c2ccc395fbb9b64e /src/providers/ipa/ipa_s2n_exop.c
parentbe7eabee6b7eb8def2441bf5de4c6d4950c155bf (diff)
downloadsssd-5cd660aaa885bca95ac3dca660bb77e5786d5f8e.tar.gz
sssd-5cd660aaa885bca95ac3dca660bb77e5786d5f8e.tar.xz
sssd-5cd660aaa885bca95ac3dca660bb77e5786d5f8e.zip
NSS: Refactor expand_homedir_template
Function expand_homedir_template had lot of parameters. After adding new expand option, all function call should be rewritten, (usually argument NULL will be added) This patch wraps all necessary arguments to structure.
Diffstat (limited to 'src/providers/ipa/ipa_s2n_exop.c')
-rw-r--r--src/providers/ipa/ipa_s2n_exop.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/providers/ipa/ipa_s2n_exop.c b/src/providers/ipa/ipa_s2n_exop.c
index 59a99061a..82beb3658 100644
--- a/src/providers/ipa/ipa_s2n_exop.c
+++ b/src/providers/ipa/ipa_s2n_exop.c
@@ -648,6 +648,7 @@ static void ipa_s2n_get_user_done(struct tevent_req *subreq)
struct resp_attrs *simple_attrs = NULL;
time_t now;
uint64_t timeout = 10*60*60; /* FIXME: find a better timeout ! */
+ struct sss_nss_homedir_ctx homedir_ctx;
const char *homedir = NULL;
struct sysdb_attrs *user_attrs = NULL;
struct sysdb_attrs *group_attrs = NULL;
@@ -738,13 +739,15 @@ static void ipa_s2n_get_user_done(struct tevent_req *subreq)
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,
- NULL,
- state->dom->name,
- state->dom->flat_name);
+ ZERO_STRUCT(homedir_ctx);
+ homedir_ctx.username = attrs->a.user.pw_name;
+ homedir_ctx.uid = attrs->a.user.pw_uid;
+ homedir_ctx.domain = state->dom->name;
+ homedir_ctx.flatname = state->dom->flat_name;
+
+ homedir = expand_homedir_template(state,
+ state->dom->subdomain_homedir,
+ &homedir_ctx);
if (homedir == NULL) {
ret = ENOMEM;
goto done;