Aric Stewart : advapi32: Handle well qualified names in LookupAccountNameW for account names.
Alexandre Julliard
julliard at winehq.org
Tue May 19 09:23:07 CDT 2009
Module: wine
Branch: master
Commit: fe30b79d72fbb51b1789be0792df6615ec4166a0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe30b79d72fbb51b1789be0792df6615ec4166a0
Author: Aric Stewart <aric at codeweavers.com>
Date: Mon May 18 14:47:36 2009 -0500
advapi32: Handle well qualified names in LookupAccountNameW for account names.
---
dlls/advapi32/security.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 65e68ff..efe34f4 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -2753,13 +2753,23 @@ BOOL WINAPI LookupAccountNameW( LPCWSTR lpSystemName, LPCWSTR lpAccountName, PSI
userName = HeapAlloc(GetProcessHeap(), 0, nameLen*sizeof(WCHAR));
- if (GetUserNameW(userName, &nameLen) && !strcmpW(lpAccountName, userName))
+ if (lpDomainNamePtr)
+ {
+ /* check to make sure this account is on this computer */
+ if (GetComputerNameW(userName, &nameLen) && strcmpW(lpDomainNamePtr, userName))
+ {
+ SetLastError(ERROR_NONE_MAPPED);
+ ret = FALSE;
+ }
+ }
+
+ if (GetUserNameW(userName, &nameLen) && !strcmpW(lpAccountNamePtr, userName))
ret = lookup_user_account_name(Sid, cbSid, ReferencedDomainName,
cchReferencedDomainName, peUse);
else
{
nameLen = UNLEN + 1;
- if (GetComputerNameW(userName, &nameLen) && !strcmpW(lpAccountName, userName))
+ if (GetComputerNameW(userName, &nameLen) && !strcmpW(lpAccountNamePtr, userName))
ret = lookup_computer_account_name(Sid, cbSid, ReferencedDomainName,
cchReferencedDomainName, peUse);
else
More information about the wine-cvs
mailing list