Cygwin: load_user_profile: Don't give primary domain to ldap
If the user domain is the primary domain, LDAP is supposed to use the default naming context. This is accomplished by setting domain name to NULL in the call to cyg_ldap::fetch_ad_account. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
6c86b85f4e
commit
4abac62193
|
@ -285,9 +285,7 @@ load_user_profile (HANDLE token, struct passwd *pw, cygpsid &usersid)
|
||||||
PCWSTR dnsdomain = NULL;
|
PCWSTR dnsdomain = NULL;
|
||||||
|
|
||||||
debug_printf ("primary domain <%W>", cygheap->dom.primary_flat_name ());
|
debug_printf ("primary domain <%W>", cygheap->dom.primary_flat_name ());
|
||||||
if (!wcscasecmp (domain, cygheap->dom.primary_flat_name ()))
|
if (wcscasecmp (domain, cygheap->dom.primary_flat_name ()))
|
||||||
dnsdomain = cygheap->dom.primary_dns_name ();
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
PDS_DOMAIN_TRUSTSW td = NULL;
|
PDS_DOMAIN_TRUSTSW td = NULL;
|
||||||
|
|
||||||
|
@ -301,21 +299,16 @@ load_user_profile (HANDLE token, struct passwd *pw, cygpsid &usersid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dnsdomain)
|
if (cldap.fetch_ad_account (usersid, false, dnsdomain))
|
||||||
{
|
{
|
||||||
if (cldap.fetch_ad_account (usersid, false, dnsdomain))
|
PWCHAR val = cldap.get_profile_path ();
|
||||||
|
if (val && *val)
|
||||||
{
|
{
|
||||||
PWCHAR val = cldap.get_profile_path ();
|
wcsncpy (userpath, val, MAX_PATH - 1);
|
||||||
if (val && *val)
|
userpath[MAX_PATH - 1] = L'\0';
|
||||||
{
|
pi.lpProfilePath = userpath;
|
||||||
wcsncpy (userpath, val, MAX_PATH - 1);
|
|
||||||
userpath[MAX_PATH - 1] = L'\0';
|
|
||||||
pi.lpProfilePath = userpath;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
debug_printf ("Unknown domain <%W>?", domain);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!LoadUserProfileW (token, &pi))
|
if (!LoadUserProfileW (token, &pi))
|
||||||
|
|
Loading…
Reference in New Issue