2004-09-20 Sebastien Pouliot <sebastien@ximian.com>
authorSebastien Pouliot <sebastien@ximian.com>
Mon, 20 Sep 2004 20:56:00 +0000 (20:56 -0000)
committerSebastien Pouliot <sebastien@ximian.com>
Mon, 20 Sep 2004 20:56:00 +0000 (20:56 -0000)
* AssemblyBuilder.cs: Fixed assembly-level permissions. I don't know
why I splitted them all into individual entries when only a single set
is accepted for each security action :(.

svn path=/trunk/mcs/; revision=34103

mcs/class/corlib/System.Reflection.Emit/AssemblyBuilder.cs
mcs/class/corlib/System.Reflection.Emit/ChangeLog

index 772e6833fe2d3092e2e938516ba176a34dcbc96b..6743bc6c72953de049b150702712e19461ccd862 100755 (executable)
@@ -225,28 +225,19 @@ namespace System.Reflection.Emit {
                        // required to reuse AddDeclarativeSecurity support 
                        // already present in the runtime
                        if (required != null) {
-                               int i = 0;
-                               permissions_minimum = new RefEmitPermissionSet [required.Count];
-                               foreach (IPermission p in required) {
-                                       permissions_minimum [i++] = new RefEmitPermissionSet (
-                                               SecurityAction.RequestMinimum, p.ToXml ().ToString ());
-                               }
+                               permissions_minimum = new RefEmitPermissionSet [1];
+                               permissions_minimum [0] = new RefEmitPermissionSet (
+                                       SecurityAction.RequestMinimum, required.ToXml ().ToString ());
                        }
                        if (optional != null) {
-                               int i = 0;
-                               permissions_optional = new RefEmitPermissionSet [optional.Count];
-                               foreach (IPermission p in optional) {
-                                       permissions_optional [i++] = new RefEmitPermissionSet (
-                                               SecurityAction.RequestOptional, p.ToXml ().ToString ());
-                               }
+                               permissions_optional = new RefEmitPermissionSet [1];
+                               permissions_optional [0] = new RefEmitPermissionSet (
+                                       SecurityAction.RequestOptional, optional.ToXml ().ToString ());
                        }
                        if (refused != null) {
-                               int i = 0;
-                               permissions_refused = new RefEmitPermissionSet [refused.Count];
-                               foreach (IPermission p in refused) {
-                                       permissions_refused [i++] = new RefEmitPermissionSet (
-                                               SecurityAction.RequestRefuse, p.ToXml ().ToString ());
-                               }
+                               permissions_refused = new RefEmitPermissionSet [1];
+                               permissions_refused [0] = new RefEmitPermissionSet (
+                                       SecurityAction.RequestRefuse, refused.ToXml ().ToString ());
                        }
                }
 
index b7d7bf7162142c25782a70c40702f550a30e811f..025bf60e18a9ae13d38fb0d07c18937bd3f5c1b0 100644 (file)
@@ -1,3 +1,9 @@
+2004-09-20  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * AssemblyBuilder.cs: Fixed assembly-level permissions. I don't know 
+       why I splitted them all into individual entries when only a single set
+       is accepted for each security action :(.
+
 2004-09-17  Zoltan Varga  <vargaz@freemail.hu>
 
        * CustomAttributeBuilder.cs: Applied patch from Marcus Urban (mathpup@mylinuxisp.com). Add support for defining custom marshallers by calling SetCustomAttribute.