You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2001/08/22 06:43:24 UTC

cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/startup EmbededTomcat.java Main.java

costin      01/08/21 21:43:24

  Modified:    src/share/org/apache/tomcat/startup EmbededTomcat.java
                        Main.java
  Log:
  Enable Main to set the right policy, in case we don't use scripts or the
  scripts are broken ( bad path, etc - it happens to me, it may happen to someone else ).
   Java -jar is now closer to the sh/bat scripts.
  
  Also clean up more messages.
  
  Revision  Changes    Path
  1.48      +19 -5     jakarta-tomcat/src/share/org/apache/tomcat/startup/EmbededTomcat.java
  
  Index: EmbededTomcat.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/startup/EmbededTomcat.java,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- EmbededTomcat.java	2001/08/21 05:29:27	1.47
  +++ EmbededTomcat.java	2001/08/22 04:43:23	1.48
  @@ -143,7 +143,6 @@
       /** Tomcat will run in a sandboxed environment, under SecurityManager
        */
       public void setSandbox(boolean b) {
  -	debug("Sandbox enabled");
   	attributes.put("sandbox", "true");
       }
   
  @@ -254,13 +253,15 @@
       /** Init tomcat using server.xml-style configuration
        */
       public void addServerXmlModules() throws TomcatException {
  -	debug( "Using server.xml " + attributes.get( "config" ));
  +	String conf=(String)attributes.get( "config" );
  +
   	addModule( "org.apache.tomcat.modules.config.PathSetter");
   	int mid=addModule( "org.apache.tomcat.modules.config.ServerXmlReader");
   
  -	if( null!=attributes.get( "config" ) )
  -	    setModuleProperty( mid, "config",
  -			       (String)attributes.get("config") );
  +	if( null!=conf ) {
  +	    if( dL>0) debug( "Using config file " + conf);
  +	    setModuleProperty( mid, "config",conf );
  +	}
       }
   
       public void addDefaultModules()
  @@ -408,6 +409,9 @@
   					 modules.elementAt( i ) );
   	    }
   	    contextM.init();
  +	} catch( InvocationTargetException rex ) {
  +	    debug("exception initializing ContextManager", rex.getTargetException());
  +	    throw new TomcatException( "EmbededTomcat.initContextManager", ex.getTargetExeption() );
   	} catch( Exception ex ) {
   	    debug("exception initializing ContextManager", ex);
   	    throw new TomcatException( "EmbededTomcat.initContextManager", ex );
  @@ -501,6 +505,16 @@
   	directly the methods you need.
        */
       public void execute() throws Exception {
  +	final EmbededTomcat et=this;
  +	jdk11Compat.doPrivileged( new Action() {
  +		public Object run() throws Exception {
  +		    et.execute1();
  +		    return null;
  +		}
  +	    }, jdk11Compat.getAccessControlContext());
  +    }
  +    
  +    public void execute1() throws Exception {
   	if( args!=null )
   	    processArgs( args );
   	// Init 
  
  
  
  1.38      +17 -14    jakarta-tomcat/src/share/org/apache/tomcat/startup/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/startup/Main.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- Main.java	2001/08/21 05:35:05	1.37
  +++ Main.java	2001/08/22 04:43:23	1.38
  @@ -1,4 +1,4 @@
  -/* $Id: Main.java,v 1.37 2001/08/21 05:35:05 costin Exp $
  +/* $Id: Main.java,v 1.38 2001/08/22 04:43:23 costin Exp $
    * ====================================================================
    *
    * The Apache Software License, Version 1.1
  @@ -178,6 +178,10 @@
   	    IntrospectionUtils.displayClassPath("Main classpath: ", commonCP );
       }
   
  +    // initSecurityFile is intended to simplify sandbox config, the shell
  +    // script can't normalize the path. We also want java -jar to behave the same,
  +    // without requiring anything difficult.
  +    
       /** If "-sandbox" parameter is found ( the first after the action ), we'll
        *  load a sandbox with the policy in install/conf/tomcat.policy. This
        *  has to happen before loading any class or constructing the loader, or
  @@ -190,20 +194,19 @@
        *  so that all "system" classes have permissions.
        */
       public void initSecurityFile() {
  -// 	if( args.length > 1 &&
  -// 	    "-sandbox".equals( args[1] ) ) {
  -// 	    if( null == System.getProperty("java.security.policy")) {
  -// 		File f=null;
  -// 		String policyFile=installDir + File.separator + "conf" +
  -// 		    File.separator + "tomcat.policy";
  +	if( args.length > 1 &&
  +	    "-sandbox".equals( args[1] ) ) {
  +	    if( null == System.getProperty("java.security.policy")) {
  +		File f=null;
  +		String policyFile=installDir + File.separator + "conf" +
  +		    File.separator + "tomcat.policy";
   		
  -// 		debug("Setting policy file to " + policyFile + " tomcat.home= " +
  -// 		    System.getProperty( "tomcat.home") );
  -// 		System.setProperty( "tomcat.home", installDir );
  -// 		System.setProperty("java.security.policy",  policyFile);
  -// 		java.security.Policy.getPolicy().refresh();
  -// 	    }
  -// 	}
  +		debug("Setting policy " + policyFile );
  +		System.setProperty( "tomcat.home", installDir );
  +		System.setProperty("java.security.policy",  policyFile);
  +		jdk11Compat.refreshPolicy();
  +	    }
  +	}
       }
       
       // -------------------- Tasks --------------------