**** Merged from MCS ****
[mono-project.git] / mcs / class / corlib / System.Security / ChangeLog
blob1e3ff0490099ab21fce11730df0f693569671e24
1 2004-10-19  Sebastien Pouliot  <sebastien@ximian.com>
3         * SecurityManager.cs: Changed private static methods to use a single
4         parameter (as method permissions overrides class permissions for
5         demand, assert, deny and permitonly).
7 2004-10-15  Sebastien Pouliot  <sebastien@ximian.com>
9         * CodeAccessPermission.cs: Implemented stubs (soon to be icalls) to
10         get/set/clear the current security frame on the stack. Implemented
11         Assert, Deny and PermitOnly with the new methods. Changed Demand to
12         use the CheckAssert, CheckDeny, CheckPermitOnly and CheckDemand 
13         introduced in 2.0.
14         * PermissionSet.cs: Fixed IsEmpty using documentation from 2.0 beta 1.
15         Implemented immediate (i.e. no stack walk) caller demand (CAS and 
16         non-CAS) required for LinkDemand and InheritanceDemand. Implemented
17         Assert, Deny and PermitOnly using CodeAccessPermission new methods.
18         Re-implement Demand to separate CAS and non-CAS permissions.
19         * SecurityManager.cs: Added new private static methods that will 
20         either be called by the JIT (linkdemand), runtime (inheritancedemand)
21         or by code emitted by the JIT (demand, assert, deny and permitonly).
23 2004-10-15  Sebastien Pouliot  <sebastien@ximian.com>
25         * SecurityException.cs: Provide more details when a security exception
26         is raised (to help debugging).
28 2004-09-02  Sebastien Pouliot  <sebastien@ximian.com>
30         * PermissionSet.cs: Updated to match latest unit tests, i.e. match
31         Fx 1.1 on NET_1_1 and Fx 2.0 (beta 1) in NET_2_0.
32         * SecurityElement.cs: FromString is now internal before NET_2_0.
34 2004-09-01  Sebastien Pouliot  <sebastien@ximian.com>
36         * NamedPermissionSet.cs: FromXml now calls base class instead of an
37         internal method of PermissionSet. This should allow class to inherit
38         from NamedPermissionSet properly.
39         * PermissionSet.cs: Added an internal PolicyLevel property to allow
40         policy file class name resolution. Fixed IsEmpty to return true if
41         the list contains "empty" permissions. Fixed Copy to copy permissions
42         even for unrestricted sets (again because of IUnrestrictedPermission).
43         * SecurityManager.cs: Fixed Resolve(Evidence) because permission 
44         classes Intersect methods can either return null or an empty 
45         PermissionSet.  Fixed ResolvePolicy(Evidence[]) for null (NET_2_0).
47 2004-08-31  Sebastien Pouliot  <sebastien@ximian.com>
49         * PermissionSet.cs: Fixed RemovePermission and Intersect (due to typos
50         in unit tests). Fixed SetPermission (null).
52 2004-08-30  Sebastien Pouliot  <sebastien@ximian.com>
54         * NamedPermissionSet.cs: Fixed Description in copies, GetHashCode and
55         Equals (for NET_2_0). Fixed handling of null Name when deserialized 
56         from XML.
57         * PermissionSet.cs: AddPermission now unions permissions of the same
58         type. CopyTo throw (most) exceptions only if there are items in the
59         set. Implemented Demand (but without support for Assert, Deny and 
60         PermitOnly). Fixed deserialized from XML when no class is specified.
61         Started implementation of ConvertPermissionSet (error cases). Fixed
62         Intersect to be compatible (including bugs like FDBK14612) with MS.
63         RemovePermission now compatible with MS (bug? FDBK14622). Fixed Union
64         to work with permissions that do not implement IUnrestrictedPermission.
66 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
68         * SecurityElement.cs: Fixed the new Copy() in Fx 2.0 as it isn't a 
69         deep copy. Throw proper exceptions in FromString (Fx 2.0).
70         * SecurityManager.cs: Throw a NullReference exception in 
71         SavePolicyLevel as MS won't fix it (FDBK13121).
73 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
75         * CodeAccessPermission.cs : csc build fix. Currently mcs has bugs on
76           CS0136 error detection (variable identifiers in switch cases share
77           the scope).
79 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
81         * CodeAccessPermission.cs: Added common methods to help building all
82         Permissions classes in corlib. Most are declared static as they can 
83         also help non CodeAccessPermission-derived permissions.
85 2004-08-12  Sebastien Pouliot  <sebastien@ximian.com>
87         * SecurityManager.cs: Change ResolvePolicy to only care about host
88         provided evidence to create identity permissions.
89         * SecurityContextSwitcher.cs: Added missing [ReliabilityContract] to 
90         Undo method.
92 2004-08-11  Sebastien Pouliot  <sebastien@ximian.com>
94         * CodeAccessPermission.cs: Basic implementation for Demand (without
95         full stack trace, i.e. Assert, Deny and PermitOnly aren't considered).
96         Added TODO to unimplemented NET_2_0 methods.
97         * HostSecurityManager.cs: Added comments (as it looked not implemented
98         even to myself).
99         * PermissionSet.cs: Fixed Unrestricted when copied. Changed exception
100         ordering in Copy (ArgumentNullException couldn't work). Made IsEmpty
101         more robust.
102         * SecurityManager.cs: Implemented IsGranted using Assembly.Demand. 
103         Basic implementation for policy resolution.
105 2004-08-03  Sebastien Pouliot  <sebastien@ximian.com>
107         * PermissionSetCollection.cs: New class in Fx 2.0.
108         * SecureString.cs: New class in Fx 2.0. Not yet encrypted.
110 2004-08-02  Sebastien Pouliot  <sebastien@ximian.com>
112         * PolicyTypeLevel.cs: Removed duplicate license.
113         * SecurityManager.cs: Moved secuirty demands as attributes (but mcs 
114         doesn't seem to encode them properly as they show up in corcompare).
115         Implemented IsGranted, ResolvePolicy (but some code is still missing
116         in related classes) and SavePolicy/SavePolicyLevel.
118 2004-07-14  Sebastien Pouliot  <sebastien@ximian.com>
120         * CodeAccessPermission.cs: Added CheckAssert, CheckDemand, CheckDeny,
121         CheckPermitOnly, Equals and GetHashCode to NET_2_0 profile. Actualized
122         TODOs. Removed duplicate license.
123         * NamedPermissionSet.cs: Added Equals/GetHashCode to NET_2_0 profile.
124         Removed duplicate license.
125         * PermissionSet.cs: Added Equals/GetHashCode to NET_2_0 profile. 
126         Removed duplicate license.
127         * SecurityElement.cs: Added Copy and FromString methods to NET_2_0 
128         profile. Removed duplicate license.
129         * SecurityException.cs: Added new constructors and properties to 
130         NET_2_0 profile. Removed duplicate license.
131         * SecurityManager.cs: Added GetZoneAndOrigin and ResolvePolicy to 
132         NET_2_0 profile. Removed duplicate license.
133         * VerificationException.cs: Implements _Exception for NET_2_0 profile.
134         Removed duplicate license.
135         * XmlSyntaxException.cs: Implements _Exception for NET_2_0 profile. 
136         Removed duplicate license.
138 2004-07-14  Sebastien Pouliot  <sebastien@ximian.com>
140         * HostProtectionException.cs: New class in Fx 2.0.
141         * HostSecurityManager.cs: New class in Fx 2.0.
142         * HostSecurityManagerFlags.cs: New enum in Fx 2.0.
143         * SecurityContext.cs: New class in Fx 2.0.
144         * SecurityContextSwitcher.cs: New structure in Fx 2.0.
146 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
148         * XmlSyntaxException.cs: added missing serialization ctor
149         * SecurityException.cs: fixed typo
151 2004-03-05  Atsushi Enomoto <atsushi@ximian.com>
153         * SecurityElement.cs : ignore prefix; this enables RSA.FromXmlString()
154           to allow namespaced elements.
156 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
158         * SecurityElement.cs: Attributes are now kept in an ArrayList (but
159         still returned in an Hashtable) so the attributes order can be
160         kept like MS implementation (but Hashtable cannot guarantee this).
162 2004-01-26  Sebastien Pouliot  <spouliot@videotron.ca>
164         * NamedPermissionSet.cs: Changed internal constructor 
165         NamedPermissionSet (SecurityElement e) to NamedPermissionSet ().
166         * PermissionSet.cs: Changed internal constructor 
167         PermissionSet (SecurityElement e) to PermissionSet ().
169 2004-01-24  David Sheldon <dave-mono@earth.li>
171        * SecurityElement.cs: Changed indentation in ToString, it seems
172         MS indent by 3 spaces, not 4. Also added NewLine to childless 
173         elements.
175 2004-01-24  David Sheldon <dave-mono@earth.li>
177        * SecurityElement.cs: Changed newline distribution in ToString.
178          Matches MS better.
180 2004-01-06  Sebastien Pouliot  <spouliot@videotron.ca>
182         * CodeAccessPermission.cs: Fixed Demand for custom permissions 
183         (permissions that do not implement, the internal, IBuiltInPermission).
184         Ref. http://bugzilla.ximian.com/show_bug.cgi?id=52626
185         * SecurityException.cs: Fixed ToString() which could, when no 
186         PermissionType where specified, throws a NullReferenceException.
187         Ref. http://bugzilla.ximian.com/show_bug.cgi?id=52626
189 2004-01-05  Sebastien Pouliot  <spouliot@videotron.ca>
191         * CodeAccessPermission.cs: Fixed Union to match 1.1/1.2 documentation. 
192         Simplified ToString to match MS implementation. Added LAMESPEC to 
193         Assert, Demand, Deny and PermitOnly as they aren't virtual.
194         * NamedPermissionSet.cs: Added internal constructor for PolicyLevel. 
195         * PermissionSet.cs: Added internal constructor for PolicyLevel. 
196         * SecurityManager.cs: Moved some stuff to PolicyLevel class (e.g. Load).
198 2004-01-03  Sebastien Pouliot  <spouliot@videotron.ca>
200         * SecurityManager.cs: Added some basic stuff to make some security unit
201         tests works (mostly when using PolicyHierarchy).
203 2004-01-02  Sebastien Pouliot  <spouliot@videotron.ca>
205         * AllowPartiallyTrustedCallersAttribute.cs: Fixed AttributeUsage using
206         1.2 documentation (AllowMultiple=false, Inherited=false)
207         * NamedPermissionSet.cs: Changes to match unit tests.
208         * PermissionSet.cs: Implemented Copy, Intersect, IsSubsetOf and Union 
209         methods. Corrected FromXml.
210         * PolicyLevelType.cs: Added missing [Serializable].
211         * SecurityElement.cs: Fixed constructor to match unit tests.
212         * SecurityException.cs: Added support for GrantedSet and RefusedSet 
213         properties (since 1.1). Set HResult to 0x8013150A.
214         * SecurityZone.cs: Added missing [Serializable].
215         * SuppressUnmanagedCodeSecurityAttribute.cs: Fixed AttributeUsage using
216         1.2 documentation (AllowMultiple=true, Inherited=false)
217         * UnverifiableCodeAttribute.cs: Fixed AttributeUsage using 1.2 
218         documentation (AllowMultiple=true, Inherited=false)
220 2003-06-29  Sebastien Pouliot  <spouliot@videotron.ca>
222         * PermissionSet.cs: Added missing "virtual" to Count, IsSynchronized 
223         and SyncRoot.
225 2003-06-29  Nick Drochak  <ndrochak@gol.com>
227         * NamedPermissionSet.cs : Fix buglet/typo/thinko. Thank you unit tests.
229 2003-06-28  Sebastien Pouliot  <spouliot@videotron.ca>
231         * CodeAccessPermission.cs: Added missing methods. Removed old XML
232         documentation (present in monodoc). Added missing MonoTODO attrs.
233         * NamedPermissionSet.cs : Changed some code from result of unit 
234         tests. Updated MonoTODO attributes.
235         * PermissionSet.cs: Added missing methods. Removed old XML
236         documentation (present in monodoc). Added missing MonoTODO attrs.
237         Added code to some methods.
238         * SecurityManager.cs: Added missing MonoTODO attributes.
240 2003-05-09  Sebastien Pouliot  <spouliot@videotron.ca>
242         * AllowPartiallyTrustedCallersAttribute.cs: New. Class was missing
243         from original 1.0 documentation (but inclufed in framework 1.0)
245 2002-06-10  Duncan Mak  <duncan@ximian.com>
247         * IEvidenceFactory.cs (Evidence): Added missing method.
248         
249         * SuppressUnmanagedCodeSecurityAttribute.cs:
250         * UnverifiableCodeAttribute.cs: Added missing
251         AttributeUsage attribute.
253 2002-06-05  Nick Drochak  <ndrochak@gol.com>
255         * SecurityElement.cs: Fixed couple of hard to spot typos which were
256         causing valid names and keys to be rejected.
258 2002-04-28  Lawrence Pit <loz@cable.a2000.nl>
260         * CodeAccessPermission.cs : implemented ToString method
262 2002-04-27  Lawrence Pit <loz@cable.a2000.nl>
264         * SecurityElement.cs: fixed bugs, implemented several methods
266 2002-03-12  Duncan Mak  <duncan@ximian.com>
268         * SecurityException.cs: Inherit from SystemException, not Exception.
270 2002-02-23  Nick Drochak  <ndrochak@gol.com>
272         * SecurityElement.cs: fixed typo
274 2002-02-13  Dan Lewis <dihlewis@yahoo.co.uk>
275         
276         * NamedPermissionSet.cs: New file (stub)
278 2002-02-07  Duncan Mak  <duncan@ximian.com>
280         * SecurityException.cs: Reformatted to fit the form of other
281         Exceptions. Added serialization bits.
283 2002-01-05  Ravi Pratap  <ravi@ximian.com>
285         * SecurityElement.cs : Insert MonoTODO attribute.
287 2002-01-02  Nick Drochak  <ndrochak@gol.com>
289         * CodeAccessPermission.cs: Fix syntax error hidden by exclusion in .build file
291 2001-12-30  Nick Drochak  <ndrochak@gol.com>
293         * PermissionSet.cs SecurityManager.cs: New Files
294         * CodeAccessPermission.cs: Add Skeleton code
295         * IPermission.cs: Make public and inherit from ISecurityEncodable 
296         * ISecurityEncodable.cs: Make interface public
297         * ISecurityPolicyEncodable.cs: Ditto
298         * IStackWalk.cs: Ditto
300 2001-12-29  Nick Drochak  <ndrochak@gol.com>
302         * ISecurityPolicyEncodable.cs, PolicyLevelType.cs, 
303         SecurityZone.cs, SecurityException.cs, UnverifiableCodeAttribute.cs,
304         SuppressUnmanagedCodeSecurityAttribute.cs,
305         VerificationException.cs, XmlSyntaxException.cs: New files
307 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
309         * SecurityElement.cs, CodeAccessPermission.cs IPermission.cs
310         IStackWalk.cs SecurityElement.cs ISecurityEncodable.cs: New files.
311