2008-01-02 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / mcs / class / corlib / System.Security / ChangeLog
old mode 100755 (executable)
new mode 100644 (file)
index c381028..2fa4df4
@@ -1,3 +1,299 @@
+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