You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by gl...@apache.org on 2001/02/04 01:50:40 UTC
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader StandardClassLoader.java
glenn 01/02/03 16:50:40
Modified: catalina/src/share/org/apache/catalina/loader
StandardClassLoader.java
Log:
Implement SecurityManager
Revision Changes Path
1.9 +19 -8 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
Index: StandardClassLoader.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- StandardClassLoader.java 2001/01/23 22:13:06 1.8
+++ StandardClassLoader.java 2001/02/04 00:50:40 1.9
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v 1.8 2001/01/23 22:13:06 glenn Exp $
- * $Revision: 1.8 $
- * $Date: 2001/01/23 22:13:06 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v 1.9 2001/02/04 00:50:40 glenn Exp $
+ * $Revision: 1.9 $
+ * $Date: 2001/02/04 00:50:40 $
*
* ====================================================================
*
@@ -109,7 +109,7 @@
*
* @author Craig R. McClanahan
* @author Remy Maucherat
- * @version $Revision: 1.8 $ $Date: 2001/01/23 22:13:06 $
+ * @version $Revision: 1.9 $ $Date: 2001/02/04 00:50:40 $
*/
public class StandardClassLoader
@@ -621,10 +621,8 @@
if (i >= 0) {
try {
securityManager.checkPackageDefinition(name.substring(0,i));
- } catch (SecurityException se) {
- String error = "Security Violation, attempt to define " +
- "a Class in a restricted package: " + name;
- throw new ClassNotFoundException(error);
+ } catch (Exception se) {
+ throw new ClassNotFoundException(name);
}
}
}
@@ -927,6 +925,18 @@
return (clazz);
}
+ // If a system class, use system class loader
+ if( name.startsWith("java.") ) {
+ ClassLoader loader = system;
+ clazz = loader.loadClass(name);
+ if (clazz != null) {
+ if (resolve)
+ resolveClass(clazz);
+ return (clazz);
+ }
+ throw new ClassNotFoundException(name);
+ }
+
// (.5) Permission to access this class when using a SecurityManager
if (securityManager != null) {
int i = name.lastIndexOf('.');
@@ -937,6 +947,7 @@
String error = "Security Violation, attempt to use " +
"Restricted Class: " + name;
System.out.println(error);
+ se.printStackTrace();
log(error);
throw new ClassNotFoundException(error);
}