2004-10-19  Sebastien Pouliot  <sebastien@ximian.com>

	* SecurityManager.cs: Changed private static methods to use a single
	parameter (as method permissions overrides class permissions for
	demand, assert, deny and permitonly).

2004-10-15  Sebastien Pouliot  <sebastien@ximian.com>

	* CodeAccessPermission.cs: Implemented stubs (soon to be icalls) to
	get/set/clear the current security frame on the stack. Implemented
	Assert, Deny and PermitOnly with the new methods. Changed Demand to
	use the CheckAssert, CheckDeny, CheckPermitOnly and CheckDemand 
	introduced in 2.0.
	* PermissionSet.cs: Fixed IsEmpty using documentation from 2.0 beta 1.
	Implemented immediate (i.e. no stack walk) caller demand (CAS and 
	non-CAS) required for LinkDemand and InheritanceDemand. Implemented
	Assert, Deny and PermitOnly using CodeAccessPermission new methods.
	Re-implement Demand to separate CAS and non-CAS permissions.
	* SecurityManager.cs: Added new private static methods that will 
	either be called by the JIT (linkdemand), runtime (inheritancedemand)
	or by code emitted by the JIT (demand, assert, deny and permitonly).

2004-10-15  Sebastien Pouliot  <sebastien@ximian.com>

	* SecurityException.cs: Provide more details when a security exception
	is raised (to help debugging).

2004-09-02  Sebastien Pouliot  <sebastien@ximian.com>

	* PermissionSet.cs: Updated to match latest unit tests, i.e. match
	Fx 1.1 on NET_1_1 and Fx 2.0 (beta 1) in NET_2_0.
	* SecurityElement.cs: FromString is now internal before NET_2_0.

2004-09-01  Sebastien Pouliot  <sebastien@ximian.com>

	* NamedPermissionSet.cs: FromXml now calls base class instead of an
	internal method of PermissionSet. This should allow class to inherit
	from NamedPermissionSet properly.
	* PermissionSet.cs: Added an internal PolicyLevel property to allow
	policy file class name resolution. Fixed IsEmpty to return true if
	the list contains "empty" permissions. Fixed Copy to copy permissions
	even for unrestricted sets (again because of IUnrestrictedPermission).
	* SecurityManager.cs: Fixed Resolve(Evidence) because permission 
	classes	Intersect methods can either return null or an empty 
	PermissionSet.  Fixed ResolvePolicy(Evidence[]) for null (NET_2_0).

2004-08-31  Sebastien Pouliot  <sebastien@ximian.com>

	* PermissionSet.cs: Fixed RemovePermission and Intersect (due to typos
	in unit tests). Fixed SetPermission (null).

2004-08-30  Sebastien Pouliot  <sebastien@ximian.com>

	* NamedPermissionSet.cs: Fixed Description in copies, GetHashCode and
	Equals (for NET_2_0). Fixed handling of null Name when deserialized 
	from XML.
	* PermissionSet.cs: AddPermission now unions permissions of the same
	type. CopyTo throw (most) exceptions only if there are items in the
	set. Implemented Demand (but without support for Assert, Deny and 
	PermitOnly). Fixed deserialized from XML when no class is specified.
	Started implementation of ConvertPermissionSet (error cases). Fixed
	Intersect to be compatible (including bugs like FDBK14612) with MS.
	RemovePermission now compatible with MS (bug? FDBK14622). Fixed Union
	to work with permissions that do not implement IUnrestrictedPermission.

2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>

	* SecurityElement.cs: Fixed the new Copy() in Fx 2.0 as it isn't a 
	deep copy. Throw proper exceptions in FromString (Fx 2.0).
	* SecurityManager.cs: Throw a NullReference exception in 
	SavePolicyLevel as MS won't fix it (FDBK13121).

2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>

	* CodeAccessPermission.cs : csc build fix. Currently mcs has bugs on
	  CS0136 error detection (variable identifiers in switch cases share
	  the scope).

2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>

	* CodeAccessPermission.cs: Added common methods to help building all
	Permissions classes in corlib. Most are declared static as they can 
	also help non CodeAccessPermission-derived permissions.

2004-08-12  Sebastien Pouliot  <sebastien@ximian.com>

	* SecurityManager.cs: Change ResolvePolicy to only care about host
	provided evidence to create identity permissions.
	* SecurityContextSwitcher.cs: Added missing [ReliabilityContract] to 
	Undo method.

