pier        01/07/22 11:38:05

  Modified:    catalina/src/share/org/apache/catalina Connector.java
                        Server.java Service.java
               catalina/src/share/org/apache/catalina/connector/http
                        HttpConnector.java LocalStrings.properties
               catalina/src/share/org/apache/catalina/connector/http10
                        HttpConnector.java LocalStrings.properties
               catalina/src/share/org/apache/catalina/connector/warp
                        WarpConnector.java
               catalina/src/share/org/apache/catalina/core
                        LocalStrings.properties StandardServer.java
                        StandardService.java
               catalina/src/share/org/apache/catalina/startup Catalina.java
  Log:
  Starting to patch to attempt use on port < 1024 and user != "root"
  
  Revision  Changes    Path
  1.6       +12 -4     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Connector.java
  
  Index: Connector.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Connector.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Connector.java    2001/05/09 23:42:07     1.5
  +++ Connector.java    2001/07/22 18:38:04     1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Connector.java,v 
1.5 2001/05/09 23:42:07 craigmcc Exp $
  - * $Revision: 1.5 $
  - * $Date: 2001/05/09 23:42:07 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Connector.java,v 
1.6 2001/07/22 18:38:04 pier Exp $
  + * $Revision: 1.6 $
  + * $Date: 2001/07/22 18:38:04 $
    *
    * ====================================================================
    *
  @@ -117,7 +117,7 @@
    * normative.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.5 $ $Date: 2001/05/09 23:42:07 $
  + * @version $Revision: 1.6 $ $Date: 2001/07/22 18:38:04 $
    */
   
   public interface Connector {
  @@ -240,5 +240,13 @@
        */
       public Response createResponse();
   
  +    /**
  +     * Invoke a pre-startup initialization. This is used to allow connectors
  +     * to bind to restricted ports under Unix operating environments.
  +     *
  +     * @exception LifecycleException If this server was already initialized.
  +     */
  +    public void initialize()
  +    throws LifecycleException;
   
   }
  
  
  
  1.3       +12 -5     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Server.java
  
  Index: Server.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Server.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Server.java       2000/09/30 19:15:43     1.2
  +++ Server.java       2001/07/22 18:38:04     1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Server.java,v 1.2 
2000/09/30 19:15:43 craigmcc Exp $
  - * $Revision: 1.2 $
  - * $Date: 2000/09/30 19:15:43 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Server.java,v 1.3 
2001/07/22 18:38:04 pier Exp $
  + * $Revision: 1.3 $
  + * $Date: 2001/07/22 18:38:04 $
    *
    * ====================================================================
    *
  @@ -87,7 +87,7 @@
    * If the command matches, shutdown of the server is initiated.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.2 $ $Date: 2000/09/30 19:15:43 $
  + * @version $Revision: 1.3 $ $Date: 2001/07/22 18:38:04 $
    */
   
   public interface Server {
  @@ -163,5 +163,12 @@
        */
       public void removeService(Service service);
   
  -
  +    /**
  +     * Invoke a pre-startup initialization. This is used to allow connectors
  +     * to bind to restricted ports under Unix operating environments.
  +     *
  +     * @exception LifecycleException If this server was already initialized.
  +     */
  +    public void initialize()
  +    throws LifecycleException;
   }
  
  
  
  1.3       +12 -4     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Service.java
  
  Index: Service.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Service.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Service.java      2000/12/14 02:56:13     1.2
  +++ Service.java      2001/07/22 18:38:04     1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Service.java,v 1.2 
2000/12/14 02:56:13 craigmcc Exp $
  - * $Revision: 1.2 $
  - * $Date: 2000/12/14 02:56:13 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Service.java,v 1.3 
