* SecurityFrame.cs: Keep RuntimeDeclSecurityEntry enum in sync with runtime (added...
[mono.git] / mcs / class / corlib / System.Security / ChangeLog
1 2005-01-22  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * SecurityFrame.cs: Keep RuntimeDeclSecurityEntry enum in sync with
4         runtime (added index to allow AOT to work with declarative security).
5
6 2005-01-19  Sebastien Pouliot  <sebastien@ximian.com>
7
8         * SecurityManager.cs: Fix the regressions on NET_1_1 introduced by my
9         refactoring 10 days ago.
10
11 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
12
13         * PermissionSet.cs: Simplified GetHashCode as two exact copies may 
14         have different hash codes (documented as such). This fix some unit
15         tests for 2.0.
16
17 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
18
19         * HostSecurityManager.cs: Fix signature as DetermineApplicationTrust
20         doesn't return a boolean anymore.
21         * SecurityElement.cs: The attributes and children elements are not
22         indented in 2.0. This fix many unit tests that do string compares.
23         * PermissionSetCollection.cs: We can't trust all IList implementations
24         to throw the ArgumentOutOfRangeException - so we better do it here.
25
26 2005-01-09  Sebastien Pouliot  <sebastien@ximian.com>
27
28         * CodeAccessPermission.cs: CheckAssert, CheckDemand, CheckDeny and
29         CheckPermitOnly are no more publicly avaiable in Fx 2.0 and have been
30         changed to internal for all profiles. Updated comments to reflect the
31         (better) documentation available with 2.0.
32         * HostSecurityManager.cs: Updated to Dec CTP specs. There is missing
33         documentation (and/or classes) to implement completly the 
34         DetermineApplicationTrust method at this point.
35         * PermissionSetCollection.cs: Completed implementation.
36         * PermissionSet.cs: Fix the case where Assert, Deny and PermitOnly 
37         must be ignored for non-CAS permissions.
38         * SecurityManager.cs: Refactored resolve methods to implements 
39         ResolveSystemPolicy (a resolve without the AppDomain policy level).
40         Added a default implementation for GetZoneAndOrigin (empty ArrayList) 
41         which seems to be right (at least) for FullTrust. 
42
43 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
44
45         * AllowPartiallyTrustedCallersAttribute.cs: Cleanup;
46         * HostSecurityManagerFlags.cs: Updated flags for 2.0 Dec CTP.
47         * SecurityCriticalAttribute.cs: New. New 2.0 attribute.
48         * SecurityTransparentAttribute.cs: New. New 2.0 attribute.
49         * SuppressUnmanagedCodeSecurityAttribute.cs: Cleanup;
50
51 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
52
53         * CodeAccessPermission.cs: Refactored to play more nicely with 
54         PermissionSet and the new functionalities in the runtime.
55         * PermissionSet.cs: Modified to use the new functionalities in the
56         runtime. This allows the declarative stack modifiers to work in a 
57         stack walk.
58         * SecurityFrame.cs: New. This is the managed representation of the
59         security informations associated with a stack frame. This current
60         version only support declarative stack modifiers.
61         * SecurityManager.cs: Modified to use the new functionalities in the
62         runtime.
63
64 2004-11-30  Sebastien Pouliot  <sebastien@ximian.com>
65
66         * CodeAccessPermission.cs:
67         * NamedPermissionSet.cs:
68         * PermissionSet.cs:
69         * SecurityElement.cs:
70         * SecurityException.cs:
71                 Added ComVisible attributes to match 2.0 October Preview.
72         * SecureString.cs: Added an internal method to get the unencrypted 
73         string (required to use the string inside mscorlib).
74
75 2004-10-19  Sebastien Pouliot  <sebastien@ximian.com>
76
77         * SecurityManager.cs: Changed private static methods to use a single
78         parameter (as method permissions overrides class permissions for
79         demand, assert, deny and permitonly).
80
81 2004-10-15  Sebastien Pouliot  <sebastien@ximian.com>
82
83         * CodeAccessPermission.cs: Implemented stubs (soon to be icalls) to
84         get/set/clear the current security frame on the stack. Implemented
85         Assert, Deny and PermitOnly with the new methods. Changed Demand to
86         use the CheckAssert, CheckDeny, CheckPermitOnly and CheckDemand 
87         introduced in 2.0.
88         * PermissionSet.cs: Fixed IsEmpty using documentation from 2.0 beta 1.
89         Implemented immediate (i.e. no stack walk) caller demand (CAS and 
90         non-CAS) required for LinkDemand and InheritanceDemand. Implemented
91         Assert, Deny and PermitOnly using CodeAccessPermission new methods.
92         Re-implement Demand to separate CAS and non-CAS permissions.
93         * SecurityManager.cs: Added new private static methods that will 
94         either be called by the JIT (linkdemand), runtime (inheritancedemand)
95         or by code emitted by the JIT (demand, assert, deny and permitonly).
96
97 2004-10-15  Sebastien Pouliot  <sebastien@ximian.com>
98
99         * SecurityException.cs: Provide more details when a security exception
100         is raised (to help debugging).
101
102 2004-09-02  Sebastien Pouliot  <sebastien@ximian.com>
103
104         * PermissionSet.cs: Updated to match latest unit tests, i.e. match
105         Fx 1.1 on NET_1_1 and Fx 2.0 (beta 1) in NET_2_0.
106         * SecurityElement.cs: FromString is now internal before NET_2_0.
107
108 2004-09-01  Sebastien Pouliot  <sebastien@ximian.com>
109
110         * NamedPermissionSet.cs: FromXml now calls base class instead of an
111         internal method of PermissionSet. This should allow class to inherit
112         from NamedPermissionSet properly.
113         * PermissionSet.cs: Added an internal PolicyLevel property to allow
114         policy file class name resolution. Fixed IsEmpty to return true if
115         the list contains "empty" permissions. Fixed Copy to copy permissions
116         even for unrestricted sets (again because of IUnrestrictedPermission).
117         * SecurityManager.cs: Fixed Resolve(Evidence) because permission 
118         classes Intersect methods can either return null or an empty 
119         PermissionSet.  Fixed ResolvePolicy(Evidence[]) for null (NET_2_0).
120
121 2004-08-31  Sebastien Pouliot  <sebastien@ximian.com>
122
123         * PermissionSet.cs: Fixed RemovePermission and Intersect (due to typos
124         in unit tests). Fixed SetPermission (null).
125
126 2004-08-30  Sebastien Pouliot  <sebastien@ximian.com>
127
128         * NamedPermissionSet.cs: Fixed Description in copies, GetHashCode and
129         Equals (for NET_2_0). Fixed handling of null Name when deserialized 
130         from XML.
131         * PermissionSet.cs: AddPermission now unions permissions of the same
132         type. CopyTo throw (most) exceptions only if there are items in the
133         set. Implemented Demand (but without support for Assert, Deny and 
134         PermitOnly). Fixed deserialized from XML when no class is specified.
135         Started implementation of ConvertPermissionSet (error cases). Fixed
136         Intersect to be compatible (including bugs like FDBK14612) with MS.
137         RemovePermission now compatible with MS (bug? FDBK14622). Fixed Union
138         to work with permissions that do not implement IUnrestrictedPermission.
139
140 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
141
142         * SecurityElement.cs: Fixed the new Copy() in Fx 2.0 as it isn't a 
143         deep copy. Throw proper exceptions in FromString (Fx 2.0).
144         * SecurityManager.cs: Throw a NullReference exception in 
145         SavePolicyLevel as MS won't fix it (FDBK13121).
146
147 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
148
149         * CodeAccessPermission.cs : csc build fix. Currently mcs has bugs on
150           CS0136 error detection (variable identifiers in switch cases share
151           the scope).
152
153 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
154
155         * CodeAccessPermission.cs: Added common methods to help building all
156         Permissions classes in corlib. Most are declared static as they can 
157         also help non CodeAccessPermission-derived permissions.
158
159 2004-08-12  Sebastien Pouliot  <sebastien@ximian.com>
160
161         * SecurityManager.cs: Change ResolvePolicy to only care about host
162         provided evidence to create identity permissions.
163         * SecurityContextSwitcher.cs: Added missing [ReliabilityContract] to 
164         Undo method.
165
166 2004-08-11  Sebastien Pouliot  <sebastien@ximian.com>
167
168         * CodeAccessPermission.cs: Basic implementation for Demand (without
169         full stack trace, i.e. Assert, Deny and PermitOnly aren't considered).
170         Added TODO to unimplemented NET_2_0 methods.
171         * HostSecurityManager.cs: Added comments (as it looked not implemented
172         even to myself).
173         * PermissionSet.cs: Fixed Unrestricted when copied. Changed exception
174         ordering in Copy (ArgumentNullException couldn't work). Made IsEmpty
175         more robust.
176         * SecurityManager.cs: Implemented IsGranted using Assembly.Demand. 
177         Basic implementation for policy resolution.
178
179 2004-08-03  Sebastien Pouliot  <sebastien@ximian.com>
180
181         * PermissionSetCollection.cs: New class in Fx 2.0.
182         * SecureString.cs: New class in Fx 2.0. Not yet encrypted.
183
184 2004-08-02  Sebastien Pouliot  <sebastien@ximian.com>
185
186         * PolicyTypeLevel.cs: Removed duplicate license.
187         * SecurityManager.cs: Moved secuirty demands as attributes (but mcs 
188         doesn't seem to encode them properly as they show up in corcompare).
189         Implemented IsGranted, ResolvePolicy (but some code is still missing
190         in related classes) and SavePolicy/SavePolicyLevel.
191
192 2004-07-14  Sebastien Pouliot  <sebastien@ximian.com>
193
194         * CodeAccessPermission.cs: Added CheckAssert, CheckDemand, CheckDeny,
195         CheckPermitOnly, Equals and GetHashCode to NET_2_0 profile. Actualized
196         TODOs. Removed duplicate license.
197         * NamedPermissionSet.cs: Added Equals/GetHashCode to NET_2_0 profile.
198         Removed duplicate license.
199         * PermissionSet.cs: Added Equals/GetHashCode to NET_2_0 profile. 
200         Removed duplicate license.
201         * SecurityElement.cs: Added Copy and FromString methods to NET_2_0 
202         profile. Removed duplicate license.
203         * SecurityException.cs: Added new constructors and properties to 
204         NET_2_0 profile. Removed duplicate license.
205         * SecurityManager.cs: Added GetZoneAndOrigin and ResolvePolicy to 
206         NET_2_0 profile. Removed duplicate license.
207         * VerificationException.cs: Implements _Exception for NET_2_0 profile.
208         Removed duplicate license.
209         * XmlSyntaxException.cs: Implements _Exception for NET_2_0 profile. 
210         Removed duplicate license.
211
212 2004-07-14  Sebastien Pouliot  <sebastien@ximian.com>
213
214         * HostProtectionException.cs: New class in Fx 2.0.
215         * HostSecurityManager.cs: New class in Fx 2.0.
216         * HostSecurityManagerFlags.cs: New enum in Fx 2.0.
217         * SecurityContext.cs: New class in Fx 2.0.
218         * SecurityContextSwitcher.cs: New structure in Fx 2.0.
219
220 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
221
222         * XmlSyntaxException.cs: added missing serialization ctor
223         * SecurityException.cs: fixed typo
224
225 2004-03-05  Atsushi Enomoto <atsushi@ximian.com>
226
227         * SecurityElement.cs : ignore prefix; this enables RSA.FromXmlString()
228           to allow namespaced elements.
229
230 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
231
232         * SecurityElement.cs: Attributes are now kept in an ArrayList (but
233         still returned in an Hashtable) so the attributes order can be
234         kept like MS implementation (but Hashtable cannot guarantee this).
235
236 2004-01-26  Sebastien Pouliot  <spouliot@videotron.ca>
237
238         * NamedPermissionSet.cs: Changed internal constructor 
239         NamedPermissionSet (SecurityElement e) to NamedPermissionSet ().
240         * PermissionSet.cs: Changed internal constructor 
241         PermissionSet (SecurityElement e) to PermissionSet ().
242
243 2004-01-24  David Sheldon <dave-mono@earth.li>
244
245        * SecurityElement.cs: Changed indentation in ToString, it seems
246         MS indent by 3 spaces, not 4. Also added NewLine to childless 
247         elements.
248
249 2004-01-24  David Sheldon <dave-mono@earth.li>
250
251        * SecurityElement.cs: Changed newline distribution in ToString.
252          Matches MS better.
253
254 2004-01-06  Sebastien Pouliot  <spouliot@videotron.ca>
255
256         * CodeAccessPermission.cs: Fixed Demand for custom permissions 
257         (permissions that do not implement, the internal, IBuiltInPermission).
258         Ref. http://bugzilla.ximian.com/show_bug.cgi?id=52626
259         * SecurityException.cs: Fixed ToString() which could, when no 
260         PermissionType where specified, throws a NullReferenceException.
261         Ref. http://bugzilla.ximian.com/show_bug.cgi?id=52626
262
263 2004-01-05  Sebastien Pouliot  <spouliot@videotron.ca>
264
265         * CodeAccessPermission.cs: Fixed Union to match 1.1/1.2 documentation. 
266         Simplified ToString to match MS implementation. Added LAMESPEC to 
267         Assert, Demand, Deny and PermitOnly as they aren't virtual.
268         * NamedPermissionSet.cs: Added internal constructor for PolicyLevel. 
269         * PermissionSet.cs: Added internal constructor for PolicyLevel. 
270         * SecurityManager.cs: Moved some stuff to PolicyLevel class (e.g. Load).
271
272 2004-01-03  Sebastien Pouliot  <spouliot@videotron.ca>
273
274         * SecurityManager.cs: Added some basic stuff to make some security unit
275         tests works (mostly when using PolicyHierarchy).
276
277 2004-01-02  Sebastien Pouliot  <spouliot@videotron.ca>
278
279         * AllowPartiallyTrustedCallersAttribute.cs: Fixed AttributeUsage using
280         1.2 documentation (AllowMultiple=false, Inherited=false)
281         * NamedPermissionSet.cs: Changes to match unit tests.
282         * PermissionSet.cs: Implemented Copy, Intersect, IsSubsetOf and Union 
283         methods. Corrected FromXml.
284         * PolicyLevelType.cs: Added missing [Serializable].
285         * SecurityElement.cs: Fixed constructor to match unit tests.
286         * SecurityException.cs: Added support for GrantedSet and RefusedSet 
287         properties (since 1.1). Set HResult to 0x8013150A.
288         * SecurityZone.cs: Added missing [Serializable].
289         * SuppressUnmanagedCodeSecurityAttribute.cs: Fixed AttributeUsage using
290         1.2 documentation (AllowMultiple=true, Inherited=false)
291         * UnverifiableCodeAttribute.cs: Fixed AttributeUsage using 1.2 
292         documentation (AllowMultiple=true, Inherited=false)
293
294 2003-06-29  Sebastien Pouliot  <spouliot@videotron.ca>
295
296         * PermissionSet.cs: Added missing "virtual" to Count, IsSynchronized 
297         and SyncRoot.
298
299 2003-06-29  Nick Drochak  <ndrochak@gol.com>
300
301         * NamedPermissionSet.cs : Fix buglet/typo/thinko. Thank you unit tests.
302
303 2003-06-28  Sebastien Pouliot  <spouliot@videotron.ca>
304
305         * CodeAccessPermission.cs: Added missing methods. Removed old XML
306         documentation (present in monodoc). Added missing MonoTODO attrs.
307         * NamedPermissionSet.cs : Changed some code from result of unit 
308         tests. Updated MonoTODO attributes.
309         * PermissionSet.cs: Added missing methods. Removed old XML
310         documentation (present in monodoc). Added missing MonoTODO attrs.
311         Added code to some methods.
312         * SecurityManager.cs: Added missing MonoTODO attributes.
313
314 2003-05-09  Sebastien Pouliot  <spouliot@videotron.ca>
315
316         * AllowPartiallyTrustedCallersAttribute.cs: New. Class was missing
317         from original 1.0 documentation (but inclufed in framework 1.0)
318
319 2002-06-10  Duncan Mak  <duncan@ximian.com>
320
321         * IEvidenceFactory.cs (Evidence): Added missing method.
322         
323         * SuppressUnmanagedCodeSecurityAttribute.cs:
324         * UnverifiableCodeAttribute.cs: Added missing
325         AttributeUsage attribute.
326
327 2002-06-05  Nick Drochak  <ndrochak@gol.com>
328
329         * SecurityElement.cs: Fixed couple of hard to spot typos which were
330         causing valid names and keys to be rejected.
331
332 2002-04-28  Lawrence Pit <loz@cable.a2000.nl>
333
334         * CodeAccessPermission.cs : implemented ToString method
335
336 2002-04-27  Lawrence Pit <loz@cable.a2000.nl>
337
338         * SecurityElement.cs: fixed bugs, implemented several methods
339
340 2002-03-12  Duncan Mak  <duncan@ximian.com>
341
342         * SecurityException.cs: Inherit from SystemException, not Exception.
343
344 2002-02-23  Nick Drochak  <ndrochak@gol.com>
345
346         * SecurityElement.cs: fixed typo
347
348 2002-02-13  Dan Lewis <dihlewis@yahoo.co.uk>
349         
350         * NamedPermissionSet.cs: New file (stub)
351
352 2002-02-07  Duncan Mak  <duncan@ximian.com>
353
354         * SecurityException.cs: Reformatted to fit the form of other
355         Exceptions. Added serialization bits.
356
357 2002-01-05  Ravi Pratap  <ravi@ximian.com>
358
359         * SecurityElement.cs : Insert MonoTODO attribute.
360
361 2002-01-02  Nick Drochak  <ndrochak@gol.com>
362
363         * CodeAccessPermission.cs: Fix syntax error hidden by exclusion in .build file
364
365 2001-12-30  Nick Drochak  <ndrochak@gol.com>
366
367         * PermissionSet.cs SecurityManager.cs: New Files
368         * CodeAccessPermission.cs: Add Skeleton code
369         * IPermission.cs: Make public and inherit from ISecurityEncodable 
370         * ISecurityEncodable.cs: Make interface public
371         * ISecurityPolicyEncodable.cs: Ditto
372         * IStackWalk.cs: Ditto
373
374 2001-12-29  Nick Drochak  <ndrochak@gol.com>
375
376         * ISecurityPolicyEncodable.cs, PolicyLevelType.cs, 
377         SecurityZone.cs, SecurityException.cs, UnverifiableCodeAttribute.cs,
378         SuppressUnmanagedCodeSecurityAttribute.cs,
379         VerificationException.cs, XmlSyntaxException.cs: New files
380
381 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
382
383         * SecurityElement.cs, CodeAccessPermission.cs IPermission.cs
384         IStackWalk.cs SecurityElement.cs ISecurityEncodable.cs: New files.
385