internal static System.Security.AccessControl.AceFlags AceFlagsFromAuditFlags(System.Security.AccessControl.AuditFlags auditFlags) { System.Security.AccessControl.AceFlags none = System.Security.AccessControl.AceFlags.None; if ((auditFlags & System.Security.AccessControl.AuditFlags.Success) != System.Security.AccessControl.AuditFlags.None) { none = (System.Security.AccessControl.AceFlags)((byte)(none | (System.Security.AccessControl.AceFlags.None | System.Security.AccessControl.AceFlags.SuccessfulAccess))); } if ((auditFlags & System.Security.AccessControl.AuditFlags.Failure) != System.Security.AccessControl.AuditFlags.None) { none = (System.Security.AccessControl.AceFlags)((byte)(none | System.Security.AccessControl.AceFlags.FailedAccess)); } if (none == System.Security.AccessControl.AceFlags.None) { throw new ArgumentException(Environment.GetResourceString("Arg_EnumAtLeastOneFlag"), "auditFlags"); } return(none); }
internal static System.Security.AccessControl.AceFlags AceFlagsFromInheritanceFlags(System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags) { System.Security.AccessControl.AceFlags none = System.Security.AccessControl.AceFlags.None; if ((inheritanceFlags & System.Security.AccessControl.InheritanceFlags.ContainerInherit) != System.Security.AccessControl.InheritanceFlags.None) { none = (System.Security.AccessControl.AceFlags)((byte)(none | System.Security.AccessControl.AceFlags.ContainerInherit)); } if ((inheritanceFlags & System.Security.AccessControl.InheritanceFlags.ObjectInherit) != System.Security.AccessControl.InheritanceFlags.None) { none = (System.Security.AccessControl.AceFlags)((byte)(none | (System.Security.AccessControl.AceFlags.None | System.Security.AccessControl.AceFlags.ObjectInherit))); } if (none != System.Security.AccessControl.AceFlags.None) { if ((propagationFlags & System.Security.AccessControl.PropagationFlags.NoPropagateInherit) != System.Security.AccessControl.PropagationFlags.None) { none = (System.Security.AccessControl.AceFlags)((byte)(none | (System.Security.AccessControl.AceFlags.None | System.Security.AccessControl.AceFlags.NoPropagateInherit))); } if ((propagationFlags & System.Security.AccessControl.PropagationFlags.InheritOnly) != System.Security.AccessControl.PropagationFlags.None) { none = (System.Security.AccessControl.AceFlags)((byte)(none | System.Security.AccessControl.AceFlags.InheritOnly)); } } return(none); }
public FooAttribute(System.Security.AccessControl.AceFlags flags) { }
public static GenericAce CreateFromBinaryForm(byte[] binaryForm, int offset) { GenericAce ace; VerifyHeader(binaryForm, offset); System.Security.AccessControl.AceType type = (System.Security.AccessControl.AceType)binaryForm[offset]; switch (type) { case System.Security.AccessControl.AceType.AccessAllowed: case System.Security.AccessControl.AceType.AccessDenied: case System.Security.AccessControl.AceType.SystemAudit: case System.Security.AccessControl.AceType.SystemAlarm: case System.Security.AccessControl.AceType.AccessAllowedCallback: case System.Security.AccessControl.AceType.AccessDeniedCallback: case System.Security.AccessControl.AceType.SystemAuditCallback: case System.Security.AccessControl.AceType.SystemAlarmCallback: { AceQualifier qualifier; int num; SecurityIdentifier identifier; bool flag; byte[] buffer; if (!CommonAce.ParseBinaryForm(binaryForm, offset, out qualifier, out num, out identifier, out flag, out buffer)) { goto Label_01A8; } System.Security.AccessControl.AceFlags flags = (System.Security.AccessControl.AceFlags)binaryForm[offset + 1]; ace = new CommonAce(flags, qualifier, num, identifier, flag, buffer); break; } case System.Security.AccessControl.AceType.AccessAllowedObject: case System.Security.AccessControl.AceType.AccessDeniedObject: case System.Security.AccessControl.AceType.SystemAuditObject: case System.Security.AccessControl.AceType.SystemAlarmObject: case System.Security.AccessControl.AceType.AccessAllowedCallbackObject: case System.Security.AccessControl.AceType.AccessDeniedCallbackObject: case System.Security.AccessControl.AceType.SystemAuditCallbackObject: case System.Security.AccessControl.AceType.SystemAlarmCallbackObject: { AceQualifier qualifier2; int num2; SecurityIdentifier identifier2; ObjectAceFlags flags2; Guid guid; Guid guid2; bool flag2; byte[] buffer2; if (!ObjectAce.ParseBinaryForm(binaryForm, offset, out qualifier2, out num2, out identifier2, out flags2, out guid, out guid2, out flag2, out buffer2)) { goto Label_01A8; } System.Security.AccessControl.AceFlags aceFlags = (System.Security.AccessControl.AceFlags)binaryForm[offset + 1]; ace = new ObjectAce(aceFlags, qualifier2, num2, identifier2, flags2, guid, guid2, flag2, buffer2); break; } case System.Security.AccessControl.AceType.AccessAllowedCompound: { int num3; CompoundAceType type2; SecurityIdentifier identifier3; if (!CompoundAce.ParseBinaryForm(binaryForm, offset, out num3, out type2, out identifier3)) { goto Label_01A8; } System.Security.AccessControl.AceFlags flags4 = (System.Security.AccessControl.AceFlags)binaryForm[offset + 1]; ace = new CompoundAce(flags4, num3, type2, identifier3); break; } default: { System.Security.AccessControl.AceFlags flags5 = (System.Security.AccessControl.AceFlags)binaryForm[offset + 1]; byte[] opaque = null; int num4 = binaryForm[offset + 2] + (binaryForm[offset + 3] << 8); if ((num4 % 4) != 0) { goto Label_01A8; } int num5 = num4 - 4; if (num5 > 0) { opaque = new byte[num5]; for (int i = 0; i < num5; i++) { opaque[i] = binaryForm[((offset + num4) - num5) + i]; } } ace = new CustomAce(type, flags5, opaque); break; } } if (((ace is ObjectAce) || ((binaryForm[offset + 2] + (binaryForm[offset + 3] << 8)) == ace.BinaryLength)) && ((!(ace is ObjectAce) || ((binaryForm[offset + 2] + (binaryForm[offset + 3] << 8)) == ace.BinaryLength)) || (((binaryForm[offset + 2] + (binaryForm[offset + 3] << 8)) - 0x20) == ace.BinaryLength))) { return(ace); } Label_01A8: throw new ArgumentException(Environment.GetResourceString("ArgumentException_InvalidAceBinaryForm"), "binaryForm"); }
internal GenericAce(System.Security.AccessControl.AceType type, System.Security.AccessControl.AceFlags flags) { this._type = type; this._flags = flags; }