This is the mail archive of the mauve-patches@sourceware.org mailing list for the Mauve project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FIY: More security manager related fixlets


2009-07-09 Mario Torre <neugens@aicas.com>

    * gnu/testlet/java/lang/SecurityManager/thread.java:
    make sure SecurityManager is installed.
    * gnu/testlet/java/lang/System/security.java:
    clear property that we assume to be non existing
    (needed if test runs several time without exiting the vm).
    * gnu/testlet/java/net/URLClassLoader/security.java:
    * gnu/testlet/java/lang/Thread/security10.java
    Thread.enumerate does checks on ThreadGroup, but not on Thread
    create fake URLStreamHandler

--
Mario Torre, Software Developer, http://www.jroller.com/neugens/
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-44
pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
Fingerprint: BA39 9666 94EC 8B73 27FA  FC7C 4086 63E3 80F2 40CF

USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
Geschäftsführer: Dr. James J. Hunt

Please, support open standards:
http://endsoftpatents.org/

# This patch file was generated by NetBeans IDE
# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
# It uses platform neutral UTF-8 encoding.
# Above lines and this line are ignored by the patching process.
Index: mauve/gnu/testlet/java/lang/SecurityManager/thread.java
--- mauve/gnu/testlet/java/lang/SecurityManager/thread.java Base (1.3)
+++ mauve/gnu/testlet/java/lang/SecurityManager/thread.java Locally Modified (Based On 1.3)
@@ -54,6 +54,10 @@
     // Check we're checking
     TestSecurityManager sm = new TestSecurityManager(harness);
 
+    try
+      {
+        sm.install();
+        
     sm.prepareChecks(new Permission[] {
       new RuntimePermission("modifyThread")});
     sm.checkAccess(thread);
@@ -64,4 +68,9 @@
     sm.checkAccess(group);
     sm.checkAllChecked();
   }
+    finally
+      {
+        sm.uninstall();
 }
+  }
+}
Index: mauve/gnu/testlet/java/lang/System/security.java
--- mauve/gnu/testlet/java/lang/System/security.java Base (1.6)
+++ mauve/gnu/testlet/java/lang/System/security.java Locally Modified (Based On 1.6)
@@ -34,6 +34,7 @@
 {
   public void test(TestHarness harness)
   {
+    String not_a_property = "java.monkey.flump";
     try {
       harness.checkPoint("setup");
 
@@ -48,12 +49,12 @@
       Properties properties = System.getProperties();
 
       String a_property = "java.vm.name";
-      String not_a_property = "java.monkey.flump";
       harness.check(properties.containsKey(a_property));
       harness.check(!properties.containsKey(not_a_property));
       
+      //exitVM.0 or set compare style to implies
       Permission[] exitVM = new Permission[] {
-	new RuntimePermission("exitVM")};
+	new RuntimePermission("exitVM.0")};
 
       Permission[] loadLibrary_name = new Permission[] {
 	new RuntimePermission("loadLibrary." + library_name)};
@@ -307,6 +308,7 @@
       }
       finally {
 	sm.uninstall();
+        System.clearProperty(not_a_property);
       }
     }
     catch (Exception ex) {
Index: mauve/gnu/testlet/java/lang/Thread/security10.java
--- mauve/gnu/testlet/java/lang/Thread/security10.java Base (1.3)
+++ mauve/gnu/testlet/java/lang/Thread/security10.java Locally Modified (Based On 1.3)
@@ -34,6 +34,10 @@
     {
       throw new SecurityException();
     }
+    public void checkAccess(ThreadGroup thread)
+    {
+      throw new SecurityException();
+    }
 
     public void checkPermission(Permission perm)
     {
@@ -63,6 +67,8 @@
     
     Thread testThread = new Thread();
     
+    ThreadGroup group = new ThreadGroup("MyGroup");
+
     System.setSecurityManager(new MySecurityManager());
     
     Runnable run = new Runnable()
@@ -115,8 +121,6 @@
 
     h.checkPoint("Thread creation with ThreadGroup");
     
-    ThreadGroup group = new ThreadGroup("MyGroup");
-
     try
       {
 	Thread thread = new Thread(group, "MyThread");
@@ -267,9 +271,12 @@
 
     try
       {
+        /**
+         * does not call checkAccess(Thread) but
+         * checkAccess(ThreadGroup)
+         */
 	Thread[] array = new Thread[1];
-	array[0] = Thread.currentThread();
-	testThread.enumerate(array);
+	Thread.enumerate(array);
 	h.check(false);
       }
     catch (SecurityException e)
Index: mauve/gnu/testlet/java/net/URLClassLoader/security.java
--- mauve/gnu/testlet/java/net/URLClassLoader/security.java Base (1.2)
+++ mauve/gnu/testlet/java/net/URLClassLoader/security.java Locally Modified (Based On 1.2)
@@ -22,8 +22,10 @@
 
 package gnu.testlet.java.net.URLClassLoader;
 
+import java.io.IOException;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.net.URLConnection;
 import java.net.URLStreamHandler;
 import java.net.URLStreamHandlerFactory;
 import java.security.Permission;
@@ -97,7 +99,13 @@
   {
     public URLStreamHandler createURLStreamHandler(String protocol)
     {
+      return new URLStreamHandler()
+        {
+          protected URLConnection openConnection(URL u) throws IOException
+          {
       throw new RuntimeException("not implemented");
     }
+        };
   }
 }
+}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]