2001/07/22 18:38:04 pier Exp $
  + * $Revision: 1.3 $
  + * $Date: 2001/07/22 18:38:04 $
    *
    * ====================================================================
    *
  @@ -76,7 +76,7 @@
    * and classes on the system class path.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.2 $ $Date: 2000/12/14 02:56:13 $
  + * @version $Revision: 1.3 $ $Date: 2001/07/22 18:38:04 $
    */
   
   public interface Service {
  @@ -150,5 +150,13 @@
        */
       public void removeConnector(Connector connector);
   
  +    /**
  +     * Invoke a pre-startup initialization. This is used to allow connectors
  +     * to bind to restricted ports under Unix operating environments.
  +     *
  +     * @exception LifecycleException If this server was already initialized.
  +     */
  +    public void initialize()
  +    throws LifecycleException;
   
   }
  
  
  
  1.19      +23 -4     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java
  
  Index: HttpConnector.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- HttpConnector.java        2001/07/10 07:36:42     1.18
  +++ HttpConnector.java        2001/07/22 18:38:04     1.19
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java,v
 1.18 2001/07/10 07:36:42 remm Exp $
  - * $Revision: 1.18 $
  - * $Date: 2001/07/10 07:36:42 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java,v
 1.19 2001/07/22 18:38:04 pier Exp $
  + * $Revision: 1.19 $
  + * $Date: 2001/07/22 18:38:04 $
    *
    * ====================================================================
    *
  @@ -95,7 +95,7 @@
    *
    * @author Craig R. McClanahan
    * @author Remy Maucherat
  - * @version $Revision: 1.18 $ $Date: 2001/07/10 07:36:42 $
  + * @version $Revision: 1.19 $ $Date: 2001/07/22 18:38:04 $
    */
   
   
  @@ -258,6 +258,12 @@
   
   
       /**
  +     * Has this component been initialized yet?
  +     */
  +    private boolean initialized = false;
  +
  +
  +    /**
        * Has this component been started yet?
        */
       private boolean started = false;
  @@ -1055,6 +1061,19 @@
   
        lifecycle.removeLifecycleListener(listener);
   
  +    }
  +
  +
  +    /**
  +     * Initialize this connector (create ServerSocket here!)
  +     */
  +    public void initialize()
  +    throws LifecycleException {
  +     if (initialized)
  +         throw new LifecycleException (
  +             sm.getString("httpConnector.alreadyInitialized"));
  +     this.initialized=true;
  +     System.err.println("HTTP Connector initialized");
       }
   
   
  
  
  
  1.4       +2 -1      
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/LocalStrings.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LocalStrings.properties   2000/12/31 16:35:16     1.3
  +++ LocalStrings.properties   2001/07/22 18:38:04     1.4
  @@ -1,10 +1,11 @@
  -# $Id: LocalStrings.properties,v 1.3 2000/12/31 16:35:16 nacho Exp $
  +# $Id: LocalStrings.properties,v 1.4 2001/07/22 18:38:04 pier Exp $
   
   # language 
   
   # package org.apache.catalina.connector.http
   
   
  +httpConnector.alreadyInitialized=HTTP connector has already been initialized
   httpConnector.alreadyStarted=HTTP connector has already been started
   httpConnector.allAddresses=Opening server socket on all host IP addresses
   httpConnector.failedSocketFactoryLoading=Failed to load socket factory
  
  
  
  1.8       +21 -4     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/HttpConnector.java
  
  Index: HttpConnector.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/HttpConnector.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- HttpConnector.java        2001/07/10 07:37:05     1.7
  +++ HttpConnector.java        2001/07/22 18:38:04     1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/HttpConnector.java,v
 1.7 2001/07/10 07:37:05 remm Exp $
  - * $Revision: 1.7 $
  - * $Date: 2001/07/10 07:37:05 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/HttpConnector.java,v
 1.8 2001/07/22 18:38:04 pier Exp $
  + * $Revision: 1.8 $
  + * $Date: 2001/07/22 18:38:04 $
    *
    * ====================================================================
    *
  @@ -94,7 +94,7 @@
    * purposes.  Not intended to be the final solution.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.7 $ $Date: 2001/07/10 07:37:05 $
  + * @version $Revision: 1.8 $ $Date: 2001/07/22 18:38:04 $
    */
   
   
  @@ -257,6 +257,12 @@
   
   
       /**
  +     * Has this component been initialized yet?
  +     */
  +    private boolean initialized = false;
  +
  +
  +    /**
        * Has this component been started yet?
        */
       private boolean started = false;
  @@ -961,6 +967,17 @@
   
       }
   
  +
  +    /**
  +     * Initialize this connector (create ServerSocket here!)
  +     */
  +    public void initialize()
  +    throws LifecycleException {
  +        if (initialized)
  +            throw new LifecycleException (
  +                sm.getString("httpConnector.alreadyInitialized"));
  +        this.initialized=true;
  +    }
   
       /**
        * Begin processing requests via this Connector.
  
  
  
  1.2       +1 -0      
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/LocalStrings.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LocalStrings.properties   2001/01/23 03:55:54     1.1
  +++ LocalStrings.properties   2001/07/22 18:38:04     1.2
  @@ -1,3 +1,4 @@
  +httpConnector.alreadyInitialized=HTTP connector has already been initialized
   httpConnector.alreadyStarted=HTTP connector has already been started
   httpConnector.allAddresses=Opening server socket on all host IP addresses
   httpConnector.anAddress=Opening server socket on host IP address {0}
  
  
  
  1.13      +12 -0     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpConnector.java
  
  Index: WarpConnector.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpConnector.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- WarpConnector.java        2001/07/20 00:01:00     1.12
  +++ WarpConnector.java        2001/07/22 18:38:05     1.13
  @@ -130,6 +130,8 @@
   
       /** The lifecycle event support for this component. */
       private LifecycleSupport lifecycle=new LifecycleSupport(this);
  +    /** The "initialized" flag. */
  +    private boolean initialized=false;
       /** The "started" flag. */
       private boolean started=false;
   
  @@ -428,6 +430,16 @@
        */
       public void removeLifecycleListener(LifecycleListener listener) {
           lifecycle.removeLifecycleListener(listener);
  +    }
  +
  +    /**
  +     * Initialize this connector (create ServerSocket here!)
  +     */
  +    public void initialize()
  +    throws LifecycleException {
  +        if (initialized)
  +            throw new LifecycleException("Already initialized");
  +        this.initialized=true;
       }
   
       /**
  
  
  
  1.34      +2 -0      
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/LocalStrings.properties,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- LocalStrings.properties   2001/05/11 23:20:09     1.33
  +++ LocalStrings.properties   2001/07/22 18:38:05     1.34
  @@ -109,9 +109,11 @@
   standardPipeline.notStarted=Pipeline has not been started
   standardPipeline.noValve=No more Valves in the Pipeline processing this request
   standardServer.addContainer.ise=No connectors available to associate this container 
with
  +standardServer.initialize.initialized=This server has already been initialized
   standardServer.start.connectors=At least one connector is not associated with any 
container
   standardServer.start.started=This server has already been started
   standardServer.stop.notStarted=This server has not yet been started
  +standardService.initialize.initialized=This service has already been initialized
   standardService.start.name=Starting service {0}
   standardService.start.started=This service has already been started
   standardService.stop.name=Stopping service {0}
  
  
  
  1.6       +35 -4     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardServer.java
  
  Index: StandardServer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardServer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- StandardServer.java       2001/03/31 15:26:21     1.5
  +++ StandardServer.java       2001/07/22 18:38:05     1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardServer.java,v
 1.5 2001/03/31 15:26:21 glenn Exp $
  - * $Revision: 1.5 $
  - * $Date: 2001/03/31 15:26:21 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardServer.java,v
 1.6 2001/07/22 18:38:05 pier Exp $
  + * $Revision: 1.6 $
  + * $Date: 2001/07/22 18:38:05 $
    *
    * ====================================================================
    *
  @@ -87,7 +87,7 @@
    * (but not required) when deploying and starting Catalina.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.5 $ $Date: 2001/03/31 15:26:21 $
  + * @version $Revision: 1.6 $ $Date: 2001/07/22 18:38:05 $
    */
   
   public final class StandardServer
  @@ -141,6 +141,12 @@
       private boolean started = false;
   
   
  +    /**
  +     * Has this component been initialized?
  +     */
  +    private boolean initialized = false;
  +
  +
       // ------------------------------------------------------------- Properties
   
   
  @@ -215,6 +221,15 @@
               System.arraycopy(services, 0, results, 0, services.length);
               results[services.length] = service;
               services = results;
  +
  +         if (initialized) {
  +             try {
  +                 service.initialize();
  +             } catch (LifecycleException e) {
  +                 e.printStackTrace(System.err);
  +             }
  +         }
  +
               if (started && (service instanceof Lifecycle)) {
                   try {
                       ((Lifecycle) service).start();
  @@ -489,5 +504,21 @@
   
       }
   
  +    /**
  +     * Invoke a pre-startup initialization. This is used to allow connectors
  +     * to bind to restricted ports under Unix operating environments.
  +     */
  +    public void initialize()
  +    throws LifecycleException {
  +        if (initialized)
  +            throw new LifecycleException (
  +             sm.getString("standardServer.initialize.initialized"));
  +     initialized = true;
  +
  +     // Initialize our defined Services
  +     for (int i = 0; i < services.length; i++) {
  +         services[i].initialize();
  +     }
  +    }
   
   }
  
  
  
  1.3       +37 -4     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardService.java
  
  Index: StandardService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardService.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- StandardService.java      2000/12/14 02:56:14     1.2
  +++ StandardService.java      2001/07/22 18:38:05     1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardService.java,v
 1.2 2000/12/14 02:56:14 craigmcc Exp $
  - * $Revision: 1.2 $
  - * $Date: 2000/12/14 02:56:14 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardService.java,v
 1.3 2001/07/22 18:38:05 pier Exp $
  + * $Revision: 1.3 $
  + * $Date: 2001/07/22 18:38:05 $
    *
    * ====================================================================
    *
  @@ -83,7 +83,7 @@
    * not required.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.2 $ $Date: 2000/12/14 02:56:14 $
  + * @version $Revision: 1.3 $ $Date: 2001/07/22 18:38:05 $
    */
   
   public final class StandardService
  @@ -137,6 +137,12 @@
       private boolean started = false;
   
   
  +    /**
  +     * Has this component been initialized?
  +     */
  +    private boolean initialized = false;
  +
  +
       // ------------------------------------------------------------- Properties
   
   
  @@ -236,6 +242,15 @@
               System.arraycopy(connectors, 0, results, 0, connectors.length);
               results[connectors.length] = connector;
               connectors = results;
  +
  +         if (initialized) {
  +             try {
  +                 connector.initialize();
  +             } catch (LifecycleException e) {
  +                 e.printStackTrace(System.err);
  +             }
  +         }
  +
               if (started && (connector instanceof Lifecycle)) {
                   try {
                       ((Lifecycle) connector).start();
  @@ -402,5 +417,23 @@
   
       }
   
  +    /**
  +     * Invoke a pre-startup initialization. This is used to allow connectors
  +     * to bind to restricted ports under Unix operating environments.
  +     */
  +    public void initialize()
  +    throws LifecycleException {
  +        if (initialized)
  +            throw new LifecycleException (
  +                sm.getString("standardService.initialize.initialized"));
  +        initialized = true;
  +
  +        // Initialize our defined Connectors
  +        synchronized (connectors) {
  +             for (int i = 0; i < connectors.length; i++) {
  +                 connectors[i].initialize();
  +             }
  +        }
  +    }
   
   }
  
  
  
  1.28      +5 -4      
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Catalina.java
  
  Index: Catalina.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Catalina.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- Catalina.java     2001/07/17 16:32:38     1.27
  +++ Catalina.java     2001/07/22 18:38:05     1.28
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Catalina.java,v
 1.27 2001/07/17 16:32:38 craigmcc Exp $
  - * $Revision: 1.27 $
  - * $Date: 2001/07/17 16:32:38 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Catalina.java,v
 1.28 2001/07/22 18:38:05 pier Exp $
  + * $Revision: 1.28 $
  + * $Date: 2001/07/22 18:38:05 $
    *
    * ====================================================================
    *
  @@ -98,7 +98,7 @@
    * </u>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.27 $ $Date: 2001/07/17 16:32:38 $
  + * @version $Revision: 1.28 $ $Date: 2001/07/22 18:38:05 $
    */
   
   public class Catalina {
  @@ -734,6 +734,7 @@
        // Start the new server
        if (server instanceof Lifecycle) {
            try {
  +             server.initialize();
                ((Lifecycle) server).start();
            } catch (LifecycleException e) {
                System.out.println("Catalina.start: " + e);
  
  
  

Reply via email to