dependence on 'sun.net.www.ParseUtil;' removed.
This commit is contained in:
parent
f9b6ab7c58
commit
5e59c093bb
|
@ -68,7 +68,6 @@ import java.util.jar.JarFile;
|
||||||
import java.util.jar.JarOutputStream;
|
import java.util.jar.JarOutputStream;
|
||||||
import java.util.jar.Pack200;
|
import java.util.jar.Pack200;
|
||||||
|
|
||||||
import sun.net.www.ParseUtil;
|
|
||||||
import sun.security.util.SecurityConstants;
|
import sun.security.util.SecurityConstants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -78,7 +77,7 @@ import sun.security.util.SecurityConstants;
|
||||||
* while the relevant jars (generic and native) are downloaded from a specified source.
|
* while the relevant jars (generic and native) are downloaded from a specified source.
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* The downloaded are extracted to the users temporary directory - and if enabled, cached for
|
* The downloaded jars are extracted to the users temporary directory - and if enabled, cached for
|
||||||
* faster loading in future uses.
|
* faster loading in future uses.
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -103,6 +102,7 @@ import sun.security.util.SecurityConstants;
|
||||||
* <li>al_fgcolor - [String] Hex formated color to use as foreground. <i>Default: 000000</i>.</li>
|
* <li>al_fgcolor - [String] Hex formated color to use as foreground. <i>Default: 000000</i>.</li>
|
||||||
* <li>al_errorcolor - [String] Hex formated color to use as foreground color on error. <i>Default: ff0000</i>.</li>
|
* <li>al_errorcolor - [String] Hex formated color to use as foreground color on error. <i>Default: ff0000</i>.</li>
|
||||||
* <li>al_debug - [boolean] Whether to enable debug mode. <i>Default: false</i>.</li>
|
* <li>al_debug - [boolean] Whether to enable debug mode. <i>Default: false</i>.</li>
|
||||||
|
* <li>al_prepend_host - [boolean] Whether to limit caching to this domain, disable if your applet is hosted on multple domains and needs to share the cache. <i>Default: true</i>.</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
* </p>
|
* </p>
|
||||||
* @author kappaOne
|
* @author kappaOne
|
||||||
|
@ -172,19 +172,19 @@ public class AppletLoader extends Applet implements Runnable, AppletStub {
|
||||||
/** Color to write errors in */
|
/** Color to write errors in */
|
||||||
protected Color errorColor = Color.red;
|
protected Color errorColor = Color.red;
|
||||||
|
|
||||||
/** color to write forground in */
|
/** color to write foreground in */
|
||||||
protected Color fgColor = Color.black;
|
protected Color fgColor = Color.black;
|
||||||
|
|
||||||
/** urls of the jars to download */
|
/** urls of the jars to download */
|
||||||
protected URL[] urlList;
|
protected URL[] urlList;
|
||||||
|
|
||||||
/** classLoader used to added downloaded jars to the classpath */
|
/** classLoader used to add downloaded jars to the classpath */
|
||||||
protected ClassLoader classLoader;
|
protected ClassLoader classLoader;
|
||||||
|
|
||||||
/** actual thread that does the loading */
|
/** actual thread that does the loading */
|
||||||
protected Thread loaderThread;
|
protected Thread loaderThread;
|
||||||
|
|
||||||
/** animation thread that renders our loaderscreen while loading */
|
/** animation thread that renders our load screen while loading */
|
||||||
protected Thread animationThread;
|
protected Thread animationThread;
|
||||||
|
|
||||||
/** applet to load after all downloads are complete */
|
/** applet to load after all downloads are complete */
|
||||||
|
@ -682,13 +682,13 @@ public class AppletLoader extends Applet implements Runnable, AppletStub {
|
||||||
urls[i] = new URL("file:" + path + getJarName(urlList[i]));
|
urls[i] = new URL("file:" + path + getJarName(urlList[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
// added downloaded jars to the classpath with required permissions
|
// add downloaded jars to the classpath with required permissions
|
||||||
classLoader = new URLClassLoader(urls) {
|
classLoader = new URLClassLoader(urls) {
|
||||||
protected PermissionCollection getPermissions (CodeSource codesource) {
|
protected PermissionCollection getPermissions (CodeSource codesource) {
|
||||||
PermissionCollection perms = null;
|
PermissionCollection perms = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// getPermissions from original classloader is important as it checks for signed jars ands shows any security dialogs needed
|
// getPermissions from original classloader is important as it checks for signed jars and shows any security dialogs needed
|
||||||
Method method = SecureClassLoader.class.getDeclaredMethod("getPermissions", new Class[] { CodeSource.class });
|
Method method = SecureClassLoader.class.getDeclaredMethod("getPermissions", new Class[] { CodeSource.class });
|
||||||
method.setAccessible(true);
|
method.setAccessible(true);
|
||||||
perms = (PermissionCollection)method.invoke(getClass().getClassLoader(), new Object[] {codesource});
|
perms = (PermissionCollection)method.invoke(getClass().getClassLoader(), new Object[] {codesource});
|
||||||
|
@ -696,14 +696,12 @@ public class AppletLoader extends Applet implements Runnable, AppletStub {
|
||||||
String host = getCodeBase().getHost();
|
String host = getCodeBase().getHost();
|
||||||
|
|
||||||
if (host != null && (host.length() > 0)) {
|
if (host != null && (host.length() > 0)) {
|
||||||
// add permission to downloaded jars to access host they were from
|
// add permission for downloaded jars to access host they were from
|
||||||
perms.add(new SocketPermission(host, SecurityConstants.SOCKET_CONNECT_ACCEPT_ACTION));
|
perms.add(new SocketPermission(host, SecurityConstants.SOCKET_CONNECT_ACCEPT_ACTION));
|
||||||
}
|
}
|
||||||
else if (codesource.getLocation().getProtocol().equals("file")) {
|
else if (codesource.getLocation().getProtocol().equals("file")) {
|
||||||
// if running locally add file permission
|
// if running locally add file permission
|
||||||
String path = codesource.getLocation().getFile().replace('/', File.separatorChar);
|
String path = codesource.getLocation().getFile().replace('/', File.separatorChar);
|
||||||
path = ParseUtil.decode(path);
|
|
||||||
if (path.endsWith(File.separator)) path += "-";
|
|
||||||
perms.add(new FilePermission(path, SecurityConstants.FILE_READ_ACTION));
|
perms.add(new FilePermission(path, SecurityConstants.FILE_READ_ACTION));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue