* uinfo.cc (cygheap_user::env_domain): Use LookupAccountSidW and
convert user and domain to multibyte strings to make sure to use correct codeset.
This commit is contained in:
parent
5f660ecf24
commit
91d3057085
@ -1,3 +1,9 @@
|
|||||||
|
2011-03-29 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* uinfo.cc (cygheap_user::env_domain): Use LookupAccountSidW and
|
||||||
|
convert user and domain to multibyte strings to make sure to use
|
||||||
|
correct codeset.
|
||||||
|
|
||||||
2011-03-29 Corinna Vinschen <corinna@vinschen.de>
|
2011-03-29 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* autoload.cc (UuidCreate): Remove.
|
* autoload.cc (UuidCreate): Remove.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* uinfo.cc: user info (uid, gid, etc...)
|
/* uinfo.cc: user info (uid, gid, etc...)
|
||||||
|
|
||||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
||||||
2006, 2007, 2008 Red Hat, Inc.
|
2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
|
||||||
|
|
||||||
This file is part of Cygwin.
|
This file is part of Cygwin.
|
||||||
|
|
||||||
@ -382,21 +382,21 @@ cygheap_user::env_domain (const char *name, size_t namelen)
|
|||||||
if (pwinname && test_uid (pdomain, name, namelen))
|
if (pwinname && test_uid (pdomain, name, namelen))
|
||||||
return pdomain;
|
return pdomain;
|
||||||
|
|
||||||
char username[UNLEN + 1];
|
DWORD ulen = UNLEN + 1;
|
||||||
DWORD ulen = sizeof (username);
|
WCHAR username[ulen];
|
||||||
char userdomain[DNLEN + 1];
|
DWORD dlen = DNLEN + 1;
|
||||||
DWORD dlen = sizeof (userdomain);
|
WCHAR userdomain[dlen];
|
||||||
SID_NAME_USE use;
|
SID_NAME_USE use;
|
||||||
|
|
||||||
cfree_and_set (pwinname, almost_null);
|
cfree_and_set (pwinname, almost_null);
|
||||||
cfree_and_set (pdomain, almost_null);
|
cfree_and_set (pdomain, almost_null);
|
||||||
if (!LookupAccountSid (NULL, sid (), username, &ulen,
|
if (!LookupAccountSidW (NULL, sid (), username, &ulen,
|
||||||
userdomain, &dlen, &use))
|
userdomain, &dlen, &use))
|
||||||
__seterrno ();
|
__seterrno ();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pwinname = cstrdup (username);
|
sys_wcstombs_alloc (&pwinname, HEAP_STR, username);
|
||||||
pdomain = cstrdup (userdomain);
|
sys_wcstombs_alloc (&pdomain, HEAP_STR, userdomain);
|
||||||
}
|
}
|
||||||
return pdomain;
|
return pdomain;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user