summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2014-03-03 12:40:43 +0100
committerSumit Bose <sbose@redhat.com>2014-03-03 12:40:43 +0100
commit21b362dab520d9e6f3919dc5bdf846ac52799982 (patch)
tree6e61169c8020ae7834183c3c9ab1c409a26ec161
parent5e070d2cb10325563a3de12eaa846710de34d3ef (diff)
downloadsssd-21b362dab520d9e6f3919dc5bdf846ac52799982.tar.gz
sssd-21b362dab520d9e6f3919dc5bdf846ac52799982.tar.xz
sssd-21b362dab520d9e6f3919dc5bdf846ac52799982.zip
ipa-server-mode: use lower-case user name for home dir
In older IPA server versions where the AD users where looked up by winbind the user name component of the home directory path was always lower case. This still holds for IPA clients as well. To avoid regression this patch makes the user name component lower case as well.
-rw-r--r--src/providers/ipa/ipa_subdomains_id.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/providers/ipa/ipa_subdomains_id.c b/src/providers/ipa/ipa_subdomains_id.c
index 84ea85385..0adf80606 100644
--- a/src/providers/ipa/ipa_subdomains_id.c
+++ b/src/providers/ipa/ipa_subdomains_id.c
@@ -358,6 +358,7 @@ get_subdomain_homedir_of_user(TALLOC_CTX *mem_ctx, struct sss_domain_info *dom,
{
errno_t ret;
char *name;
+ char *lc_name;
const char *homedir;
TALLOC_CTX *tmp_ctx;
@@ -372,7 +373,15 @@ get_subdomain_homedir_of_user(TALLOC_CTX *mem_ctx, struct sss_domain_info *dom,
goto done;
}
- homedir = expand_homedir_template(tmp_ctx, dom->subdomain_homedir, name,
+ /* To be compatible with the old winbind based user lookups and IPA
+ * clients the user name in the home directory path will be lower-case. */
+ lc_name = sss_tc_utf8_str_tolower(tmp_ctx, name);
+ if (lc_name == NULL) {
+ ret =ENOMEM;
+ goto done;
+ }
+
+ homedir = expand_homedir_template(tmp_ctx, dom->subdomain_homedir, lc_name,
uid, NULL, dom->name, dom->flat_name);
if (homedir == NULL) {