#include "obp.h"
Go to the source code of this file.
Defines | |
#define | IF_OB_GLOBAL(FlagName) if (FALSE) |
#define | ObPrint(FlagName, _Text_) ; |
#define | OBS_DEBUG_ALLOC_TRACKING ((ULONG) 0x00000001L) |
#define | OBS_DEBUG_CACHE_FREES ((ULONG) 0x00000002L) |
#define | OBS_DEBUG_BREAK_ON_INIT ((ULONG) 0x00000004L) |
#define | OBS_DEBUG_SHOW_COLLISIONS ((ULONG) 0x00000008L) |
#define | OBS_DEBUG_SHOW_STATISTICS ((ULONG) 0x00000010L) |
#define | OBS_DEBUG_SHOW_REFERENCES ((ULONG) 0x00000020L) |
#define | OBS_DEBUG_SHOW_DEASSIGN ((ULONG) 0x00000040L) |
#define | OBS_DEBUG_STOP_INVALID_DESCRIPTOR ((ULONG) 0x00000080L) |
#define | OBS_DEBUG_SHOW_HEADER_FREE ((ULONG) 0x00000100L) |
Functions | |
NTSTATUS | ObpInitSecurityDescriptorCache (VOID) |
ULONG | ObpHashSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor) |
ULONG | ObpHashBuffer (PVOID Data, ULONG Length) |
NTSTATUS | ObpLogSecurityDescriptor (IN PSECURITY_DESCRIPTOR InputSecurityDescriptor, OUT PSECURITY_DESCRIPTOR *OutputSecurityDescriptor) |
PSECURITY_DESCRIPTOR_HEADER | ObpCreateCacheEntry (PSECURITY_DESCRIPTOR InputSecurityDescriptor, ULONG FullHash) |
PSECURITY_DESCRIPTOR | ObpReferenceSecurityDescriptor (PVOID Object) |
NTSTATUS | ObDeassignSecurity (IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor) |
VOID | ObpDereferenceSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor) |
VOID | ObpDestroySecurityDescriptorHeader (IN PSECURITY_DESCRIPTOR_HEADER Header) |
BOOLEAN | ObpCompareSecurityDescriptors (IN PSECURITY_DESCRIPTOR SD1, IN PSECURITY_DESCRIPTOR SD2) |
VOID | ObpAcquireDescriptorCacheWriteLock (VOID) |
VOID | ObpAcquireDescriptorCacheReadLock (VOID) |
VOID | ObpReleaseDescriptorCacheLock (VOID) |
Variables | |
PLIST_ENTRY * | ObsSecurityDescriptorCache = NULL |
ERESOURCE | ObsSecurityDescriptorCacheLock |
|
Definition at line 58 of file obsdata.c. Referenced by ObpInitSecurityDescriptorCache(), and ObpReferenceSecurityDescriptor(). |
|
Definition at line 64 of file obsdata.c. Referenced by ObDeassignSecurity(), ObpDereferenceSecurityDescriptor(), ObpDestroySecurityDescriptorHeader(), ObpLogSecurityDescriptor(), and ObpReferenceSecurityDescriptor(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 637 of file obsdata.c. References Header, NULL, ObpAcquireDescriptorCacheWriteLock(), ObpDereferenceSecurityDescriptor(), ObpReleaseDescriptorCacheLock(), ObPrint, and SD_TO_SD_HEADER. Referenced by SepDefaultDeleteMethod().
|
|
Definition at line 914 of file obsdata.c. References ExAcquireResourceShared, KeEnterCriticalRegion, ObsSecurityDescriptorCacheLock, TRUE, and VOID(). Referenced by NtQueryObject(), and ObQuerySecurityDescriptorInfo().
|
|
Definition at line 886 of file obsdata.c. References ExAcquireResourceExclusive, KeEnterCriticalRegion, ObsSecurityDescriptorCacheLock, TRUE, and VOID(). Referenced by ObDeassignSecurity(), ObpDereferenceSecurityDescriptor(), ObpLogSecurityDescriptor(), ObpReferenceSecurityDescriptor(), and ObSetSecurityDescriptorInfo().
|
|
Definition at line 839 of file obsdata.c. References Compare(), FALSE, and RtlLengthSecurityDescriptor(). Referenced by ObpLogSecurityDescriptor().
|
|
Definition at line 491 of file obsdata.c. References ExAllocatePoolWithTag, _SECURITY_DESCRIPTOR_HEADER::FullHash, _SECURITY_DESCRIPTOR_HEADER::Link, NULL, PagedPool, _SECURITY_DESCRIPTOR_HEADER::RefCount, RtlLengthSecurityDescriptor(), and _SECURITY_DESCRIPTOR_HEADER::SecurityDescriptor. Referenced by ObpLogSecurityDescriptor().
|
|
Definition at line 700 of file obsdata.c. References ASSERT, _SECURITY_DESCRIPTOR_HEADER::FullHash, ObpAcquireDescriptorCacheWriteLock(), ObpDestroySecurityDescriptorHeader(), ObpReleaseDescriptorCacheLock(), ObPrint, _SECURITY_DESCRIPTOR_HEADER::RefCount, and SD_TO_SD_HEADER. Referenced by ObDeassignSecurity(), ObReleaseObjectSecurity(), and ObSetSecurityDescriptorInfo().
|
|
Definition at line 759 of file obsdata.c. References ASSERT, ExFreePool(), Header, NULL, ObPrint, and ObsSecurityDescriptorCache. Referenced by ObpDereferenceSecurityDescriptor().
|
|
Definition at line 253 of file obsdata.c. References Buffer. Referenced by ObpHashSecurityDescriptor().
|
|
Definition at line 182 of file obsdata.c. References Dacl, FALSE, Group, NTSTATUS(), NULL, ObpHashBuffer(), Owner, RtlGetDaclSecurityDescriptor(), RtlGetGroupSecurityDescriptor(), RtlGetOwnerSecurityDescriptor(), RtlGetSaclSecurityDescriptor(), RtlLengthSid(), and Status. Referenced by ObpLogSecurityDescriptor().
|
|
Definition at line 118 of file obsdata.c. References ExAllocatePoolWithTag, ExFreePool(), ExInitializeResource, IF_OB_GLOBAL, NT_SUCCESS, NTSTATUS(), NULL, ObsSecurityDescriptorCache, ObsSecurityDescriptorCacheLock, PagedPool, SECURITY_DESCRIPTOR_CACHE_ENTRIES, Size, and Status. Referenced by ObInitSystem().
|
|
Definition at line 297 of file obsdata.c. References ExFreePool(), FALSE, Header, _SECURITY_DESCRIPTOR_HEADER::Link, LINK_TO_SD_HEADER, NULL, ObpAcquireDescriptorCacheWriteLock(), ObpCompareSecurityDescriptors(), ObpCreateCacheEntry(), ObpHashSecurityDescriptor(), ObpReleaseDescriptorCacheLock(), ObPrint, ObsSecurityDescriptorCache, and _SECURITY_DESCRIPTOR_HEADER::SecurityDescriptor. Referenced by ObAssignObjectSecurityDescriptor(), and ObSetSecurityDescriptorInfo().
|
|
Definition at line 559 of file obsdata.c. References ASSERT, _SECURITY_DESCRIPTOR_HEADER::FullHash, IF_OB_GLOBAL, NULL, OBJECT_TO_OBJECT_HEADER, ObpAcquireDescriptorCacheWriteLock(), ObpCentralizedSecurity, ObpReleaseDescriptorCacheLock(), ObPrint, _SECURITY_DESCRIPTOR_HEADER::RefCount, RtlValidSecurityDescriptor(), SD_TO_SD_HEADER, and _OBJECT_HEADER::Type. Referenced by ObGetObjectSecurity().
|
|
Definition at line 942 of file obsdata.c. References ExReleaseResource, KeLeaveCriticalRegion, ObsSecurityDescriptorCacheLock, and VOID(). Referenced by NtQueryObject(), ObDeassignSecurity(), ObpDereferenceSecurityDescriptor(), ObpLogSecurityDescriptor(), ObpReferenceSecurityDescriptor(), ObQuerySecurityDescriptorInfo(), and ObSetSecurityDescriptorInfo().
|
|
Definition at line 96 of file obsdata.c. Referenced by ObpDestroySecurityDescriptorHeader(), ObpInitSecurityDescriptorCache(), and ObpLogSecurityDescriptor(). |
|
Definition at line 103 of file obsdata.c. Referenced by ObpAcquireDescriptorCacheReadLock(), ObpAcquireDescriptorCacheWriteLock(), ObpInitSecurityDescriptorCache(), and ObpReleaseDescriptorCacheLock(). |