Example #1
0
        public void FromXML()
        {
            p = new FileIOPermission(PermissionState.None);
            SecurityElement esd = new SecurityElement("IPermission");

            esd.AddAttribute("class", "FileIOPermission");
            esd.AddAttribute("version", "1");
            esd.AddAttribute("Unrestricted", "true");
            p.FromXml(esd);
            Assert.IsTrue(p.IsUnrestricted(), "Should get an unrestricted permission");

            esd = new SecurityElement("IPermission");
            esd.AddAttribute("class", "FileIOPermission");
            esd.AddAttribute("version", "1");
            // FIXME: Adjust to run on Mac OS's
            if (Path.VolumeSeparatorChar == ':')
            {
                esd.AddAttribute("Read", "c:\\temp;d:\\temp2");
                esd.AddAttribute("Write", "c:\\temp;d:\\temp2;z:\\temp3");
            }
            else
            {
                esd.AddAttribute("Read", "/temp;/usr/temp2");
                esd.AddAttribute("Write", "/temp;/usr/temp2;/usr/bin/temp3");
            }
            p = new FileIOPermission(PermissionState.None);
            p.FromXml(esd);
            pathsInPermission = p.GetPathList(FileIOPermissionAccess.Read);
            Assert.IsTrue(pathsInPermission.Length == 2, "Path list should have 2 for Read");
            pathsInPermission = p.GetPathList(FileIOPermissionAccess.Write);
            Assert.IsTrue(pathsInPermission.Length == 3, "Path list should have 2 for Write");
        }
Example #2
0
        public static void FileIOPermissionCallMethods()
        {
            FileIOPermissionAccess fiopa = new Permissions.FileIOPermissionAccess();
            FileIOPermission       fiop  = new FileIOPermission(fiopa, "testpath");
            FileIOPermission       fiop2 = new FileIOPermission(new Permissions.PermissionState());

            fiop.AddPathList(fiopa, "testpath");
            fiop.AddPathList(fiopa, new string[1] {
                "testpath"
            });
            IPermission ip = fiop.Copy();

            fiop.Equals(new object());
            int hash = fiop.GetHashCode();

            string[]    pathlist = fiop.GetPathList(fiopa);
            IPermission ip2      = fiop.Intersect(ip);

            fiop.IsSubsetOf(ip);
            bool isunrestricted = fiop.IsUnrestricted();

            fiop.SetPathList(fiopa, "testpath");
            fiop.SetPathList(fiopa, new string[1] {
                "testpath"
            });
            IPermission     ip3 = fiop.Union(ip);
            SecurityElement se  = new SecurityElement("");

            fiop.FromXml(se);
            se = fiop.ToXml();
        }
Example #3
0
 public static void FileIOPermissionCallMethods()
 {
     FileIOPermissionAccess fiopa = new Permissions.FileIOPermissionAccess();
     FileIOPermission fiop = new FileIOPermission(fiopa, "testpath");
     FileIOPermission fiop2 = new FileIOPermission(new Permissions.PermissionState());
     fiop.AddPathList(fiopa, "testpath");
     fiop.AddPathList(fiopa, new string[1] { "testpath" });
     IPermission ip = fiop.Copy();
     fiop.Equals(new object());
     int hash = fiop.GetHashCode();
     string[] pathlist = fiop.GetPathList(fiopa);
     IPermission ip2 = fiop.Intersect(ip);
     fiop.IsSubsetOf(ip);
     bool isunrestricted = fiop.IsUnrestricted();
     fiop.SetPathList(fiopa, "testpath");
     fiop.SetPathList(fiopa, new string[1] { "testpath" });
     IPermission ip3 = fiop.Union(ip);
     SecurityElement se = new SecurityElement("");
     fiop.FromXml(se);
     se = fiop.ToXml();
 }
Example #4
0
    //</Snippet5>

    // ToXml creates an XML encoding of the permission and its current state;
    // FromXml reconstructs a permission with the specified state from the XML encoding.
    //<Snippet6>
    private bool ToFromXmlDemo()
    {
        bool returnValue = true;

        string           fileIO1;
        FileIOPermission fileIOPerm1, fileIOPerm2;

        FileIOGenerator fileIOGen1 = new FileIOGenerator();
        FileIOGenerator fileIOGen2 = new FileIOGenerator();

        fileIOGen1.ResetIndex();
        while (fileIOGen1.CreateFilePath(out fileIO1))
        {
            if (fileIO1 == "")
            {
                fileIOPerm1 = new FileIOPermission(PermissionState.None);
            }
            else
            {
                fileIOPerm1 = new FileIOPermission(FileIOPermissionAccess.Read, fileIO1);
            }

            Console.WriteLine("********************************************************\n");
            fileIOGen2.ResetIndex();
            try
            {
                fileIOPerm2 = new FileIOPermission(PermissionState.None);
                fileIOPerm2.FromXml(fileIOPerm1.ToXml());
                Console.WriteLine("Result of ToFromXml = " + fileIOPerm2.ToString() + "\n");
            }
            catch (Exception e)
            {
                Console.WriteLine("ToFromXml failed :" + fileIOPerm1.ToString() + e);
                continue;
            }
        }

        return(returnValue);
    }