1 2005-01-22 Sebastien Pouliot <sebastien@ximian.com>
3 * SecurityFrame.cs: Keep RuntimeDeclSecurityEntry enum in sync with
4 runtime (added index to allow AOT to work with declarative security).
6 2005-01-19 Sebastien Pouliot <sebastien@ximian.com>
8 * SecurityManager.cs: Fix the regressions on NET_1_1 introduced by my
9 refactoring 10 days ago.
11 2005-01-11 Sebastien Pouliot <sebastien@ximian.com>
13 * PermissionSet.cs: Simplified GetHashCode as two exact copies may
14 have different hash codes (documented as such). This fix some unit
17 2005-01-10 Sebastien Pouliot <sebastien@ximian.com>
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.
26 2005-01-09 Sebastien Pouliot <sebastien@ximian.com>
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.
43 2005-01-08 Sebastien Pouliot <sebastien@ximian.com>
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;
51 2004-12-20 Sebastien Pouliot <sebastien@ximian.com>
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
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
64 2004-11-30 Sebastien Pouliot <sebastien@ximian.com>
66 * CodeAccessPermission.cs:
67 * NamedPermissionSet.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).
75 2004-10-19 Sebastien Pouliot <sebastien@ximian.com>
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).
81 2004-10-15 Sebastien Pouliot <sebastien@ximian.com>
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
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).
97 2004-10-15 Sebastien Pouliot <sebastien@ximian.com>
99 * SecurityException.cs: Provide more details when a security exception
100 is raised (to help debugging).
102 2004-09-02 Sebastien Pouliot <sebastien@ximian.com>
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.
108 2004-09-01 Sebastien Pouliot <sebastien@ximian.com>
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).
121 2004-08-31 Sebastien Pouliot <sebastien@ximian.com>
123 * PermissionSet.cs: Fixed RemovePermission and Intersect (due to typos
124 in unit tests). Fixed SetPermission (null).
126 2004-08-30 Sebastien Pouliot <sebastien@ximian.com>
128 * NamedPermissionSet.cs: Fixed Description in copies, GetHashCode and
129 Equals (for NET_2_0). Fixed handling of null Name when deserialized
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.
140 2004-08-26 Sebastien Pouliot <sebastien@ximian.com>
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).
147 2004-08-19 Atsushi Enomoto <atsushi@ximian.com>
149 * CodeAccessPermission.cs : csc build fix. Currently mcs has bugs on
150 CS0136 error detection (variable identifiers in switch cases share
153 2004-08-17 Sebastien Pouliot <sebastien@ximian.com>
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.
159 2004-08-12 Sebastien Pouliot <sebastien@ximian.com>
161 * SecurityManager.cs: Change ResolvePolicy to only care about host
162 provided evidence to create identity permissions.
163 * SecurityContextSwitcher.cs: Added missing [ReliabilityContract] to
166 2004-08-11 Sebastien Pouliot <sebastien@ximian.com>
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
173 * PermissionSet.cs: Fixed Unrestricted when copied. Changed exception
174 ordering in Copy (ArgumentNullException couldn't work). Made IsEmpty
176 * SecurityManager.cs: Implemented IsGranted using Assembly.Demand.
177 Basic implementation for policy resolution.
179 2004-08-03 Sebastien Pouliot <sebastien@ximian.com>
181 * PermissionSetCollection.cs: New class in Fx 2.0.
182 * SecureString.cs: New class in Fx 2.0. Not yet encrypted.
184 2004-08-02 Sebastien Pouliot <sebastien@ximian.com>
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.
192 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
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.
212 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
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.
220 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
222 * XmlSyntaxException.cs: added missing serialization ctor
223 * SecurityException.cs: fixed typo
225 2004-03-05 Atsushi Enomoto <atsushi@ximian.com>
227 * SecurityElement.cs : ignore prefix; this enables RSA.FromXmlString()
228 to allow namespaced elements.
230 2004-01-27 Sebastien Pouliot <spouliot@videotron.ca>
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).
236 2004-01-26 Sebastien Pouliot <spouliot@videotron.ca>
238 * NamedPermissionSet.cs: Changed internal constructor
239 NamedPermissionSet (SecurityElement e) to NamedPermissionSet ().
240 * PermissionSet.cs: Changed internal constructor
241 PermissionSet (SecurityElement e) to PermissionSet ().
243 2004-01-24 David Sheldon <dave-mono@earth.li>
245 * SecurityElement.cs: Changed indentation in ToString, it seems
246 MS indent by 3 spaces, not 4. Also added NewLine to childless
249 2004-01-24 David Sheldon <dave-mono@earth.li>
251 * SecurityElement.cs: Changed newline distribution in ToString.
254 2004-01-06 Sebastien Pouliot <spouliot@videotron.ca>
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
263 2004-01-05 Sebastien Pouliot <spouliot@videotron.ca>
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).
272 2004-01-03 Sebastien Pouliot <spouliot@videotron.ca>
274 * SecurityManager.cs: Added some basic stuff to make some security unit
275 tests works (mostly when using PolicyHierarchy).
277 2004-01-02 Sebastien Pouliot <spouliot@videotron.ca>
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)
294 2003-06-29 Sebastien Pouliot <spouliot@videotron.ca>
296 * PermissionSet.cs: Added missing "virtual" to Count, IsSynchronized
299 2003-06-29 Nick Drochak <ndrochak@gol.com>
301 * NamedPermissionSet.cs : Fix buglet/typo/thinko. Thank you unit tests.
303 2003-06-28 Sebastien Pouliot <spouliot@videotron.ca>
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.
314 2003-05-09 Sebastien Pouliot <spouliot@videotron.ca>
316 * AllowPartiallyTrustedCallersAttribute.cs: New. Class was missing
317 from original 1.0 documentation (but inclufed in framework 1.0)
319 2002-06-10 Duncan Mak <duncan@ximian.com>
321 * IEvidenceFactory.cs (Evidence): Added missing method.
323 * SuppressUnmanagedCodeSecurityAttribute.cs:
324 * UnverifiableCodeAttribute.cs: Added missing
325 AttributeUsage attribute.
327 2002-06-05 Nick Drochak <ndrochak@gol.com>
329 * SecurityElement.cs: Fixed couple of hard to spot typos which were
330 causing valid names and keys to be rejected.
332 2002-04-28 Lawrence Pit <loz@cable.a2000.nl>
334 * CodeAccessPermission.cs : implemented ToString method
336 2002-04-27 Lawrence Pit <loz@cable.a2000.nl>
338 * SecurityElement.cs: fixed bugs, implemented several methods
340 2002-03-12 Duncan Mak <duncan@ximian.com>
342 * SecurityException.cs: Inherit from SystemException, not Exception.
344 2002-02-23 Nick Drochak <ndrochak@gol.com>
346 * SecurityElement.cs: fixed typo
348 2002-02-13 Dan Lewis <dihlewis@yahoo.co.uk>
350 * NamedPermissionSet.cs: New file (stub)
352 2002-02-07 Duncan Mak <duncan@ximian.com>
354 * SecurityException.cs: Reformatted to fit the form of other
355 Exceptions. Added serialization bits.
357 2002-01-05 Ravi Pratap <ravi@ximian.com>
359 * SecurityElement.cs : Insert MonoTODO attribute.
361 2002-01-02 Nick Drochak <ndrochak@gol.com>
363 * CodeAccessPermission.cs: Fix syntax error hidden by exclusion in .build file
365 2001-12-30 Nick Drochak <ndrochak@gol.com>
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
374 2001-12-29 Nick Drochak <ndrochak@gol.com>
376 * ISecurityPolicyEncodable.cs, PolicyLevelType.cs,
377 SecurityZone.cs, SecurityException.cs, UnverifiableCodeAttribute.cs,
378 SuppressUnmanagedCodeSecurityAttribute.cs,
379 VerificationException.cs, XmlSyntaxException.cs: New files
381 2001-12-21 Miguel de Icaza <miguel@ximian.com>
383 * SecurityElement.cs, CodeAccessPermission.cs IPermission.cs
384 IStackWalk.cs SecurityElement.cs ISecurityEncodable.cs: New files.