Methods Summary |
---|
public static void | checkCapture()
// If its not an applet, no need to check permissions
if (security == null)
return;
// Check the secure.... flag if its true
Object captureFromApplets =
com.sun.media.util.Registry.get("secure.allowCaptureFromApplets");
if (captureFromApplets == null ||
!(captureFromApplets instanceof Boolean) ||
((Boolean)captureFromApplets).booleanValue() == false)
throw new RuntimeException(STR_NOPERMCAPTURE);
|
public static void | checkFileSave()
// If its not an applet, no need to check permissions
if (security == null)
return;
// Check the secure.... flag if its true
Object saveFromApplets =
com.sun.media.util.Registry.get("secure.allowSaveFileFromApplets");
if (saveFromApplets == null ||
!(saveFromApplets instanceof Boolean) ||
((Boolean)saveFromApplets).booleanValue() == false)
throw new RuntimeException(STR_NOPERMFILE);
|
public static synchronized void | disableSecurityFeatures()
security=DisabledSecurity.security;
count++;
|
public static synchronized void | enableSecurityFeatures()
count--;
if (count <= 0)
security=enabledSecurity;
|
public static com.sun.media.JMFSecurity | getJMFSecurity()
// Date today = new Date();
// // System.out.println("Today is " + today);
// Date expire = new Date(99, 11, 25); // 11 ==> December
// { // TESTING BLOCK: UNCOMMENT AND MODIFIY 'today' TO VERIFY THAT
// // TIME BOMB CODE WORKS PROPERLY
// today = new Date(99, 11, 23); // dec 23
// System.out.println("Today is set to " + today);
// }
// long currentTime = today.getTime();
// long expireTime = expire.getTime();
// Note: I am doing this for applications too.
// They will get a warning which informs them to upgrade to FCS
// if (currentTime > expireTime) {
if (false) {
System.err.println("WARNING: jmf2.0 beta license has expired. Please install jmf2.0 FCS");
security = DisabledSecurity.security;
} else {
securityManager = System.getSecurityManager();
boolean jdk11=false;
boolean msjvm=false;
try {
String javaVersion = System.getProperty("java.version");
//System.out.println("javaVersion "+javaVersion);
if (!javaVersion.equals("")) {
// verify that the version string starts with a number
/*
char c = javaVersion.charAt(0);
if ( (c >= '0') && (c <= '9') ) { // string starts with a number
if (javaVersion.compareTo("1.2") < 0) {
jdk11 = true;
}
else {
jdk12 = true;
}
}
*/
if (javaVersion.startsWith("1.1")) {
if (DEBUG)
System.out.println("JDK 1.1.x");
jdk11 = true;
}
else {
char c = javaVersion.charAt(0);
// string starts with a number
if ( (c >= '0") && (c <= '9") ) {
if (javaVersion.compareTo("1.2") >= 0) {
if (DEBUG)
System.out.println("JDK 1.2 and up");
jdk12 = true;
}
}
}
}
String javaVendor =
System.getProperty("java.vendor", "Sun").toLowerCase();
if (javaVendor.indexOf("icrosoft") > 0) { // microsoft JVM
msjvm = true;
}
} catch (Throwable t) {
System.out.println(t);
}
// TODO: For FCS, cleanup this if block -- handle jdk1.2 and up
// as a separate case no matter what the security manager
if (securityManager != null) { // check the security manager
if (DEBUG)
System.out.println(securityManager);
if ( securityManager.toString().indexOf("netscape") != -1 ) {
// Netscape's security manager
security = NetscapeSecurity.security;
} else if ( ( securityManager.toString().indexOf("com.ms.security") != -1 ) || msjvm ){
// Internet Explorer security manager
security = IESecurity.security;
// if (JMFSecurityManager.class.getClassLoader() == null) {
// security = IESecurity.security;
// } else {
// // TODO For FCS: Handle remote with cab case.
// // Remote classes.
// security = DisabledSecurity.security;
// }
//} else if ( ((securityManager.toString().indexOf("Applet")) != -1) &&
} else if ( (securityManager.toString().indexOf("sun.applet.AppletSecurity") != -1) ||
(securityManager.toString().indexOf("sun.plugin.ActivatorSecurityManager") != -1) ) {
// appletviewer
if (jdk11) { // JDK 1.1
//securityManager = null;
//security = null;
security = com.sun.media.DefaultSecurity.security;
}
if (jdk12) { // verify that the version is 1.2 and up
//securityManager = null;
security = JDK12Security.security;
}
} else if ( securityManager.toString().indexOf("java.lang.SecurityManager") != -1) {
// JDk 1.2 security manager
if (jdk12) { // verify that the version is 1.2 and up
//securityManager = null;
security = JDK12Security.security;
}
}
else { // TODO
if (jdk12) {
security = JDK12Security.security;
} else
security = com.sun.media.DefaultSecurity.security;
}
}
else { // no security manager
// if (msjvm) { // jview (for now act like Internet Explorer security manager)
// security = IESecurity.security;
// IESecurity.jview = true;
// }
}
if ( DEBUG && (security != null) ) {
System.out.println("Security: " + security.getName());
}
enabledSecurity=security;
// if ( (security != null) &&
// security.getName().endsWith("netscape") ) {
// try {
// Method m[] = new Method[1];
// Class cl[] = new Class[1];
// Object args[][] = new Object[1][0];
// security.requestPermission(m, cl, args, JMFSecurity.READ_PROPERTY);
// m[0].invoke(cl[0], args[0]);
// } catch (Throwable t) {
// security.permissionFailureNotification(JMFSecurity.READ_PROPERTY);
// }
// }
// sun.applet.AppletSecurity
}
return security;
|
public static boolean | isJDK12()
return jdk12;
|
public static boolean | isLinkPermissionEnabled()
if (security == null)
return true;
else {
return security.isLinkPermissionEnabled();
}
|
public static void | loadLibrary(java.lang.String name)
try {
JMFSecurity s = getJMFSecurity();
if (s != null) {
s.loadLibrary(name);
} else {
System.loadLibrary(name);
}
} catch (Throwable t) {
throw new UnsatisfiedLinkError("JMFSecurityManager: " + t);
}
|