mirror of
https://github.com/reactos/reactos.git
synced 2025-05-31 23:18:39 +00:00
- added stubs for authz.dll
- added an authz.h to w32api svn path=/trunk/; revision=18177
This commit is contained in:
parent
b05492e038
commit
80c03b3f9b
7 changed files with 827 additions and 0 deletions
420
reactos/lib/authz/authz.c
Normal file
420
reactos/lib/authz/authz.c
Normal file
|
@ -0,0 +1,420 @@
|
||||||
|
/*
|
||||||
|
* ReactOS Authorization Framework
|
||||||
|
* Copyright (C) 2005 ReactOS Team
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
/* $Id: aclui.c 18173 2005-09-30 18:54:48Z weiden $
|
||||||
|
*
|
||||||
|
* PROJECT: ReactOS Authorization Framework
|
||||||
|
* FILE: lib/authz/authz.c
|
||||||
|
* PURPOSE: Authorization Framework
|
||||||
|
* PROGRAMMER: Thomas Weidenmueller <w3seek@reactos.com>
|
||||||
|
*
|
||||||
|
* UPDATE HISTORY:
|
||||||
|
* 09/30/2005 Created
|
||||||
|
*/
|
||||||
|
#include <precomp.h>
|
||||||
|
|
||||||
|
HINSTANCE hDllInstance;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzAccessCheck(IN DWORD flags,
|
||||||
|
IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext,
|
||||||
|
IN PAUTHZ_ACCESS_REQUEST pRequest,
|
||||||
|
IN AUTHZ_AUDIT_INFO_HANDLE AuditInfo,
|
||||||
|
IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||||
|
IN PSECURITY_DESCRIPTOR* OptionalSecurityDescriptorArray,
|
||||||
|
IN DWORD OptionalSecurityDescriptorCount OPTIONAL,
|
||||||
|
IN OUT PAUTHZ_ACCESS_REPLY pReply,
|
||||||
|
OUT PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE pAuthzHandle)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzAddSidsToContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE OrigClientContext,
|
||||||
|
IN PSID_AND_ATTRIBUTES Sids,
|
||||||
|
IN DWORD SidCount,
|
||||||
|
IN PSID_AND_ATTRIBUTES RestrictedSids,
|
||||||
|
IN DWORD RestrictedSidCount,
|
||||||
|
OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pNewClientContext)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzCachedAccessCheck(IN DWORD Flags,
|
||||||
|
IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle,
|
||||||
|
IN PAUTHZ_ACCESS_REQUEST pRequest,
|
||||||
|
IN AUTHZ_AUDIT_EVENT_HANDLE AuditInfo,
|
||||||
|
OUT PAUTHZ_ACCESS_REPLY pReply)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzEnumerateSecurityEventSources(IN DWORD dwFlags,
|
||||||
|
OUT PAUTHZ_SOURCE_SCHEMA_REGISTRATION Buffer,
|
||||||
|
OUT PDWORD pdwCount,
|
||||||
|
IN OUT PDWORD pdwLength)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzFreeAuditEvent(IN AUTHZ_AUDIT_EVENT_HANDLE pAuditEventInfo)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzFreeContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzFreeHandle(IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzFreeResourceManager(IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzGetInformationFromContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
|
||||||
|
IN AUTHZ_CONTEXT_INFORMATION_CLASS InfoClass,
|
||||||
|
IN DWORD BufferSize,
|
||||||
|
OUT PDWORD pSizeRequired,
|
||||||
|
OUT PVOID Buffer)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeContextFromAuthzContext(IN DWORD flags,
|
||||||
|
IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzHandle,
|
||||||
|
IN PLARGE_INTEGER ExpirationTime,
|
||||||
|
IN LUID Identifier,
|
||||||
|
IN PVOID DynamicGroupArgs,
|
||||||
|
OUT PAUTHZ_CLIENT_CONTEXT_HANDLE phNewAuthzHandle)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeContextFromSid(IN DWORD Flags,
|
||||||
|
IN PSID UserSid,
|
||||||
|
IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
|
||||||
|
IN PLARGE_INTEGER pExpirationTime,
|
||||||
|
IN LUID Identifier,
|
||||||
|
IN PVOID DynamicGroupArgs,
|
||||||
|
OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeContextFromToken(IN DWORD Flags,
|
||||||
|
IN HANDLE TokenHandle,
|
||||||
|
IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
|
||||||
|
IN PLARGE_INTEGER pExpirationTime,
|
||||||
|
IN LUID Identifier,
|
||||||
|
IN PVOID DynamicGroupArgs,
|
||||||
|
OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeObjectAccessAuditEvent(IN DWORD Flags,
|
||||||
|
IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
|
||||||
|
IN PWSTR szOperationType,
|
||||||
|
IN PWSTR szObjectType,
|
||||||
|
IN PWSTR szObjectName,
|
||||||
|
IN PWSTR szAdditionalInfo,
|
||||||
|
OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
|
||||||
|
IN DWORD dwAdditionalParamCount)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeObjectAccessAuditEvent2(IN DWORD Flags,
|
||||||
|
IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
|
||||||
|
IN PWSTR szOperationType,
|
||||||
|
IN PWSTR szObjectType,
|
||||||
|
IN PWSTR szObjectName,
|
||||||
|
IN PWSTR szAdditionalInfo,
|
||||||
|
IN PWSTR szAdditionalInfo2,
|
||||||
|
OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
|
||||||
|
IN DWORD dwAdditionalParameterCount)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeResourceManager(IN DWORD flags,
|
||||||
|
IN PFN_AUTHZ_DYNAMIC_ACCESS_CHECK pfnAccessCheck,
|
||||||
|
IN PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS pfnComputeDynamicGroups,
|
||||||
|
IN PFN_AUTHZ_FREE_DYNAMIC_GROUPS pfnFreeDynamicGroups,
|
||||||
|
IN PCWSTR ResourceManagerName,
|
||||||
|
IN PAUTHZ_RESOURCE_MANAGER_HANDLE pAuthzResourceManager)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInstallSecurityEventSource(IN DWORD dwFlags,
|
||||||
|
IN PAUTHZ_SOURCE_SCHEMA_REGISTRATION pRegistration)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzOpenObjectAudit(IN DWORD Flags,
|
||||||
|
IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
|
||||||
|
IN PAUTHZ_ACCESS_REQUEST pRequest,
|
||||||
|
IN AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
|
||||||
|
IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||||
|
IN PSECURITY_DESCRIPTOR* SecurityDescriptorArray,
|
||||||
|
IN DWORD SecurityDescriptorCount,
|
||||||
|
OUT PAUTHZ_ACCESS_REPLY pReply)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzRegisterSecurityEventSource(IN DWORD dwFlags,
|
||||||
|
IN PCWSTR szEventSourceName,
|
||||||
|
IN PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzReportSecurityEvent(IN DWORD dwFlags,
|
||||||
|
IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
|
||||||
|
IN DWORD dwAuditId,
|
||||||
|
IN PSID pUserSid OPTIONAL,
|
||||||
|
IN DWORD dwCount,
|
||||||
|
...)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzReportSecurityEventFromParams(IN DWORD dwFlags,
|
||||||
|
IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
|
||||||
|
IN DWORD dwAuditId,
|
||||||
|
IN PSID pUserSid OPTIONAL,
|
||||||
|
IN PAUDIT_PARAMS pParams)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzUninstallSecurityEventSource(IN DWORD dwFlags,
|
||||||
|
IN PWSTR szEventSourceName)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzUnregisterSecurityEventSource(IN DWORD dwFlags,
|
||||||
|
IN OUT PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL STDCALL
|
||||||
|
DllMain(IN HINSTANCE hinstDLL,
|
||||||
|
IN DWORD dwReason,
|
||||||
|
IN LPVOID lpvReserved)
|
||||||
|
{
|
||||||
|
switch (dwReason)
|
||||||
|
{
|
||||||
|
case DLL_PROCESS_ATTACH:
|
||||||
|
hDllInstance = hinstDLL;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DLL_THREAD_ATTACH:
|
||||||
|
case DLL_THREAD_DETACH:
|
||||||
|
case DLL_PROCESS_DETACH:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
46
reactos/lib/authz/authz.def
Normal file
46
reactos/lib/authz/authz.def
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
LIBRARY authz.dll
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
AuthzAccessCheck@36
|
||||||
|
AuthzAddSidsToContext@24
|
||||||
|
AuthzCachedAccessCheck@20
|
||||||
|
AuthzEnumerateSecurityEventSources@16
|
||||||
|
AuthzFreeAuditEvent@4
|
||||||
|
AuthzFreeContext@4
|
||||||
|
AuthzFreeHandle@4
|
||||||
|
AuthzFreeResourceManager@4
|
||||||
|
AuthzGetInformationFromContext@20
|
||||||
|
AuthzInitializeContextFromAuthzContext@28
|
||||||
|
AuthzInitializeContextFromSid@32
|
||||||
|
AuthzInitializeContextFromToken@32
|
||||||
|
AuthzInitializeObjectAccessAuditEvent@32
|
||||||
|
AuthzInitializeObjectAccessAuditEvent2@36
|
||||||
|
AuthzInitializeResourceManager@24
|
||||||
|
AuthzInstallSecurityEventSource@8
|
||||||
|
AuthzOpenObjectAudit@32
|
||||||
|
AuthzRegisterSecurityEventSource@12
|
||||||
|
AuthzReportSecurityEvent@20=AuthzReportSecurityEvent
|
||||||
|
AuthzReportSecurityEventFromParams@20
|
||||||
|
AuthzUninstallSecurityEventSource@8
|
||||||
|
AuthzUnregisterSecurityEventSource@8
|
||||||
|
;AuthziAllocateAuditParams
|
||||||
|
;AuthziFreeAuditEventType
|
||||||
|
;AuthziFreeAuditParams
|
||||||
|
;AuthziFreeAuditQueue
|
||||||
|
;AuthziInitializeAuditEvent
|
||||||
|
;AuthziInitializeAuditEventType
|
||||||
|
;AuthziInitializeAuditParams
|
||||||
|
;AuthziInitializeAuditParamsFromArray
|
||||||
|
;AuthziInitializeAuditParamsWithRM
|
||||||
|
;AuthziInitializeAuditQueue
|
||||||
|
;AuthziInitializeContextFromSid
|
||||||
|
;AuthziLogAuditEvent
|
||||||
|
;AuthziModifyAuditEvent2
|
||||||
|
;AuthziModifyAuditEvent
|
||||||
|
;AuthziModifyAuditEventType
|
||||||
|
;AuthziModifyAuditQueue
|
||||||
|
;AuthziQueryAuditPolicy
|
||||||
|
;AuthziSetAuditPolicy
|
||||||
|
;AuthziSourceAudit
|
||||||
|
|
||||||
|
; EOF
|
10
reactos/lib/authz/authz.rc
Normal file
10
reactos/lib/authz/authz.rc
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#include <windows.h>
|
||||||
|
#include <reactos/resource.h>
|
||||||
|
#include "resource.h"
|
||||||
|
|
||||||
|
#define REACTOS_VERSION_DLL
|
||||||
|
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Authorization Framework\0"
|
||||||
|
#define REACTOS_STR_INTERNAL_NAME "authz\0"
|
||||||
|
#define REACTOS_STR_ORIGINAL_FILENAME "authz.dll\0"
|
||||||
|
#include <reactos/version.rc>
|
||||||
|
|
16
reactos/lib/authz/authz.xml
Normal file
16
reactos/lib/authz/authz.xml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<module name="authz" type="win32dll" baseaddress="${BASEADDRESS_AUTHZ}" installbase="system32" installname="authz.dll">
|
||||||
|
<importlibrary definition="authz.def" />
|
||||||
|
<include base="authz">.</include>
|
||||||
|
<define name="UNICODE" />
|
||||||
|
<define name="_UNICODE" />
|
||||||
|
<define name="__USE_W32API" />
|
||||||
|
<define name="_WIN32_IE">0x0500</define>
|
||||||
|
<define name="_WIN32_WINNT">0x0600</define>
|
||||||
|
<define name="WINVER">0x0600</define>
|
||||||
|
<library>ntdll</library>
|
||||||
|
<library>kernel32</library>
|
||||||
|
<library>advapi32</library>
|
||||||
|
<file>authz.c</file>
|
||||||
|
<file>authz.rc</file>
|
||||||
|
<pch>precomp.h</pch>
|
||||||
|
</module>
|
15
reactos/lib/authz/precomp.h
Normal file
15
reactos/lib/authz/precomp.h
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#define _AUTHZ_
|
||||||
|
#include <windows.h>
|
||||||
|
#include <authz.h>
|
||||||
|
|
||||||
|
ULONG DbgPrint(PCH Format,...);
|
||||||
|
#ifndef DPRINT1
|
||||||
|
#define DPRINT1 DbgPrint
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef UNIMPLEMENTED
|
||||||
|
#define UNIMPLEMENTED DbgPrint("AUTHZ.DLL: %s is UNIMPLEMENTED!\n", __FUNCTION__)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* EOF */
|
|
@ -14,6 +14,9 @@
|
||||||
<directory name="advpack">
|
<directory name="advpack">
|
||||||
<xi:include href="advpack/advpack.xml" />
|
<xi:include href="advpack/advpack.xml" />
|
||||||
</directory>
|
</directory>
|
||||||
|
<directory name="authz">
|
||||||
|
<xi:include href="authz/authz.xml" />
|
||||||
|
</directory>
|
||||||
<directory name="cabinet">
|
<directory name="cabinet">
|
||||||
<xi:include href="cabinet/cabinet.xml" />
|
<xi:include href="cabinet/cabinet.xml" />
|
||||||
</directory>
|
</directory>
|
||||||
|
|
317
reactos/w32api/include/authz.h
Normal file
317
reactos/w32api/include/authz.h
Normal file
|
@ -0,0 +1,317 @@
|
||||||
|
/*
|
||||||
|
* authz.h
|
||||||
|
*
|
||||||
|
* Authorization Framework
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS NOT COPYRIGHTED
|
||||||
|
*
|
||||||
|
* This source code is offered for use in the public domain. You may
|
||||||
|
* use, modify or distribute it freely.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful but
|
||||||
|
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
||||||
|
* DISCLAIMED. This includes but is not limited to warranties of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef __AUTHZ_H
|
||||||
|
#define __AUTHZ_H
|
||||||
|
|
||||||
|
#if !defined(_AUTHZ_)
|
||||||
|
#define AUTHZAPI DECLSPEC_IMPORT
|
||||||
|
#else
|
||||||
|
#define AUTHZAPI DECLSPEC_EXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define AUTHZ_ACCESS_CHECK_NO_DEEP_COPY_SD 0x1
|
||||||
|
|
||||||
|
#define AUTHZ_GENERATE_SUCCESS_AUDIT 0x1
|
||||||
|
#define AUTHZ_GENERATE_FAILURE_AUDIT 0x2
|
||||||
|
|
||||||
|
#define AUTHZ_SKIP_TOKEN_GROUPS 0x2
|
||||||
|
#define AUTHZ_REQUIRE_S4U_LOGON 0x4
|
||||||
|
|
||||||
|
#define AUTHZ_NO_SUCCESS_AUDIT 0x1
|
||||||
|
#define AUTHZ_NO_FAILURE_AUDIT 0x2
|
||||||
|
#define AUTHZ_NO_ALLOC_STRINGS 0x4
|
||||||
|
|
||||||
|
#define AUTHZ_RM_FLAG_NO_AUDIT 0x1
|
||||||
|
#define AUTHZ_RM_FLAG_INITIALIZE_UNDER_IMPERSONATION 0x2
|
||||||
|
|
||||||
|
typedef HANDLE AUTHZ_CLIENT_CONTEXT_HANDLE, *PAUTHZ_CLIENT_CONTEXT_HANDLE;
|
||||||
|
typedef HANDLE AUTHZ_AUDIT_INFO_HANDLE, *PAUTHZ_AUDIT_INFO_HANDLE;
|
||||||
|
typedef HANDLE AUTHZ_AUDIT_EVENT_HANDLE, *PAUTHZ_AUDIT_EVENT_HANDLE;
|
||||||
|
typedef HANDLE AUTHZ_AUDIT_EVENT_TYPE_HANDLE, *PAUTHZ_AUDIT_EVENT_TYPE_HANDLE;
|
||||||
|
typedef HANDLE AUTHZ_ACCESS_CHECK_RESULTS_HANDLE, *PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE;
|
||||||
|
typedef HANDLE AUTHZ_RESOURCE_MANAGER_HANDLE, *PAUTHZ_RESOURCE_MANAGER_HANDLE;
|
||||||
|
typedef HANDLE AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE, *PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE;
|
||||||
|
|
||||||
|
#if !defined(_ADTGEN_H)
|
||||||
|
/* FIXME - AUDIT_PARAMS is defined in adtgen.h!!!!! */
|
||||||
|
typedef PVOID PAUDIT_PARAMS;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef enum _AUTHZ_CONTEXT_INFORMATION_CLASS
|
||||||
|
{
|
||||||
|
AuthzContextInfoUserSid = 1,
|
||||||
|
AuthzContextInfoGroupsSids,
|
||||||
|
AuthzContextInfoRestrictedSids,
|
||||||
|
AuthzContextInfoPrivileges,
|
||||||
|
AuthzContextInfoExpirationTime,
|
||||||
|
AuthzContextInfoServerContext,
|
||||||
|
AuthzContextInfoIdentifier,
|
||||||
|
AuthzContextInfoSource,
|
||||||
|
AuthzContextInfoAll,
|
||||||
|
AuthzContextInfoAuthenticationId
|
||||||
|
} AUTHZ_CONTEXT_INFORMATION_CLASS, *PAUTHZ_CONTEXT_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
typedef struct _AUTHZ_ACCESS_REQUEST
|
||||||
|
{
|
||||||
|
ACCESS_MASK DesiredAccess;
|
||||||
|
PSID PrincipalSelfSid;
|
||||||
|
POBJECT_TYPE_LIST ObjectTypeList;
|
||||||
|
DWORD ObjectTypeListLength;
|
||||||
|
PVOID OptionalArguments;
|
||||||
|
} AUTHZ_ACCESS_REQUEST, *PAUTHZ_ACCESS_REQUEST;
|
||||||
|
|
||||||
|
typedef struct _AUTHZ_ACCESS_REPLY
|
||||||
|
{
|
||||||
|
DWORD ResultListLength;
|
||||||
|
PACCESS_MASK GrantedAccessMask;
|
||||||
|
PDWORD SaclEvaluationResults;
|
||||||
|
PDWORD Error;;
|
||||||
|
} AUTHZ_ACCESS_REPLY, *PAUTHZ_ACCESS_REPLY;
|
||||||
|
|
||||||
|
typedef struct _AUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET
|
||||||
|
{
|
||||||
|
PWSTR szObjectTypeName;
|
||||||
|
DWORD dwOffset;
|
||||||
|
} AUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET, *PAUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET;
|
||||||
|
|
||||||
|
typedef struct _AUTHZ_SOURCE_SCHEMA_REGISTRATION
|
||||||
|
{
|
||||||
|
DWORD dwFlags;
|
||||||
|
PWSTR szEventSourceName;
|
||||||
|
PWSTR szEventMessageFile;
|
||||||
|
PWSTR szEventSourceXmlSchemaFile;
|
||||||
|
PWSTR szEventAccessStringsFile;
|
||||||
|
PWSTR szExecutableImagePath;
|
||||||
|
PVOID pReserved;
|
||||||
|
DWORD dwObjectTypeNameCount;
|
||||||
|
AUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET ObjectTypeNames[ANYSIZE_ARRAY];
|
||||||
|
} AUTHZ_SOURCE_SCHEMA_REGISTRATION, *PAUTHZ_SOURCE_SCHEMA_REGISTRATION;
|
||||||
|
|
||||||
|
typedef BOOL (CALLBACK *PFN_AUTHZ_DYNAMIC_ACCESS_CHECK)(IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
|
||||||
|
IN PACE_HEADER pAce,
|
||||||
|
IN PVOID pArgs OPTIONAL,
|
||||||
|
IN OUT PBOOL pbAceApplicable);
|
||||||
|
|
||||||
|
typedef BOOL (CALLBACK *PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS)(IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
|
||||||
|
IN PVOID Args,
|
||||||
|
OUT PSID_AND_ATTRIBUTES* pSidAttrArray,
|
||||||
|
OUT PDWORD pSidCount,
|
||||||
|
OUT PSID_AND_ATTRIBUTES* pRestrictedSidAttrArray,
|
||||||
|
OUT PDWORD pRestrictedSidCount);
|
||||||
|
|
||||||
|
typedef VOID (CALLBACK *PFN_AUTHZ_FREE_DYNAMIC_GROUPS)(IN PSID_AND_ATTRIBUTES pSidAttrArray);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzAccessCheck(IN DWORD flags,
|
||||||
|
IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext,
|
||||||
|
IN PAUTHZ_ACCESS_REQUEST pRequest,
|
||||||
|
IN AUTHZ_AUDIT_INFO_HANDLE AuditInfo,
|
||||||
|
IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||||
|
IN PSECURITY_DESCRIPTOR* OptionalSecurityDescriptorArray,
|
||||||
|
IN DWORD OptionalSecurityDescriptorCount OPTIONAL,
|
||||||
|
IN OUT PAUTHZ_ACCESS_REPLY pReply,
|
||||||
|
OUT PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE pAuthzHandle);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzAddSidsToContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE OrigClientContext,
|
||||||
|
IN PSID_AND_ATTRIBUTES Sids,
|
||||||
|
IN DWORD SidCount,
|
||||||
|
IN PSID_AND_ATTRIBUTES RestrictedSids,
|
||||||
|
IN DWORD RestrictedSidCount,
|
||||||
|
OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pNewClientContext);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzCachedAccessCheck(IN DWORD Flags,
|
||||||
|
IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle,
|
||||||
|
IN PAUTHZ_ACCESS_REQUEST pRequest,
|
||||||
|
IN AUTHZ_AUDIT_EVENT_HANDLE AuditInfo,
|
||||||
|
OUT PAUTHZ_ACCESS_REPLY pReply);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzEnumerateSecurityEventSources(IN DWORD dwFlags,
|
||||||
|
OUT PAUTHZ_SOURCE_SCHEMA_REGISTRATION Buffer,
|
||||||
|
OUT PDWORD pdwCount,
|
||||||
|
IN OUT PDWORD pdwLength);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzFreeAuditEvent(IN AUTHZ_AUDIT_EVENT_HANDLE pAuditEventInfo);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzFreeContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzFreeHandle(IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzFreeResourceManager(IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzGetInformationFromContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
|
||||||
|
IN AUTHZ_CONTEXT_INFORMATION_CLASS InfoClass,
|
||||||
|
IN DWORD BufferSize,
|
||||||
|
OUT PDWORD pSizeRequired,
|
||||||
|
OUT PVOID Buffer);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeContextFromAuthzContext(IN DWORD flags,
|
||||||
|
IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzHandle,
|
||||||
|
IN PLARGE_INTEGER ExpirationTime,
|
||||||
|
IN LUID Identifier,
|
||||||
|
IN PVOID DynamicGroupArgs,
|
||||||
|
OUT PAUTHZ_CLIENT_CONTEXT_HANDLE phNewAuthzHandle);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeContextFromSid(IN DWORD Flags,
|
||||||
|
IN PSID UserSid,
|
||||||
|
IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
|
||||||
|
IN PLARGE_INTEGER pExpirationTime,
|
||||||
|
IN LUID Identifier,
|
||||||
|
IN PVOID DynamicGroupArgs,
|
||||||
|
OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeContextFromToken(IN DWORD Flags,
|
||||||
|
IN HANDLE TokenHandle,
|
||||||
|
IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
|
||||||
|
IN PLARGE_INTEGER pExpirationTime,
|
||||||
|
IN LUID Identifier,
|
||||||
|
IN PVOID DynamicGroupArgs,
|
||||||
|
OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeObjectAccessAuditEvent(IN DWORD Flags,
|
||||||
|
IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
|
||||||
|
IN PWSTR szOperationType,
|
||||||
|
IN PWSTR szObjectType,
|
||||||
|
IN PWSTR szObjectName,
|
||||||
|
IN PWSTR szAdditionalInfo,
|
||||||
|
OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
|
||||||
|
IN DWORD dwAdditionalParamCount);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeObjectAccessAuditEvent2(IN DWORD Flags,
|
||||||
|
IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
|
||||||
|
IN PWSTR szOperationType,
|
||||||
|
IN PWSTR szObjectType,
|
||||||
|
IN PWSTR szObjectName,
|
||||||
|
IN PWSTR szAdditionalInfo,
|
||||||
|
IN PWSTR szAdditionalInfo2,
|
||||||
|
OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
|
||||||
|
IN DWORD dwAdditionalParameterCount);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInitializeResourceManager(IN DWORD flags,
|
||||||
|
IN PFN_AUTHZ_DYNAMIC_ACCESS_CHECK pfnAccessCheck,
|
||||||
|
IN PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS pfnComputeDynamicGroups,
|
||||||
|
IN PFN_AUTHZ_FREE_DYNAMIC_GROUPS pfnFreeDynamicGroups,
|
||||||
|
IN PCWSTR ResourceManagerName,
|
||||||
|
IN PAUTHZ_RESOURCE_MANAGER_HANDLE pAuthzResourceManager);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzInstallSecurityEventSource(IN DWORD dwFlags,
|
||||||
|
IN PAUTHZ_SOURCE_SCHEMA_REGISTRATION pRegistration);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzOpenObjectAudit(IN DWORD Flags,
|
||||||
|
IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
|
||||||
|
IN PAUTHZ_ACCESS_REQUEST pRequest,
|
||||||
|
IN AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
|
||||||
|
IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||||
|
IN PSECURITY_DESCRIPTOR* SecurityDescriptorArray,
|
||||||
|
IN DWORD SecurityDescriptorCount,
|
||||||
|
OUT PAUTHZ_ACCESS_REPLY pReply);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzRegisterSecurityEventSource(IN DWORD dwFlags,
|
||||||
|
IN PCWSTR szEventSourceName,
|
||||||
|
IN PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzReportSecurityEvent(IN DWORD dwFlags,
|
||||||
|
IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
|
||||||
|
IN DWORD dwAuditId,
|
||||||
|
IN PSID pUserSid OPTIONAL,
|
||||||
|
IN DWORD dwCount,
|
||||||
|
...);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzReportSecurityEventFromParams(IN DWORD dwFlags,
|
||||||
|
IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
|
||||||
|
IN DWORD dwAuditId,
|
||||||
|
IN PSID pUserSid OPTIONAL,
|
||||||
|
IN PAUDIT_PARAMS pParams);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzUninstallSecurityEventSource(IN DWORD dwFlags,
|
||||||
|
IN PWSTR szEventSourceName);
|
||||||
|
|
||||||
|
AUTHZAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AuthzUnregisterSecurityEventSource(IN DWORD dwFlags,
|
||||||
|
IN OUT PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* __AUTHZ_H */
|
Loading…
Reference in a new issue