summaryrefslogtreecommitdiffstats
path: root/src/responder/nss/nsssrv_cmd.c
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2013-12-02 14:19:09 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-06-02 19:07:57 +0200
commitae0a5011e2644eaa482ea1b9e1451eff05c676b9 (patch)
tree5bd7d3a18835317192c9a05eeae6b3234104a489 /src/responder/nss/nsssrv_cmd.c
parent5cd660aaa885bca95ac3dca660bb77e5786d5f8e (diff)
downloadsssd-ae0a5011e2644eaa482ea1b9e1451eff05c676b9.tar.gz
sssd-ae0a5011e2644eaa482ea1b9e1451eff05c676b9.tar.xz
sssd-ae0a5011e2644eaa482ea1b9e1451eff05c676b9.zip
NSS: Add option to expand homedir template format
LDAP server can contain template for home directory instead of plain string. This patch adds new expand option "%H", which will be replaced with value from configuration option homedir_substring (from sssd.conf) Resolves: https://fedorahosted.org/sssd/ticket/1853
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 b47a1ded5..a168a3e5d 100644
--- a/src/responder/nss/nsssrv_cmd.c
+++ b/src/responder/nss/nsssrv_cmd.c
@@ -190,6 +190,13 @@ static const char *get_homedir_override(TALLOC_CTX *mem_ctx,
return NULL;
}
+ /* Check to see which homedir_prefix to use. */
+ if (dom->homedir_substr != NULL) {
+ homedir_ctx->config_homedir_substr = dom->homedir_substr;
+ } else if (nctx->homedir_substr != NULL) {
+ homedir_ctx->config_homedir_substr = nctx->homedir_substr;
+ }
+
/* Check whether we are unconditionally overriding the server
* for home directory locations.
*/
@@ -214,8 +221,8 @@ static const char *get_homedir_override(TALLOC_CTX *mem_ctx,
}
}
- /* Return the value we got from the provider */
- return talloc_strdup(mem_ctx, homedir);
+ /* Provider can also return template, try to expand it.*/
+ return expand_homedir_template(mem_ctx, homedir, homedir_ctx);
}
static const char *get_shell_override(TALLOC_CTX *mem_ctx,