aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-04-28 07:05:07 +0200
committerSven Gothel <[email protected]>2010-04-28 07:05:07 +0200
commit9346e4f91dc468730efac8ad6f1d9d8024e8e93b (patch)
tree756d532b60ee805c87833105e6ae0a43536c1a06
parente5720ee629fba06bc266265b42eb559150f7d7a3 (diff)
Fix privileged access (applet)
-rwxr-xr-xmake/scripts/deploy-jar-sign.sh36
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/GLDrawableFactoryImpl.java8
2 files changed, 43 insertions, 1 deletions
diff --git a/make/scripts/deploy-jar-sign.sh b/make/scripts/deploy-jar-sign.sh
new file mode 100755
index 000000000..d6291c45c
--- /dev/null
+++ b/make/scripts/deploy-jar-sign.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+
+jarfile=$1
+shift
+
+keystore=$1
+shift
+
+storepass=$1
+shift
+
+signarg=$1
+shift
+
+if [ -z "$jarfile" -o -z "$keystore" -o -z "$storepass" ] ; then
+ echo "usage $0 jarfile pkcs12-keystore storepass [signarg]"
+ exit 1
+fi
+
+if [ ! -e $jarfile ] ; then
+ echo $jarfile does not exist
+ exit 1
+fi
+
+if [ ! -e $keystore ] ; then
+ echo $keystore does not exist
+ exit 1
+fi
+
+THISDIR=`pwd`
+
+echo jarsigner -storetype pkcs12 -keystore $keystore $jarfile \"$signarg\"
+jarsigner -storetype pkcs12 -keystore $THISDIR/$keystore -storepass $storepass $jarfile "$signarg"
+
+cd $THISDIR
+
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/GLDrawableFactoryImpl.java b/src/jogl/classes/com/jogamp/opengl/impl/GLDrawableFactoryImpl.java
index 8f0299c1c..50e2edddb 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/GLDrawableFactoryImpl.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/GLDrawableFactoryImpl.java
@@ -45,6 +45,7 @@ import javax.media.opengl.*;
import com.jogamp.common.util.*;
import com.jogamp.gluegen.runtime.*;
import java.lang.reflect.*;
+import java.security.*;
/** Extends GLDrawableFactory with a few methods for handling
typically software-accelerated offscreen rendering (Device
@@ -185,7 +186,12 @@ public abstract class GLDrawableFactoryImpl extends GLDrawableFactory {
}
});
}
- Runtime.getRuntime().addShutdownHook(factoryShutdownHook);
+ AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run() {
+ Runtime.getRuntime().addShutdownHook(factoryShutdownHook);
+ return null;
+ }
+ });
factoryShutdownHookRegistered = true;
}