URL: https://github.com/SSSD/sssd/pull/177 Author: reguero Title: #177: first letter of user name template for override_homedir Action: synchronized
To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/177/head:pr177 git checkout pr177
From 3dc95acc860d992eb959bf95d430b51014f7dd17 Mon Sep 17 00:00:00 2001 From: Ignacio Reguero <ignacio.regu...@cern.ch> Date: Thu, 2 Mar 2017 14:51:00 +0100 Subject: [PATCH 1/2] first letter of user name template for override_homedir --- src/man/include/override_homedir.xml | 4 ++++ src/util/sss_nss.c | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/man/include/override_homedir.xml b/src/man/include/override_homedir.xml index 61de52e..803cd19 100644 --- a/src/man/include/override_homedir.xml +++ b/src/man/include/override_homedir.xml @@ -24,6 +24,10 @@ <listitem><para>fully qualified user name (user@domain)</para></listitem> </varlistentry> <varlistentry> + <term>%l</term> + <listitem><para>The first letter of the login name.</para></listitem> + </varlistentry> + <varlistentry> <term>%P</term> <listitem><para>UPN - User Principal Name (name@REALM)</para></listitem> </varlistentry> diff --git a/src/util/sss_nss.c b/src/util/sss_nss.c index d1ad543..a11ac83 100644 --- a/src/util/sss_nss.c +++ b/src/util/sss_nss.c @@ -88,6 +88,24 @@ 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; + } + + username[1] = '\0'; + result = talloc_asprintf_append(result, "%s%s", p, username); + talloc_free(username); + break; + case 'U': if (homedir_ctx->uid == 0) { DEBUG(SSSDBG_CRIT_FAILURE, "Cannot expand uid template " From 808efae036349e96c82f205172e4ecc615e3623c Mon Sep 17 00:00:00 2001 From: Ignacio Reguero <ignacio.regu...@cern.ch> Date: Mon, 6 Mar 2017 12:35:56 +0100 Subject: [PATCH 2/2] avoid setting null in username[1] as suggested by lslebodn --- src/util/sss_nss.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/util/sss_nss.c b/src/util/sss_nss.c index a11ac83..cf91a2c 100644 --- a/src/util/sss_nss.c +++ b/src/util/sss_nss.c @@ -101,8 +101,7 @@ char *expand_homedir_template(TALLOC_CTX *mem_ctx, goto done; } - username[1] = '\0'; - result = talloc_asprintf_append(result, "%s%s", p, username); + result = talloc_asprintf_append(result, "%s%c", p, username[0]); talloc_free(username); break;
_______________________________________________ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org