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);