* FIY: More security manager related fixlets
@ 2009-07-24 11:08 Mario Torre
0 siblings, 0 replies; only message in thread
From: Mario Torre @ 2009-07-24 11:08 UTC (permalink / raw)
To: mauve-patches
[-- Attachment #1: Type: text/plain, Size: 1062 bytes --]
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/
[-- Attachment #2: 2009-07-24-security-manager-2.patch --]
[-- Type: text/x-patch, Size: 4067 bytes --]
# 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");
}
+ };
}
}
+}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-07-24 11:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-24 11:08 FIY: More security manager related fixlets Mario Torre
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).