diff options
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/sss_nss.c | 17 |
1 files changed, 17 insertions, 0 deletions
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 " |