diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2013-04-04 13:03:23 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-04-10 13:38:44 +0200 |
commit | 6fc4702a3037d9bb5b27bcb58f70edf1802b7b19 (patch) | |
tree | e0470eba6e749d3b5d10dabf98d1acfdce89007c /src/util | |
parent | 591b0325f5d6f70ae71e61a8c563b437acfb1884 (diff) | |
download | sssd-6fc4702a3037d9bb5b27bcb58f70edf1802b7b19.tar.gz sssd-6fc4702a3037d9bb5b27bcb58f70edf1802b7b19.tar.xz sssd-6fc4702a3037d9bb5b27bcb58f70edf1802b7b19.zip |
Allow using flatname for subdomain home dir template
https://fedorahosted.org/sssd/ticket/1609
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/sss_nss.c | 14 | ||||
-rw-r--r-- | src/util/sss_nss.h | 3 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/util/sss_nss.c b/src/util/sss_nss.c index ac36a9ba6..2b7338329 100644 --- a/src/util/sss_nss.c +++ b/src/util/sss_nss.c @@ -24,7 +24,8 @@ char *expand_homedir_template(TALLOC_CTX *mem_ctx, const char *template, const char *username, uint32_t uid, - const char *original, const char *domain) + const char *original, const char *domain, + const char *flatname) { char *copy; char *p; @@ -105,6 +106,7 @@ char *expand_homedir_template(TALLOC_CTX *mem_ctx, const char *template, result = talloc_asprintf_append(result, "%s%s@%s", p, username, domain); break; + case 'o': if (original == NULL) { DEBUG(SSSDBG_CRIT_FAILURE, @@ -117,6 +119,16 @@ char *expand_homedir_template(TALLOC_CTX *mem_ctx, const char *template, result = talloc_asprintf_append(result, "%s%s", p, orig); break; + case 'F': + if (flatname == NULL) { + DEBUG(SSSDBG_CRIT_FAILURE, ("Cannot expand domain name " + "template because domain flat " + "name is empty.\n")); + goto done; + } + result = talloc_asprintf_append(result, "%s%s", p, flatname); + break; + case '%': result = talloc_asprintf_append(result, "%s%%", p); break; diff --git a/src/util/sss_nss.h b/src/util/sss_nss.h index 0520035fd..6dcdbaef3 100644 --- a/src/util/sss_nss.h +++ b/src/util/sss_nss.h @@ -27,5 +27,6 @@ char *expand_homedir_template(TALLOC_CTX *mem_ctx, const char *template, const char *username, uint32_t uid, - const char *original, const char *domain); + const char *original, const char *domain, + const char *flatname); #endif |