+2008-01-02 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecureString.cs: Fix InsertAt buffer calculation. Fix #350820
+
+2008-01-02 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecureString.cs: Don't forget length in Copy. Fix #350840
+
+2007-11-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SecurityElement.cs :
+ set_Text() should unescape the input string. get_Text() should
+ return unescaped string. It also applies to attribute value.
+ ToString() should return valid (escaped) XML.
+
+2007-10-14 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * SecurityElement.cs: In ctors, do not assign to Tag property to
+ ensure exception message match that of MS. In Tag property, set name
+ of parameter in ArgumentNullException and do not filter out
+ namespace prefixes. Modified Text property to allow null values
+ after change to IsValidText that no longer considers null value as
+ valid. Avoid NRE in Escape.
+
+2007-08-28 Mark Probst <mark.probst@gmail.com>
+
+ * SecurityManager.cs: Changed method argument of
+ LinkDemandSecurityException to IntPtr and removed the assembly
+ argument (which can be gotten to via the method), to avoid having
+ to embed reference object values in the native code.
+
+2007-08-20 Mark Probst <mark.probst@gmail.com>
+
+ * SecurityManager.cs: Changed arguments of MethodAccessException
+ to IntPtr, to avoid having to embed reference object values in the
+ native code.
+
+2007-08-20 Mark Probst <mark.probst@gmail.com>
+
+ * SecurityManager.cs: Added two methods needed for CoreCLR
+ security.
+
+2007-08-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SecureString.cs : commenting out internal call. It somehow seems
+ to cause timeout on the buildbots :(
+
+2007-08-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SecureString.cs : adding notes that ProtectedMemory is not
+ implemented for non-windows environment.
+
+2007-08-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SecureString.cs : Decrypt() and Encrypt() now use icall wrapper
+ to ProtectedMemory in System.Security.dll.
+
+2007-02-23 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PermissionSet.cs: Fix InvalidCastException on non-CAS permissions.
+ Fix bug #80936.
+
+2006-06-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityContext.cs: Don't skip the calling callBack if we don't call
+ CompressedStack.Run (#78652).
+
+2006-06-15 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityContext.cs: Don't call CompressedStack.Run if we don't have
+ a compressed stack in the context (which can now happen because of
+ #78652). This should fix MWF bug #78652 (BeginInvoke under 2.0).
+
+2006-04-07 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityException.cs: Show Evidence correctly (it's a collection)
+ but avoid showing the Hash evidence (it's way too big to be useful).
+
+2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecureString.cs: Completed InsertAt, fixed Alloc not to re-alloc a
+ block of the same size. Fixed missing encryption for the char* ctor.
+ Only missing is access to ProtectedMemory do to the [en|de]cryption.
+
+2005-10-30 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PermissionSet.cs: Forgot to remove virtual from 2.0 IsSubsetOf.
+
+2005-10-29 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PermissionSet.cs: Another update to corcompare shows that even more
+ methods are not virtual in 2.0 final.
+
+2005-10-28 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PermissionSet.cs: Some methods are no more virtual in 2.0 final.
+
+2005-10-28 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecureString.cs: Changed the previous (and partial) managed
+ implementation to one (that will be) based on ProtectedMemory. Work in
+ progress...
+
+2005-10-17 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PermissionSet.cs: If the current permission set is unrestricted then
+ we must allow "permit only" for unrestricted (all other case are known
+ to be too restrictive).
+
+2005-09-22 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityManager.cs: Added [Obsolete] on SecurityEnabled for 2.0 (as
+ it cannot be turned off on MS runtime anymore). Removed dependecies
+ on PermissionSetCollection as this class (related to *Choice actions)
+ didn't make it to 2.0 RC.
+
+2005-09-02 Sebastien Pouliot <sebastien@ximian.com>
+
+ * CodeAccessPermission.cs: Fix Deny for permissions that do not return
+ null for empty intersection (common on flags-based permissions).
+ * PermissionBuilder.cs: Add an helper call to create an empty
+ (PermissionState.None) permission from a type.
+ * SecurityManager.cs: Added AppDomain support in InheritanceDemand.
+ Fixed some another small difference between 1.x and 2.0 (wrt
+ unrestricted permissions). Fixed error reporting for InheritanceDemand
+ (was LinkDemand).
+
+2005-06-30 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityManager.cs: Fixed inheritance demands for 1.x.
+
+2005-06-22 Sebastien Pouliot <sebastien@ximian.com>
+
+ * CodeAccessPermission.cs: Fix Unrestricted PermitOnly (which is like
+ a no-op). Speed up Assert if Unrestricted.
+ * HostSecurityManager.cs: Updated FIXME description.
+ * PermissionSet.cs: Remove Copy() of the permission set when non-CAS
+ permissions are used (replaced by an array of bools). Completed Assert
+ support by re-using the array of bools. Updated TODO descriptions.
+ * SecurityException.cs: Added evidence (if available) in the ToString
+ description of the exception.
+ * SecurityManager.cs: Reworked CheckExecutionRights to get the correct
+ behavior.
+
+2005-06-20 Sebastien Pouliot <sebastien@ximian.com>
+
+ * CodeAccessPermission.cs: Removed redundant and unrequired TODO.
+ * PermissionSet.cs: Some 2.0 optimizations (because sets are simpler
+ without the special case for identity permissions).
+ * SecurityManager.cs: Shortcut for ResolveIdentityPermissions (in 2.0)
+ and some more declarative security syntax updates.
+
+2005-06-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PermissionSet.cs: Added support for non-CAS permissions in the
+ IsSubsetOf method.
+ * SecurityManager.cs: Simplified IsGranted and added support for 2.0
+ (where all permissions support unrestricted). Changed desclarative
+ security syntax not to use flags (like the rest of the source code).
+
+2005-06-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * NamedPermissionSet.cs: A default NamedPermissionSet is Unrestricted.
+ * SecurityManager.cs: Simplified LinkDemandFullTrust as FullTrust is
+ immutable.
+
+2005-06-14 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityManager.cs: Added ResolvingPolicyLevel property to enable
+ support for FullTrustAssemblies during policy resolution. Reworked
+ (simplified) locking. Moved check for CheckExecutionRights to the
+ "right" place.
+ * PermissionSet.cs: Added shortcut in GetPermission(Type).
+
+2005-06-08 Sebastien Pouliot <sebastien@ximian.com>
+
+ * AllowPartiallyTrustedCallersAttribute.cs, HostSecurityManagerFlags.cs
+ IEvidenceFactory.cs, IPermission.cs, ISecurityEncodable.cs,
+ ISecurityPolicyEncodable.cs, IStackWalk.cs, NamedPermissionSet.cs,
+ PolicyLevelType.cs, SecureString.cs, SecurityElement.cs,
+ SecurityZone.cs, UnverifiableCodeAttribute.cs, VerificationException.cs
+ XmlSyntaxException.cs: Fix 2.0 beta2 API changes (which is mostly
+ adding ComVisible attributes to classes).
+
+2005-06-01 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PermissionBuilder.cs: Removed unification stuff. This is done at a
+ lower level.
+ * SecurityManager.cs: Split loading PolicyLevel in two phases. The
+ PolicyHierarchy is now available after phase 1 which ensures we can
+ load permission from outside corlib.
+
+2005-05-28 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HostSecurityManager.cs: Added check for ActivationArguments in
+ application evidences.
+
+2005-05-27 Sebastien Pouliot <sebastien@ximian.com>
+
+ * CodeAccessPermission.cs: Allow unrestricted identity permissions in
+ 2.0.
+ * PermissionBuilder.cs: New. Internal class to help create permission
+ instances from XML or with a fully qualified name. This class also
+ deals with unification.
+ * PermissionSet.cs: Use PermissionBuilder to create permissions in
+ FromXml method. Many 2.0 fixes (mostly to support unrestricted
+ identity permissions)
+
+2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
+
+ * CodeAccessPermission.cs: Fix typo for PermitOnly. Added ComVisible
+ attribute for NET_2_0 profile.
+ * PermissionSet.cs: Changed static string to const. Added ComVisible
+ attribute for NET_2_0 profile.
+ * SecurityContext.cs: Capture the identity token but don't create a
+ WindowsIdentity instance unless required (e.g. Run). This requires
+ less privileges (so it runs better that way under CAS).
+
+2005-05-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityException.cs: PermissionState isn't always serialized
+ (depending on the security policy) so it cannot always be deserialized
+ too (and this must work without throwing exceptions).
+
+2005-05-20 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityContext.cs: Includes more methods in NET_1_1 to enable
+ ThreadPool.UnsafeQueueUserWorkItem to work properly (i.e. without
+ stack propagation).
+
+2005-05-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PermissionSet.cs: Add support for "hidden" read-only mode (as used
+ by PolicyStatement).
+ * SecurityFrame.cs: Add some debugging code in the ToString method.
+ * SecurityManager.cs: Changed internal API so we can display the
+ permission that failed in a PermissionSet (e.g. assembly or appdomain).
+
+2005-05-11 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityManager.cs: GetZoneAndOrigin is present in 1.1 too (but is
+ hidden from mono-api-info because of the LinkDemand for ECMA key).
+
+2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityContext.cs: That was the wrong place to capture the stack.
+
+2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityContext.cs: Capture the CompressedStack when the current
+ context one is empty.
+ * SecurityManager.cs: Class is now static (2.0).
+ * SecurityTreatAsSafeAttribute.cs: Fixed AttributeTargets.
+
+2005-05-06 Sebastien Pouliot <sebastien@ximian.com>
+
+ * CodeAccessPermission.cs: Reworked frames check to check only for
+ the stack modifiers. Throwing a SecurityException now calls Assembly.
+ UnprotectedGetName () to avoid throwing (recursively) other
+ SecurityExceptions.
+ * PermissionSet.cs: Reworked frames check to include Assembly (moved)
+ and AppDomain (new) transitions.
+ * SecurityFrame.cs: Added Domain member to match the runtime structure
+ definition. Removed debugging code (will be moved into the runtime
+ later) as it can cause SecurityException is some cases.
+ * SecurityManager.cs: Added a method to check if a PermissionSet is
+ granted by an AppDomain.
+
+2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PermissionSetCollection.cs: Updated wrt beta2. Seems this will be
+ removed before 2.0 final.
+ * HostProtectionException.cs: Updated wrt beta2. Added TODO as it
+ isn't support by the runtime.
+ * SecurityContext.cs: Updated wrt beta2. Class is now internal in
+ NET_1_1 to allow the compressed stack propagation to other threads.
+ * SecurityCriticalAttribute.cs: Added support for property Scope.
+ * SecurityException.cs: Removed PermitOnlySetInstance property to
+ match beta2.
+ * SecurityTransparentAttribute.cs: Fixed AttributeUsage. Added TODO
+ as it isn't support by the runtime.
+ * SuppressUnmanagedCodeSecurityAttribute.cs: Added delegates to usage
+ in NET_2_0.
+
+2005-04-27 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SecurityCriticalScope.cs: New. Enum introduced in 2.0 beta2.
+ * SecurityTreatAsSafeAttribute.cs: New. Attribute introducted in 2.0
+ beta2.
+
+2005-04-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HostSecurityManager.cs: Now refers to HostSecurityManagerOptions.
+ * HostSecurityManagerFlags.cs: Renamed enum to
+ HostSecurityManagerOptions.
+
2005-03-31 Sebastien Pouliot <sebastien@ximian.com>
* SecurityException.cs: Added try/catch in GetObjectData because the