#include "cmp.h"
Go to the source code of this file.
Defines | |
#define | SECURITY_CELL_LENGTH(pDescriptor) |
Functions | |
NTSTATUS | CmpSetSecurityDescriptorInfo (IN PCM_KEY_CONTROL_BLOCK kcb, IN PSECURITY_INFORMATION SecurityInformation, IN PSECURITY_DESCRIPTOR ModificationDescriptor, IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, IN POOL_TYPE PoolType, IN PGENERIC_MAPPING GenericMapping) |
NTSTATUS | CmpQuerySecurityDescriptorInfo (IN PCM_KEY_CONTROL_BLOCK kcb, IN PSECURITY_INFORMATION SecurityInformation, OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PULONG Length, IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor) |
PCM_KEY_SECURITY | CmpGetKeySecurity (IN PHHIVE Hive, IN PCM_KEY_NODE Key, OUT PHCELL_INDEX SecurityCell OPTIONAL) |
VOID | CmpGetObjectSecurity (IN HCELL_INDEX Cell, IN PHHIVE Hive, OUT PCM_KEY_SECURITY *Security, OUT PHCELL_INDEX SecurityCell OPTIONAL) |
BOOLEAN | CmpFindMatchingDescriptorCell (IN PHHIVE Hive, IN PCM_KEY_NODE Node, IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN ULONG Type, OUT PHCELL_INDEX MatchingCell) |
BOOLEAN | CmpInsertSecurityCellList (IN PHHIVE Hive, IN HCELL_INDEX NodeCell, IN HCELL_INDEX SecurityCell) |
VOID | CmpRemoveSecurityCellList (IN PHHIVE Hive, IN HCELL_INDEX SecurityCell) |
ULONG | CmpSecurityExceptionFilter (IN PEXCEPTION_POINTERS ExceptionPointers) |
NTSTATUS | CmpSecurityMethod (IN PVOID Object, IN SECURITY_OPERATION_CODE OperationCode, IN PSECURITY_INFORMATION SecurityInformation, IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PULONG CapturedLength, IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, IN POOL_TYPE PoolType, IN PGENERIC_MAPPING GenericMapping) |
NTSTATUS | CmpAssignSecurityDescriptor (IN PHHIVE Hive, IN HCELL_INDEX Cell, IN PCM_KEY_NODE Node, IN PSECURITY_DESCRIPTOR SecurityDescriptor) |
BOOLEAN | CmpCheckCreateAccess (IN PUNICODE_STRING RelativeName, IN PSECURITY_DESCRIPTOR Descriptor, IN PACCESS_STATE AccessState, IN KPROCESSOR_MODE PreviousMode, IN ACCESS_MASK AdditionalAccess, OUT PNTSTATUS AccessStatus) |
BOOLEAN | CmpCheckNotifyAccess (IN PCM_NOTIFY_BLOCK NotifyBlock, IN PHHIVE Hive, IN PCM_KEY_NODE Node) |
PSECURITY_DESCRIPTOR | CmpHiveRootSecurityDescriptor (VOID) |
VOID | CmpFreeSecurityDescriptor (IN PHHIVE Hive, IN HCELL_INDEX Cell) |
|
Value:
Definition at line 95 of file cmse.c. Referenced by CmpAssignSecurityDescriptor(), CmpSetSecurityDescriptorInfo(), and EhpAttachSecurity(). |
|
Definition at line 697 of file cmse.c. References ASSERT, ASSERT_NODE, Cell, CM_KEY_SECURITY_SIGNATURE, CML_FLOW, CMLOG, CmpDumpSecurityDescriptor, CmpFindMatchingDescriptorCell(), CmpInsertSecurityCellList(), CMS_SEC, _CM_KEY_SECURITY::Descriptor, _CM_KEY_SECURITY::DescriptorLength, HCELL_INDEX, HCELL_NIL, Hive, HvAllocateCell(), HvFreeCell(), HvGetCell, HvGetCellType, HvMarkCellDirty(), Name, PAGED_CODE, _CM_KEY_SECURITY::ReferenceCount, RtlLengthSecurityDescriptor(), SECURITY_CELL_LENGTH, and _CM_KEY_SECURITY::Signature. Referenced by CmpCopyKeyPartial(), CmpSecurityMethod(), and CmpSyncKeyValues().
|
|
Definition at line 917 of file cmse.c. References CML_FLOW, CMLOG, CmpDumpSecurityDescriptor, CmpKeyObjectType, CMS_SEC, FALSE, _OBJECT_TYPE_INITIALIZER::GenericMapping, NULL, PAGED_CODE, SeAccessCheck(), SeCreateObjectAuditAlarm(), SeLockSubjectContext(), SeUnlockSubjectContext(), TRUE, and _OBJECT_TYPE::TypeInfo. Referenced by CmpDoCreate().
|
|
Definition at line 1032 of file cmse.c. References ASSERT_CM_LOCK_OWNED, CML_FLOW, CMLOG, CmpDumpSecurityDescriptor, CmpGetKeySecurity(), CmpKeyObjectType, CMS_SEC, _CM_KEY_SECURITY::Descriptor, _OBJECT_TYPE_INITIALIZER::GenericMapping, Hive, NTSTATUS(), NULL, PAGED_CODE, SeAccessCheck(), SeLockSubjectContext(), SeUnlockSubjectContext(), Status, TRUE, _OBJECT_TYPE::TypeInfo, and UserMode. Referenced by CmpNotifyTriggerCheck().
|
|
Definition at line 1545 of file cmse.c. References CML_FLOW, CMLOG, CmpFindSubKeyByNumber(), CmpGetKeySecurity(), CMS_SEC, _CM_KEY_SECURITY::Descriptor, _CM_KEY_SECURITY::DescriptorLength, FALSE, HCELL_INDEX, HCELL_NIL, Hive, HvGetCell, HvGetCellType, KEY_HIVE_ENTRY, NTSTATUS(), PAGED_CODE, RtlLengthSecurityDescriptor(), Status, and TRUE. Referenced by CmpAssignSecurityDescriptor(), and CmpSetSecurityDescriptorInfo().
|
|
Definition at line 1464 of file cmse.c. References ASSERT_NODE, ASSERT_SECURITY, Cell, CML_FLOW, CMLOG, CmpRemoveSecurityCellList(), CMS_SEC, HCELL_INDEX, HCELL_NIL, Hive, HvFreeCell(), HvGetCell, _CELL_DATA::_u::KeyNode, _CELL_DATA::_u::KeySecurity, PAGED_CODE, _CM_KEY_SECURITY::ReferenceCount, _CM_KEY_NODE::Security, and _CELL_DATA::u.
|
|
Definition at line 1165 of file cmse.c. References ASSERT, ASSERT_NODE, ASSERT_SECURITY, CM_KEY_NODE_SIGNATURE, CML_FLOW, CMLOG, CMS_SEC, HCELL_INDEX, Hive, HvGetCell, Key, Name, and PAGED_CODE. Referenced by CmpCheckNotifyAccess(), CmpFindMatchingDescriptorCell(), CmpGetObjectSecurity(), and CmpSetSecurityDescriptorInfo().
|
|
Definition at line 1109 of file cmse.c. References Cell, CML_FLOW, CMLOG, CmpGetKeySecurity(), CMS_SEC, HCELL_INDEX, Hive, HvGetCell, _CM_KEY_NODE::Name, Name, _CM_KEY_NODE::NameLength, PAGED_CODE, and _CM_KEY_NODE::Security. Referenced by EhGetKeySecurity().
|
|
Definition at line 1227 of file cmse.c. References ASSERT, CML_MAJOR, CMLOG, CMS_SEC, ExAllocatePool, ExFreePool(), FALSE, KeBugCheckEx(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, RtlAddAccessAllowedAce(), RtlCreateAcl(), RtlCreateSecurityDescriptor(), RtlGetAce(), RtlInitializeSid(), RtlLengthRequiredSid(), RtlSetDaclSecurityDescriptor(), RtlSubAuthoritySid(), RtlValidSid(), SeLengthSid, Status, TRUE, and WorldSid. Referenced by CmInitSystem1(), CmpCreateRegistryRoot(), CmpInitializeHiveList(), CmpInitializeSystemHive(), and CmpSetVersionData().
|
|
Definition at line 1704 of file cmse.c. References ASSERT_NODE, ASSERT_SECURITY, _CM_KEY_SECURITY::Blink, Cell, CML_FLOW, CMLOG, CMS_SEC, FALSE, _CM_KEY_NODE::Flags, _CM_KEY_SECURITY::Flink, Hive, HvGetCell, HvGetCellType, HvMarkCellDirty(), KEY_HIVE_ENTRY, PAGED_CODE, _CM_KEY_NODE::Parent, _CM_KEY_NODE::Security, TRUE, and Volatile. Referenced by CmpAssignSecurityDescriptor().
|
|
Definition at line 847 of file cmse.c. References CML_FLOW, CMLOG, CMS_SEC, _CM_KEY_SECURITY::Descriptor, HvGetCell, kcb(), NTSTATUS(), PAGED_CODE, SeQuerySecurityDescriptorInfo(), and Status. Referenced by CmpSecurityMethod().
|
|
Definition at line 1823 of file cmse.c. References ASSERT, _CM_KEY_SECURITY::Blink, Cell, CML_FLOW, CMLOG, CMS_SEC, _CM_KEY_SECURITY::Flink, Hive, HvGetCell, and PAGED_CODE. Referenced by CmpFreeSecurityDescriptor(), and CmpSetSecurityDescriptorInfo().
|
|
Definition at line 117 of file cmse.c. References DbgPrint, and EXCEPTION_EXECUTE_HANDLER. Referenced by CmpSecurityMethod().
|
|
Definition at line 158 of file cmse.c. References ASSERT, ASSERT_CM_LOCK_OWNED_EXCLUSIVE, ASSERT_KEY_OBJECT, AssignSecurityDescriptor, CML_FLOW, CMLOG, CmpAssignSecurityDescriptor(), CmpLockRegistry(), CmpLockRegistryExclusive(), CmpQuerySecurityDescriptorInfo(), CmpReportNotify(), CmpSecurityExceptionFilter(), CmpSetSecurityDescriptorInfo(), CmpUnlockRegistry(), CMS_SEC, DeleteSecurityDescriptor, FALSE, kcb(), KeBugCheckEx(), Key, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, ObAssignObjectSecurityDescriptor(), PAGED_CODE, PagedPool, QuerySecurityDescriptor, SetSecurityDescriptor, and Status. Referenced by CmpCreateObjectTypes(), and CmpDoCreateChild().
|
|
Definition at line 397 of file cmse.c. References ASSERT_CM_LOCK_OWNED_EXCLUSIVE, ASSERT_SECURITY, _CM_KEY_SECURITY::Blink, CM_KEY_SECURITY_SIGNATURE, CML_FLOW, CMLOG, CmpDumpSecurityDescriptor, CmpFindMatchingDescriptorCell(), CmpGetKeySecurity(), CmpRemoveSecurityCellList(), CMS_SEC, DCmCheckRegistry, _CM_KEY_SECURITY::Descriptor, _CM_KEY_SECURITY::DescriptorLength, ExFreePool(), _CM_KEY_SECURITY::Flink, HCELL_INDEX, HCELL_NIL, Hive, HvAllocateCell(), HvFreeCell(), HvGetCell, HvGetCellType, HvMarkCellDirty(), HvReallocateCell(), KeQuerySystemTime(), Key, _CM_KEY_NODE::LastWriteTime, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _CM_KEY_SECURITY::ReferenceCount, RtlLengthSecurityDescriptor(), _CM_KEY_NODE::Security, SECURITY_CELL_LENGTH, SeSetSecurityDescriptorInfo(), _CM_KEY_SECURITY::Signature, and Status. Referenced by CmpSecurityMethod().
|