From 7f97e6098503a4426dbeeb773b48f27041440be2 Mon Sep 17 00:00:00 2001 From: Ignacio Reguero Date: Thu, 2 Mar 2017 14:51:00 +0100 Subject: UTIL: first letter of user name template for override_homedir MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves: https://pagure.io/SSSD/sssd/issue/2668 Reviewed-by: Lukáš Slebodník --- src/man/include/override_homedir.xml | 4 ++++ src/util/sss_nss.c | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/man/include/override_homedir.xml b/src/man/include/override_homedir.xml index 61de52e00..803cd1980 100644 --- a/src/man/include/override_homedir.xml +++ b/src/man/include/override_homedir.xml @@ -23,6 +23,10 @@ %f fully qualified user name (user@domain) + + %l + The first letter of the login name. + %P UPN - User Principal Name (name@REALM) diff --git a/src/util/sss_nss.c b/src/util/sss_nss.c index d1ad5433f..cf91a2c53 100644 --- a/src/util/sss_nss.c +++ b/src/util/sss_nss.c @@ -88,6 +88,23 @@ char *expand_homedir_template(TALLOC_CTX *mem_ctx, talloc_free(username); break; + case 'l': + if (homedir_ctx->username == NULL) { + DEBUG(SSSDBG_CRIT_FAILURE, + "Cannot expand first letter of user name template " + "because user name is empty.\n"); + goto done; + } + username = sss_output_name(tmp_ctx, homedir_ctx->username, + case_sensitive, 0); + if (username == NULL) { + goto done; + } + + result = talloc_asprintf_append(result, "%s%c", p, username[0]); + talloc_free(username); + break; + case 'U': if (homedir_ctx->uid == 0) { DEBUG(SSSDBG_CRIT_FAILURE, "Cannot expand uid template " -- cgit