mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[ADVAPI32]
Remove ADVAPI_GetComputerSid because it is not used any more. svn path=/trunk/; revision=57670
This commit is contained in:
parent
29ac848726
commit
e9d11b2672
2 changed files with 0 additions and 65 deletions
|
@ -57,10 +57,6 @@
|
|||
#define FN_PROGRESSA FN_PROGRESS
|
||||
#endif
|
||||
|
||||
/* sid.c */
|
||||
|
||||
BOOL ADVAPI_GetComputerSid(PSID sid);
|
||||
|
||||
/* rpc.c */
|
||||
|
||||
RPC_STATUS EvtBindRpc(LPCWSTR pszMachine,
|
||||
|
|
|
@ -299,67 +299,6 @@ static __inline BOOL set_ntstatus( NTSTATUS status )
|
|||
return !status;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
* ADVAPI_GetComputerSid
|
||||
*
|
||||
* Reads the computer SID from the registry.
|
||||
*/
|
||||
BOOL ADVAPI_GetComputerSid(PSID sid)
|
||||
{
|
||||
HKEY key;
|
||||
LONG ret;
|
||||
BOOL retval = FALSE;
|
||||
static const WCHAR Account[] = { 'S','E','C','U','R','I','T','Y','\\','S','A','M','\\','D','o','m','a','i','n','s','\\','A','c','c','o','u','n','t',0 };
|
||||
static const WCHAR V[] = { 'V',0 };
|
||||
|
||||
if ((ret = RegOpenKeyExW(HKEY_LOCAL_MACHINE, Account, 0,
|
||||
KEY_READ, &key)) == ERROR_SUCCESS)
|
||||
{
|
||||
DWORD size = 0;
|
||||
ret = RegQueryValueExW(key, V, NULL, NULL, NULL, &size);
|
||||
if (ret == ERROR_MORE_DATA || ret == ERROR_SUCCESS)
|
||||
{
|
||||
BYTE * data = HeapAlloc(GetProcessHeap(), 0, size);
|
||||
if (data)
|
||||
{
|
||||
if ((ret = RegQueryValueExW(key, V, NULL, NULL,
|
||||
data, &size)) == ERROR_SUCCESS)
|
||||
{
|
||||
/* the SID is in the last 24 bytes of the binary data */
|
||||
CopyMemory(sid, &data[size-24], 24);
|
||||
retval = TRUE;
|
||||
}
|
||||
HeapFree(GetProcessHeap(), 0, data);
|
||||
}
|
||||
}
|
||||
RegCloseKey(key);
|
||||
}
|
||||
|
||||
if(retval == TRUE) return retval;
|
||||
|
||||
/* create a new random SID */
|
||||
if (RegCreateKeyExW(HKEY_LOCAL_MACHINE, Account,
|
||||
0, NULL, 0, KEY_ALL_ACCESS, NULL, &key, NULL) == ERROR_SUCCESS)
|
||||
{
|
||||
PSID new_sid;
|
||||
SID_IDENTIFIER_AUTHORITY identifierAuthority = {SECURITY_NT_AUTHORITY};
|
||||
DWORD id[3];
|
||||
|
||||
if (RtlGenRandom(id, sizeof(id)))
|
||||
{
|
||||
if (AllocateAndInitializeSid(&identifierAuthority, 4, SECURITY_NT_NON_UNIQUE, id[0], id[1], id[2], 0, 0, 0, 0, &new_sid))
|
||||
{
|
||||
if (RegSetValueExW(key, V, 0, REG_BINARY, new_sid, GetLengthSid(new_sid)) == ERROR_SUCCESS)
|
||||
retval = CopySid(GetLengthSid(new_sid), sid, new_sid);
|
||||
|
||||
FreeSid(new_sid);
|
||||
}
|
||||
}
|
||||
RegCloseKey(key);
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
/* Exported functions */
|
||||
|
||||
|
|
Loading…
Reference in a new issue