Only open those server ports that were explicitly set through command line options.
Updated version string.
This commit is contained in:
parent
67c03ca7ae
commit
7bc5876c96
1 changed files with 49 additions and 50 deletions
|
@ -25,7 +25,7 @@ import org.mortbay.http.ajp.*;
|
||||||
|
|
||||||
public class Server implements IPathElement, Runnable {
|
public class Server implements IPathElement, Runnable {
|
||||||
|
|
||||||
public static final String version = "1.2pre3+ 2002/09/26";
|
public static final String version = "1.2pre3+ 2002/10/01";
|
||||||
public long starttime;
|
public long starttime;
|
||||||
|
|
||||||
// if true we only accept RMI and XML-RPC connections from
|
// if true we only accept RMI and XML-RPC connections from
|
||||||
|
@ -141,6 +141,13 @@ import org.mortbay.http.ajp.*;
|
||||||
usageError = true;
|
usageError = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check server ports. If no port is set, issue a warning and exit.
|
||||||
|
if (!usageError && (websrvPort | ajp13Port | rmiPort | xmlrpcPort) == 0) {
|
||||||
|
System.out.println (" Error: No server port specified.");
|
||||||
|
usageError = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (usageError ) {
|
if (usageError ) {
|
||||||
System.out.println ("usage: java helma.main.Server [-h dir] [-f file] [-p port] [-w port] [-x port]");
|
System.out.println ("usage: java helma.main.Server [-h dir] [-f file] [-p port] [-w port] [-x port]");
|
||||||
System.out.println (" -h dir Specify hop home directory");
|
System.out.println (" -h dir Specify hop home directory");
|
||||||
|
@ -148,11 +155,27 @@ import org.mortbay.http.ajp.*;
|
||||||
System.out.println (" -p port Specify RMI port number");
|
System.out.println (" -p port Specify RMI port number");
|
||||||
System.out.println (" -w port Specify port number for embedded Web server");
|
System.out.println (" -w port Specify port number for embedded Web server");
|
||||||
System.out.println (" -x port Specify XML-RPC port number");
|
System.out.println (" -x port Specify XML-RPC port number");
|
||||||
System.out.println (" -jk port Specify AJP13 port number");
|
System.out.println (" -jk port Specify AJP13 port number");
|
||||||
System.err.println ("Usage Error - exiting");
|
System.err.println ("Usage Error - exiting");
|
||||||
System.exit (0);
|
System.exit (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check if servers are already running on the given ports
|
||||||
|
try {
|
||||||
|
if (websrvPort > 0)
|
||||||
|
checkRunning (websrvPort);
|
||||||
|
if (rmiPort > 0)
|
||||||
|
checkRunning (rmiPort);
|
||||||
|
if (xmlrpcPort > 0)
|
||||||
|
checkRunning (xmlrpcPort);
|
||||||
|
if (ajp13Port > 0)
|
||||||
|
checkRunning (ajp13Port);
|
||||||
|
} catch (Exception running) {
|
||||||
|
System.out.println (running.getMessage ());
|
||||||
|
System.exit (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// get main property file from home dir or vice versa, depending on what we have.
|
// get main property file from home dir or vice versa, depending on what we have.
|
||||||
// get property file from hopHome
|
// get property file from hopHome
|
||||||
if (propfile == null) {
|
if (propfile == null) {
|
||||||
|
@ -222,30 +245,6 @@ import org.mortbay.http.ajp.*;
|
||||||
|
|
||||||
dbSources = new Hashtable ();
|
dbSources = new Hashtable ();
|
||||||
|
|
||||||
// check server ports. If no port is set,
|
|
||||||
// use 5055 for RMI and 5056 for XML-RPC.
|
|
||||||
if ((websrvPort | ajp13Port | rmiPort) == 0) {
|
|
||||||
rmiPort = 5055;
|
|
||||||
if (xmlrpcPort == 0)
|
|
||||||
xmlrpcPort = 5056;
|
|
||||||
}
|
|
||||||
|
|
||||||
// check if servers are already running on the given ports
|
|
||||||
try {
|
|
||||||
if (websrvPort > 0)
|
|
||||||
checkRunning (websrvPort);
|
|
||||||
if (rmiPort > 0)
|
|
||||||
checkRunning (rmiPort);
|
|
||||||
if (xmlrpcPort > 0)
|
|
||||||
checkRunning (xmlrpcPort);
|
|
||||||
if (ajp13Port > 0)
|
|
||||||
checkRunning (ajp13Port);
|
|
||||||
} catch (Exception running) {
|
|
||||||
System.out.println (running.getMessage ());
|
|
||||||
System.exit (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// nmgr = new NodeManager (this, sysProps);
|
|
||||||
// try to load the extensions
|
// try to load the extensions
|
||||||
extensions = new Vector ();
|
extensions = new Vector ();
|
||||||
if (sysProps.getProperty ("extensions")!=null) {
|
if (sysProps.getProperty ("extensions")!=null) {
|
||||||
|
@ -323,36 +322,36 @@ import org.mortbay.http.ajp.*;
|
||||||
getLogger().log ("Starting AJP13-Listener on port "+(ajp13Port));
|
getLogger().log ("Starting AJP13-Listener on port "+(ajp13Port));
|
||||||
}
|
}
|
||||||
|
|
||||||
String xmlparser = sysProps.getProperty ("xmlparser");
|
if (xmlrpcPort > 0) {
|
||||||
if (xmlparser != null)
|
String xmlparser = sysProps.getProperty ("xmlparser");
|
||||||
XmlRpc.setDriver (xmlparser);
|
if (xmlparser != null)
|
||||||
|
XmlRpc.setDriver (xmlparser);
|
||||||
|
|
||||||
xmlrpc = new WebServer (xmlrpcPort);
|
xmlrpc = new WebServer (xmlrpcPort);
|
||||||
if (paranoid) {
|
if (paranoid) {
|
||||||
xmlrpc.setParanoid (true);
|
xmlrpc.setParanoid (true);
|
||||||
String xallow = sysProps.getProperty ("allowXmlRpc");
|
String xallow = sysProps.getProperty ("allowXmlRpc");
|
||||||
if (xallow != null) {
|
if (xallow != null) {
|
||||||
StringTokenizer st = new StringTokenizer (xallow, " ,;");
|
StringTokenizer st = new StringTokenizer (xallow, " ,;");
|
||||||
while (st.hasMoreTokens ())
|
while (st.hasMoreTokens ())
|
||||||
xmlrpc.acceptClient (st.nextToken ());
|
xmlrpc.acceptClient (st.nextToken ());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
getLogger().log ("Starting XML-RPC server on port "+(xmlrpcPort));
|
||||||
}
|
}
|
||||||
getLogger().log ("Starting XML-RPC server on port "+(xmlrpcPort));
|
|
||||||
|
|
||||||
// the following seems not to be necessary after all ...
|
|
||||||
// System.setSecurityManager(new RMISecurityManager());
|
|
||||||
if (paranoid) {
|
|
||||||
HopSocketFactory factory = new HopSocketFactory ();
|
|
||||||
String rallow = sysProps.getProperty ("allowWeb");
|
|
||||||
if (rallow != null) {
|
|
||||||
StringTokenizer st = new StringTokenizer (rallow, " ,;");
|
|
||||||
while (st.hasMoreTokens ())
|
|
||||||
factory.addAddress (st.nextToken ());
|
|
||||||
}
|
|
||||||
RMISocketFactory.setSocketFactory (factory);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rmiPort > 0) {
|
if (rmiPort > 0) {
|
||||||
|
if (paranoid) {
|
||||||
|
HopSocketFactory factory = new HopSocketFactory ();
|
||||||
|
String rallow = sysProps.getProperty ("allowWeb");
|
||||||
|
if (rallow != null) {
|
||||||
|
StringTokenizer st = new StringTokenizer (rallow, " ,;");
|
||||||
|
while (st.hasMoreTokens ())
|
||||||
|
factory.addAddress (st.nextToken ());
|
||||||
|
}
|
||||||
|
RMISocketFactory.setSocketFactory (factory);
|
||||||
|
}
|
||||||
getLogger().log ("Starting RMI server on port "+rmiPort);
|
getLogger().log ("Starting RMI server on port "+rmiPort);
|
||||||
LocateRegistry.createRegistry (rmiPort);
|
LocateRegistry.createRegistry (rmiPort);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue