From adf9c23d663c308cfeeaa5ad0a33c399c85b27ec Mon Sep 17 00:00:00 2001 From: Pavel Reichl Date: Tue, 23 Sep 2014 09:41:38 +0100 Subject: NSS: UPN as a template expansion for homedir mappings Fixes: https://fedorahosted.org/sssd/ticket/2340 Reviewed-by: Jakub Hrozek --- src/util/sss_nss.c | 11 +++++++++++ src/util/sss_nss.h | 1 + 2 files changed, 12 insertions(+) (limited to 'src/util') diff --git a/src/util/sss_nss.c b/src/util/sss_nss.c index 8cc1416d7..208b57842 100644 --- a/src/util/sss_nss.c +++ b/src/util/sss_nss.c @@ -147,6 +147,17 @@ char *expand_homedir_template(TALLOC_CTX *mem_ctx, const char *template, homedir_ctx->config_homedir_substr); break; + case 'P': + if (homedir_ctx->upn == NULL) { + DEBUG(SSSDBG_CRIT_FAILURE, + "Cannot expand user principal name template " + "string is empty.\n"); + goto done; + } + result = talloc_asprintf_append(result, "%s%s", p, + homedir_ctx->upn); + 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 19bf26589..30359fc7c 100644 --- a/src/util/sss_nss.h +++ b/src/util/sss_nss.h @@ -32,6 +32,7 @@ struct sss_nss_homedir_ctx { const char *domain; const char *flatname; const char *config_homedir_substr; + const char *upn; }; char *expand_homedir_template(TALLOC_CTX *mem_ctx, const char *template, -- cgit