Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Security.AccessControl.SystemAcl Class Referencesealed

Public Member Functions

 SystemAcl (bool isContainer, bool isDS, int capacity)
 
 SystemAcl (bool isContainer, bool isDS, byte revision, int capacity)
 
 SystemAcl (bool isContainer, bool isDS, RawAcl rawAcl)
 
void AddAudit (AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
 
void SetAudit (AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
 
bool RemoveAudit (AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
 
void RemoveAuditSpecific (AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
 
void AddAudit (SecurityIdentifier sid, ObjectAuditRule rule)
 
void AddAudit (AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
 
void SetAudit (SecurityIdentifier sid, ObjectAuditRule rule)
 
void SetAudit (AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
 
bool RemoveAudit (SecurityIdentifier sid, ObjectAuditRule rule)
 
bool RemoveAudit (AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
 
void RemoveAuditSpecific (SecurityIdentifier sid, ObjectAuditRule rule)
 
void RemoveAuditSpecific (AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
 
override void GetBinaryForm (byte[] binaryForm, int offset)
 
void RemoveInheritedAces ()
 
void Purge (SecurityIdentifier sid)
 
void CopyTo (GenericAce[] array, int index)
 
AceEnumerator GetEnumerator ()
 

Static Public Attributes

static readonly byte AclRevision = 2
 
static readonly byte AclRevisionDS = 4
 
static readonly int MaxBinaryLength = 65535
 

Package Functions

 SystemAcl (bool isContainer, bool isDS, RawAcl rawAcl, bool trusted)
 
void CheckAccessType (AccessControlType accessType)
 
void CheckFlags (InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
 
void AddQualifiedAce (SecurityIdentifier sid, AceQualifier qualifier, int accessMask, AceFlags flags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
 
void SetQualifiedAce (SecurityIdentifier sid, AceQualifier qualifier, int accessMask, AceFlags flags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
 
bool RemoveQualifiedAces (SecurityIdentifier sid, AceQualifier qualifier, int accessMask, AceFlags flags, bool saclSemantics, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
 
void RemoveQualifiedAcesSpecific (SecurityIdentifier sid, AceQualifier qualifier, int accessMask, AceFlags flags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
 
virtual void OnAclModificationTried ()
 

Properties

RawAcl RawAcl [get]
 
override byte Revision [get]
 
override int Count [get]
 
override int BinaryLength [get]
 
bool IsCanonical [get]
 
bool IsContainer [get]
 
bool IsDS [get]
 
override GenericAce this[int index] [get, set]
 
bool IsSynchronized [get]
 
virtual object SyncRoot [get]
 

Private Types

enum  AF {
  CI = 8 , OI = 4 , IO = 2 , NP = 1 ,
  Invalid = 1
}
 
enum  PM {
  F = 0x10 , CF = 8 , CO = 4 , GF = 2 ,
  GO = 1 , Invalid = 1
}
 
enum  ComparisonResult { LessThan , EqualTo , GreaterThan }
 

Private Member Functions

void CanonicalizeIfNecessary ()
 
void QuickSort (int left, int right, bool isDacl)
 
bool InspectAce (ref GenericAce ace, bool isDacl)
 
void RemoveMeaninglessAcesAndFlags (bool isDacl)
 
void Canonicalize (bool compact, bool isDacl)
 
void GetObjectTypesForSplit (ObjectAce originalAce, int accessMask, AceFlags aceFlags, out ObjectAceFlags objectFlags, out Guid objectType, out Guid inheritedObjectType)
 
bool ObjectTypesMatch (QualifiedAce ace, QualifiedAce newAce)
 
bool InheritedObjectTypesMatch (QualifiedAce ace, QualifiedAce newAce)
 
bool AccessMasksAreMergeable (QualifiedAce ace, QualifiedAce newAce)
 
bool AceFlagsAreMergeable (QualifiedAce ace, QualifiedAce newAce)
 
bool GetAccessMaskForRemoval (QualifiedAce ace, ObjectAceFlags objectFlags, Guid objectType, ref int accessMask)
 
bool GetInheritanceFlagsForRemoval (QualifiedAce ace, ObjectAceFlags objectFlags, Guid inheritedObjectType, ref AceFlags aceFlags)
 
bool MergeAces (ref QualifiedAce ace, QualifiedAce newAce)
 
bool CanonicalCheck (bool isDacl)
 
void ThrowIfNotCanonical ()
 
void ICollection. CopyTo (Array array, int index)
 
IEnumerator IEnumerable. GetEnumerator ()
 

Static Private Member Functions

static PM[] CreateAFtoPMConversionMatrix ()
 
static AF[] CreatePMtoAFConversionMatrix ()
 
static AF AFFromAceFlags (AceFlags aceFlags, bool isDS)
 
static AceFlags AceFlagsFromAF (AF af, bool isDS)
 
static bool MergeInheritanceBits (AceFlags left, AceFlags right, bool isDS, out AceFlags result)
 
static bool RemoveInheritanceBits (AceFlags existing, AceFlags remove, bool isDS, out AceFlags result, out bool total)
 
static int DaclAcePriority (GenericAce ace)
 
static int SaclAcePriority (GenericAce ace)
 
static ComparisonResult CompareAces (GenericAce ace1, GenericAce ace2, bool isDacl)
 
static bool AceOpaquesMatch (QualifiedAce ace, QualifiedAce newAce)
 
static bool AcesAreMergeable (QualifiedAce ace, QualifiedAce newAce)
 

Private Attributes

readonly RawAcl _acl
 
bool _isDirty
 
readonly bool _isCanonical
 
readonly bool _isContainer
 
readonly bool _isDS
 

Static Private Attributes

static readonly PM[] s_AFtoPM = CreateAFtoPMConversionMatrix()
 
static readonly AF[] s_PMtoAF = CreatePMtoAFConversionMatrix()
 

Detailed Description

Definition at line 5 of file SystemAcl.cs.


The documentation for this class was generated from the following file: