mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 10:41:12 +00:00
Make LsaOpenPolicy return success.
This commit is contained in:
parent
b90930310c
commit
26a776e9f8
1 changed files with 39 additions and 1 deletions
|
@ -49,6 +49,42 @@ static void dumpLsaAttributes( PLSA_OBJECT_ATTRIBUTES oa )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
* ADVAPI_IsLocalComputer
|
||||||
|
*
|
||||||
|
* Checks whether the server name indicates local machine.
|
||||||
|
*/
|
||||||
|
BOOL ADVAPI_IsLocalComputer(LPCWSTR ServerName)
|
||||||
|
{
|
||||||
|
if (!ServerName)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DWORD dwSize = MAX_COMPUTERNAME_LENGTH + 1;
|
||||||
|
BOOL Result;
|
||||||
|
LPWSTR buf;
|
||||||
|
|
||||||
|
buf = HeapAlloc(GetProcessHeap(), 0, dwSize * sizeof(WCHAR));
|
||||||
|
Result = GetComputerNameW(buf, &dwSize);
|
||||||
|
if (Result && (ServerName[0] == '\\') && (ServerName[1] == '\\'))
|
||||||
|
ServerName += 2;
|
||||||
|
Result = Result && !lstrcmpW(ServerName, buf);
|
||||||
|
HeapFree(GetProcessHeap(), 0, buf);
|
||||||
|
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#define ADVAPI_ForceLocalComputer(ServerName, FailureCode) \
|
||||||
|
if (!ADVAPI_IsLocalComputer(ServerName)) \
|
||||||
|
{ \
|
||||||
|
FIXME("Action Implemented for local computer only. " \
|
||||||
|
"Requested for server %s\n", debugstr_w(ServerName)); \
|
||||||
|
return FailureCode; \
|
||||||
|
}
|
||||||
|
|
||||||
/* ##############################
|
/* ##############################
|
||||||
###### TOKEN FUNCTIONS ######
|
###### TOKEN FUNCTIONS ######
|
||||||
##############################
|
##############################
|
||||||
|
@ -802,9 +838,11 @@ LsaOpenPolicy(
|
||||||
FIXME("(%s,%p,0x%08lx,%p):stub\n",
|
FIXME("(%s,%p,0x%08lx,%p):stub\n",
|
||||||
SystemName?debugstr_w(SystemName->Buffer):"null",
|
SystemName?debugstr_w(SystemName->Buffer):"null",
|
||||||
ObjectAttributes, DesiredAccess, PolicyHandle);
|
ObjectAttributes, DesiredAccess, PolicyHandle);
|
||||||
|
ADVAPI_ForceLocalComputer(SystemName ? SystemName->Buffer : NULL,
|
||||||
|
STATUS_ACCESS_VIOLATION);
|
||||||
dumpLsaAttributes(ObjectAttributes);
|
dumpLsaAttributes(ObjectAttributes);
|
||||||
if(PolicyHandle) *PolicyHandle = (LSA_HANDLE)0xcafe;
|
if(PolicyHandle) *PolicyHandle = (LSA_HANDLE)0xcafe;
|
||||||
return TRUE;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
|
|
Loading…
Reference in a new issue