2004-08-11  Sebastien Pouliot  <sebastien@ximian.com>

	* CodeAccessPermission.cs: Basic implementation for Demand (without
	full stack trace, i.e. Assert, Deny and PermitOnly aren't considered).
	Added TODO to unimplemented NET_2_0 methods.
	* HostSecurityManager.cs: Added comments (as it looked not implemented
	even to myself).
	* PermissionSet.cs: Fixed Unrestricted when copied. Changed exception
	ordering in Copy (ArgumentNullException couldn't work). Made IsEmpty
	more robust.
	* SecurityManager.cs: Implemented IsGranted using Assembly.Demand. 
	Basic implementation for policy resolution.

2004-08-03  Sebastien Pouliot  <sebastien@ximian.com>

	* PermissionSetCollection.cs: New class in Fx 2.0.
	* SecureString.cs: New class in Fx 2.0. Not yet encrypted.

2004-08-02  Sebastien Pouliot  <sebastien@ximian.com>

	* PolicyTypeLevel.cs: Removed duplicate license.
	* SecurityManager.cs: Moved secuirty demands as attributes (but mcs 
	doesn't seem to encode them properly as they show up in corcompare).
	Implemented IsGranted, ResolvePolicy (but some code is still missing
	in related classes) and SavePolicy/SavePolicyLevel.

2004-07-14  Sebastien Pouliot  <sebastien@ximian.com>

	* CodeAccessPermission.cs: Added CheckAssert, CheckDemand, CheckDeny,
	CheckPermitOnly, Equals and GetHashCode to NET_2_0 profile. Actualized
	TODOs. Removed duplicate license.
	* NamedPermissionSet.cs: Added Equals/GetHashCode to NET_2_0 profile.
	Removed duplicate license.
	* PermissionSet.cs: Added Equals/GetHashCode to NET_2_0 profile. 
	Removed duplicate license.
	* SecurityElement.cs: Added Copy and FromString methods to NET_2_0 
	profile. Removed duplicate license.
	* SecurityException.cs: Added new constructors and properties to 
	NET_2_0 profile. Removed duplicate license.
	* SecurityManager.cs: Added GetZoneAndOrigin and ResolvePolicy to 
	NET_2_0 profile. Removed duplicate license.
	* VerificationException.cs: Implements _Exception for NET_2_0 profile.
	Removed duplicate license.
	* XmlSyntaxException.cs: Implements _Exception for NET_2_0 profile. 
	Removed duplicate license.

2004-07-14  Sebastien Pouliot  <sebastien@ximian.com>

	* HostProtectionException.cs: New class in Fx 2.0.
	* HostSecurityManager.cs: New class in Fx 2.0.
	* HostSecurityManagerFlags.cs: New enum in Fx 2.0.
	* SecurityContext.cs: New class in Fx 2.0.
	* SecurityContextSwitcher.cs: New structure in Fx 2.0.

2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>

	* XmlSyntaxException.cs: added missing serialization ctor
	* SecurityException.cs: fixed typo

2004-03-05  Atsushi Enomoto <atsushi@ximian.com>

	* SecurityElement.cs : ignore prefix; this enables RSA.FromXmlString()
	  to allow namespaced elements.

2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>

	* SecurityElement.cs: Attributes are now kept in an ArrayList (but
	still returned in an Hashtable) so the attributes order can be
	kept like MS implementation (but Hashtable cannot guarantee this).

2004-01-26  Sebastien Pouliot  <spouliot@videotron.ca>

	* NamedPermissionSet.cs: Changed internal constructor 
	NamedPermissionSet (SecurityElement e) to NamedPermissionSet ().
	* PermissionSet.cs: Changed internal constructor 
	PermissionSet (SecurityElement e) to PermissionSet ().

2004-01-24  David Sheldon <dave-mono@earth.li>

       * SecurityElement.cs: Changed indentation in ToString, it seems
        MS indent by 3 spaces, not 4. Also added NewLine to childless 
	elements.

2004-01-24  David Sheldon <dave-mono@earth.li>

       * SecurityElement.cs: Changed newline distribution in ToString.
         Matches MS better.

2004-01-06  Sebastien Pouliot  <spouliot@videotron.ca>

	* CodeAccessPermission.cs: Fixed Demand for custom permissions 
	(permissions that do not implement, the internal, IBuiltInPermission).
	Ref. http://bugzilla.ximian.com/show_bug.cgi?id=52626
	* SecurityException.cs: Fixed ToString() which could, when no 
	PermissionType where specified, throws a NullReferenceException.
	Ref. http://bugzilla.ximian.com/show_bug.cgi?id=52626

2004-01-05  Sebastien Pouliot  <spouliot@videotron.ca>

	* CodeAccessPermission.cs: Fixed Union to match 1.1/1.2 documentation. 
	Simplified ToString to match MS implementation. Added LAMESPEC to 
	Assert, Demand, Deny and PermitOnly as they aren't virtual.
	* NamedPermissionSet.cs: Added internal constructor for PolicyLevel. 
	* PermissionSet.cs: Added internal constructor for PolicyLevel. 
	* SecurityManager.cs: Moved some stuff to PolicyLevel class (e.g. Load).

2004-01-03  Sebastien Pouliot  <spouliot@videotron.ca>

	* SecurityManager.cs: Added some basic stuff to make some security unit
	tests works (mostly when using PolicyHierarchy).

2004-01-02  Sebastien Pouliot  <spouliot@videotron.ca>

	* AllowPartiallyTrustedCallersAttribute.cs: Fixed AttributeUsage using
	1.2 documentation (AllowMultiple=false, Inherited=false)
	* NamedPermissionSet.cs: Changes to match unit tests.
	* PermissionSet.cs: Implemented Copy, Intersect, IsSubsetOf and Union 
	methods. Corrected FromXml.
	* PolicyLevelType.cs: Added missing [Serializable].
	* SecurityElement.cs: Fixed constructor to match unit tests.
	* SecurityException.cs: Added support for GrantedSet and RefusedSet 
	properties (since 1.1). Set HResult to 0x8013150A.
	* SecurityZone.cs: Added missing [Serializable].
	* SuppressUnmanagedCodeSecurityAttribute.cs: Fixed AttributeUsage using
	1.2 documentation (AllowMultiple=true, Inherited=false)
	* UnverifiableCodeAttribute.cs: Fixed AttributeUsage using 1.2 
	documentation (AllowMultiple=true, Inherited=false)

2003-06-29  Sebastien Pouliot  <spouliot@videotron.ca>

	* PermissionSet.cs: Added missing "virtual" to Count, IsSynchronized 
	and SyncRoot.

2003-06-29  Nick Drochak  <ndrochak@gol.com>

	* NamedPermissionSet.cs : Fix buglet/typo/thinko. Thank you unit tests.

2003-06-28  Sebastien Pouliot  <spouliot@videotron.ca>

	* CodeAccessPermission.cs: Added missing methods. Removed old XML
	documentation (present in monodoc). Added missing MonoTODO attrs.
	* NamedPermissionSet.cs : Changed some code from result of unit 
	tests. Updated MonoTODO attributes.
	* PermissionSet.cs: Added missing methods. Removed old XML
	documentation (present in monodoc). Added missing MonoTODO attrs.
	Added code to some methods.
	* SecurityManager.cs: Added missing MonoTODO attributes.

2003-05-09  Sebastien Pouliot  <spouliot@videotron.ca>

	* AllowPartiallyTrustedCallersAttribute.cs: New. Class was missing
	from original 1.0 documentation (but inclufed in framework 1.0)

2002-06-10  Duncan Mak  <duncan@ximian.com>

	* IEvidenceFactory.cs (Evidence): Added missing method.
	
	* SuppressUnmanagedCodeSecurityAttribute.cs:
	* UnverifiableCodeAttribute.cs: Added missing
	AttributeUsage attribute.

2002-06-05  Nick Drochak  <ndrochak@gol.com>

	* SecurityElement.cs: Fixed couple of hard to spot typos which were
	causing valid names and keys to be rejected.

2002-04-28  Lawrence Pit <loz@cable.a2000.nl>

	* CodeAccessPermission.cs : implemented ToString method

2002-04-27  Lawrence Pit <loz@cable.a2000.nl>

	* SecurityElement.cs: fixed bugs, implemented several methods

2002-03-12  Duncan Mak  <duncan@ximian.com>

	* SecurityException.cs: Inherit from SystemException, not Exception.

2002-02-23  Nick Drochak  <ndrochak@gol.com>

	* SecurityElement.cs: fixed typo

2002-02-13  Dan Lewis <dihlewis@yahoo.co.uk>
	
	* NamedPermissionSet.cs: New file (stub)

2002-02-07  Duncan Mak  <duncan@ximian.com>

	* SecurityException.cs: Reformatted to fit the form of other
	Exceptions. Added serialization bits.

2002-01-05  Ravi Pratap  <ravi@ximian.com>

	* SecurityElement.cs : Insert MonoTODO attribute.

2002-01-02  Nick Drochak  <ndrochak@gol.com>

	* CodeAccessPermission.cs: Fix syntax error hidden by exclusion in .build file

2001-12-30  Nick Drochak  <ndrochak@gol.com>

	* PermissionSet.cs SecurityManager.cs: New Files
	* CodeAccessPermission.cs: Add Skeleton code
	* IPermission.cs: Make public and inherit from ISecurityEncodable 
	* ISecurityEncodable.cs: Make interface public
	* ISecurityPolicyEncodable.cs: Ditto
	* IStackWalk.cs: Ditto

2001-12-29  Nick Drochak  <ndrochak@gol.com>

	* ISecurityPolicyEncodable.cs, PolicyLevelType.cs, 
	SecurityZone.cs, SecurityException.cs, UnverifiableCodeAttribute.cs,
	SuppressUnmanagedCodeSecurityAttribute.cs,
	VerificationException.cs, XmlSyntaxException.cs: New files

2001-12-21  Miguel de Icaza  <miguel@ximian.com>

	* SecurityElement.cs, CodeAccessPermission.cs IPermission.cs
	IStackWalk.cs SecurityElement.cs ISecurityEncodable.cs: New files.
	
