db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From be...@apache.org
Subject svn commit: r507488 - in /db/derby/code/trunk: ./ java/client/org/apache/derby/client/am/ java/client/org/apache/derby/client/net/ java/client/org/apache/derby/jdbc/ java/drda/org/apache/derby/impl/drda/ java/drda/org/apache/derby/loc/drda/ java/engine...
Date Wed, 14 Feb 2007 11:15:24 GMT
Author: bernt
Date: Wed Feb 14 03:15:15 2007
New Revision: 507488

URL: http://svn.apache.org/viewvc?view=rev&rev=507488
Log:
DERBY-2108 Implement SSL/TLS communication between client and server
- Implemented the SSL functionality in client and server
- Rewrote ClientThread
- Removed two unused routines in NetworkServerControlImpl 
  (startDatabase and shutdownDatbase) 


Modified:
    db/derby/code/trunk/BUILDING.txt
    db/derby/code/trunk/java/client/org/apache/derby/client/am/Connection.java
    db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java
    db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java
    db/derby/code/trunk/java/client/org/apache/derby/client/net/OpenSocketAction.java
    db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java
    db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientDriver.java
    db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/ClientThread.java
    db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_cs.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_de_DE.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_en.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_es.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_fr.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_hu.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_it.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ja_JP.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ko_KR.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pl.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pt_BR.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ru.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_CN.properties
    db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_TW.properties
    db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/Property.java
    db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/Attribute.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/sysinfo.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/sysinfo.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/derbyrunjartest.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/getCurrentProperties.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxthreads.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/sysinfo_withproperties.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/testProperties.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/timeslice.out
    db/derby/code/trunk/tools/ant/properties/compilepath.properties

Modified: db/derby/code/trunk/BUILDING.txt
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/BUILDING.txt?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/BUILDING.txt (original)
+++ db/derby/code/trunk/BUILDING.txt Wed Feb 14 03:15:15 2007
@@ -417,7 +417,7 @@
       ant.properties file to account for the difference in
       packaging. Define the variable as follows:
 
-      java14compile.classpath=${j14lib}/core.jar;${j14lib}/server.jar;${j14lib}/xml.jar;${j14lib}/ibmjcefw.jar
+      java14compile.classpath=${j14lib}/core.jar;${j14lib}/server.jar;${j14lib}/xml.jar;${j14lib}/ibmjcefw.jar;${j14lib}/security.jar
       
     - build.compiler
 

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/Connection.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/am/Connection.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/Connection.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/Connection.java Wed Feb 14 03:15:15 2007
@@ -136,6 +136,7 @@
     public org.apache.derby.jdbc.ClientBaseDataSource dataSource_;
     public String serverNameIP_;
     public int portNumber_;
+    public boolean useSSL_ = false;
 
     public java.util.Hashtable clientCursorNameCache_ = new java.util.Hashtable();
     public boolean canUseCachedConnectBytes_ = false;
@@ -194,11 +195,11 @@
         serverNameIP_ = dataSource.getServerName();
         portNumber_ = dataSource.getPortNumber();
 
-
         agent_ = newAgent_(logWriter,
                 loginTimeout_,
                 serverNameIP_,
-                portNumber_);
+                portNumber_,
+                false /*TODO: SSL & Datasource*/);
     }
 
     // For jdbc 2 connections
@@ -223,11 +224,11 @@
         serverNameIP_ = dataSource.getServerName();
         portNumber_ = dataSource.getPortNumber();
 
-
         agent_ = newAgent_(logWriter,
                 loginTimeout_,
                 serverNameIP_,
-                portNumber_);
+                portNumber_,
+                false /*TODO: SSL & Datasource*/);
     }
 
     // This is a callback method, called by subsystem - NetConnection
@@ -320,11 +321,13 @@
         loginTimeout_ = driverManagerLoginTimeout;
         serverNameIP_ = serverName;
         portNumber_ = portNumber;
+        useSSL_ = ClientDataSource.getSsl(properties);
 
         agent_ = newAgent_(logWriter,
                 loginTimeout_,
                 serverNameIP_,
-                portNumber_);
+                portNumber_,
+                useSSL_);
     }
 
     // Users are advised to call the method close() on Statement and Connection objects when they are done with them.
@@ -1748,7 +1751,7 @@
                                                      String databaseName);
     //--------------------Abstract material factory methods-----------------
 
-    protected abstract Agent newAgent_(LogWriter logWriter, int loginTimeout, String serverName, int portNumber) throws SqlException;
+    protected abstract Agent newAgent_(LogWriter logWriter, int loginTimeout, String serverName, int portNumber, boolean useSSL) throws SqlException;
 
 
     protected abstract DatabaseMetaData newDatabaseMetaData_();

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java Wed Feb 14 03:15:15 2007
@@ -82,6 +82,8 @@
 
     String server_;
     int port_;
+    boolean useSSL_;
+
     public CcsidManager sourceCcsidManager_;
     public CcsidManager targetCcsidManager_;
     public Typdef typdef_;
@@ -106,12 +108,15 @@
              org.apache.derby.client.am.LogWriter netLogWriter,
              int loginTimeout,
              String server,
-             int port) throws SqlException {
+             int port,
+             boolean useSSL) throws SqlException {
         super(netConnection, netLogWriter);
 
         server_ = server;
         port_ = port;
         netConnection_ = netConnection;
+        useSSL_ = useSSL;
+
         if (server_ == null) {
             throw new DisconnectException(this, 
                 new ClientMessageId(SQLState.CONNECT_REQUIRED_PROPERTY_NOT_SET),
@@ -119,7 +124,7 @@
         }
 
         try {
-            socket_ = (java.net.Socket) java.security.AccessController.doPrivileged(new OpenSocketAction(server, port));
+            socket_ = (java.net.Socket) java.security.AccessController.doPrivileged(new OpenSocketAction(server, port, useSSL_));
         } catch (java.security.PrivilegedActionException e) {
             throw new DisconnectException(this,
                 new ClientMessageId(SQLState.CONNECT_UNABLE_TO_CONNECT_TO_SERVER),

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java Wed Feb 14 03:15:15 2007
@@ -1081,13 +1081,14 @@
 
     //-------------------Abstract object factories--------------------------------
 
-    protected org.apache.derby.client.am.Agent newAgent_(org.apache.derby.client.am.LogWriter logWriter, int loginTimeout, String serverName, int portNumber)
+    protected org.apache.derby.client.am.Agent newAgent_(org.apache.derby.client.am.LogWriter logWriter, int loginTimeout, String serverName, int portNumber, boolean useSSL)
             throws SqlException {
         return new NetAgent(this,
                 (NetLogWriter) logWriter,
                 loginTimeout,
                 serverName,
-                portNumber);
+                portNumber,
+                useSSL);
     }
 
 
@@ -1652,9 +1653,9 @@
         return new org.apache.derby.client.am.SectionManager(collection, agent, databaseName);
     }
 
-    protected int getSocketAndInputOutputStreams(String server, int port) {
+    protected int getSocketAndInputOutputStreams(String server, int port, boolean useSSL) {
         try {
-            netAgent_.socket_ = (java.net.Socket) java.security.AccessController.doPrivileged(new OpenSocketAction(server, port));
+            netAgent_.socket_ = (java.net.Socket) java.security.AccessController.doPrivileged(new OpenSocketAction(server, port, useSSL));
         } catch (java.security.PrivilegedActionException e) {
             Exception openSocketException = e.getException();
             if (netAgent_.loggingEnabled()) {

Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/OpenSocketAction.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/client/net/OpenSocketAction.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/OpenSocketAction.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/OpenSocketAction.java Wed Feb 14 03:15:15 2007
@@ -21,16 +21,32 @@
 
 package org.apache.derby.client.net;
 
+import javax.net.SocketFactory;
+import javax.net.ServerSocketFactory;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.SSLServerSocketFactory;
+
 public class OpenSocketAction implements java.security.PrivilegedExceptionAction {
     private String server_;
     private int port_;
+    private boolean useSSL_;
 
-    public OpenSocketAction(String server, int port) {
+    public OpenSocketAction(String server, int port, boolean useSSL) {
         server_ = server;
         port_ = port;
+        useSSL_ = useSSL;
     }
 
-    public Object run() throws java.net.UnknownHostException, java.io.IOException {
-        return new java.net.Socket(server_, port_);
+    public Object run() 
+        throws java.net.UnknownHostException, 
+               java.io.IOException {
+
+        SocketFactory sf;
+        if (useSSL_) {
+            sf = SSLSocketFactory.getDefault();
+        } else {
+            sf = SocketFactory.getDefault();
+        }
+        return sf.createSocket(server_, port_);
     }
 }

Modified: db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java Wed Feb 14 03:15:15 2007
@@ -170,6 +170,13 @@
    
     // serverName is not permitted in a properties object
 
+    //---------------------- client SSL ----------------
+
+    public static final boolean getSsl(Properties properties)
+    {
+        return Boolean.valueOf(properties.getProperty(Attribute.SSL_ATTR)).booleanValue();
+    }
+
     // ---------------------------- user -----------------------------------
     //
     // This property can be overwritten by specifing the

Modified: db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientDriver.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientDriver.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientDriver.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientDriver.java Wed Feb 14 03:15:15 2007
@@ -157,7 +157,8 @@
 
     /**
      * Append attributes to the database name except for user/password 
-     * which are sent as part of the protocol.
+     * which are sent as part of the protocol, and SSL which is used 
+     * locally in the client.
      * Other attributes will  be sent to the server with the database name
      * Assumes augmentedProperties is not null
      * 
@@ -172,7 +173,8 @@
 		{
 			String key = (String) keys.nextElement();
 			if (key.equals(Attribute.USERNAME_ATTR) || 
-				key.equals(Attribute.PASSWORD_ATTR))
+                key.equals(Attribute.PASSWORD_ATTR) ||
+                key.equals(Attribute.SSL_ATTR))
 				continue;
 			longDatabase.append(";" + key + "=" + augmentedProperties.getProperty(key));
 		}

Modified: db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/ClientThread.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/ClientThread.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/ClientThread.java (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/ClientThread.java Wed Feb 14 03:15:15 2007
@@ -31,64 +31,100 @@
 	ServerSocket serverSocket;
 	private int timeSlice;
 	private int connNum;
-
-		ClientThread (NetworkServerControlImpl nsi, ServerSocket ss) {
-
-			// Create a more meaningful name for this thread (but preserve its
-			// thread id from the default name).
-			NetworkServerControlImpl.setUniqueThreadName(this, "NetworkServerThread");
-
-			parent=nsi;
-			serverSocket=ss;
-			timeSlice=nsi.getTimeSlice();
-		}
-			
-		public void run() 
-		{
-
-			Socket clientSocket = null;
-
-
-			for (;;)
-			{
-				try {
-	          		try{
-	             			clientSocket = (Socket) AccessController.doPrivileged(
-						new PrivilegedExceptionAction() {
-							public Object run() throws IOException
-							{
-								return serverSocket.accept();
-							}
-						}
-					 );
-							clientSocket.setKeepAlive(parent.getKeepAlive());
-
-					// Set time out: Stops DDMReader.fill() from
-					// waiting indefinitely when timeSlice is set.
-					if (timeSlice != 0)
-						clientSocket.setSoTimeout(timeSlice);
-				} catch (PrivilegedActionException e) {
-					Exception e1 = e.getException();
-	            			if (e1 instanceof IOException){
-						synchronized(parent.getShutdownSync()) {
-							if (!parent.getShutdown())
-	                					parent.consolePropertyMessage("DRDA_UnableToAccept.S");
-							}
-					} else throw e1;
-	                		break;
-				} // end priv try/catch block
-
-				//create a new Session for this session
-				parent.addSession(clientSocket);
-
-				}catch (Exception e) {
-					if (e instanceof InterruptedException)
-						return;
-					parent.consoleExceptionPrintTrace(e);
-				} // end outer try/catch block
-			} // end for(;;)
-
-		}// end run()
+    
+    ClientThread (NetworkServerControlImpl nsi, ServerSocket ss) {
+        
+        // Create a more meaningful name for this thread (but preserve its
+        // thread id from the default name).
+        NetworkServerControlImpl.setUniqueThreadName(this, "NetworkServerThread");
+        
+        parent=nsi;
+        serverSocket=ss;
+        timeSlice=nsi.getTimeSlice();
+    }
+	
+    public void run() 
+    {
+        Socket clientSocket = null;
+        
+        for (;;) { // Nearly infinite loop. The loop is terminated if
+                   // 1) We are shut down or 2) SSL won't work. In all
+                   // other cases we just continue and try another
+                   // accept on the socket.
+
+            try { // Check for all other exceptions....
+
+                try { // Check for underlying InterruptedException,
+                      // SSLException and IOException
+
+                    try{ // Check for PrivilegedActionException
+
+                        clientSocket = 
+                            (Socket) AccessController.doPrivileged(
+                                 new PrivilegedExceptionAction() {
+                                     public Object run() throws IOException
+                                     {
+                                         return serverSocket.accept();
+                                     }
+                                 }
+                                 );
+
+                        clientSocket.setKeepAlive(parent.getKeepAlive());
+                        
+                        // Set time out: Stops DDMReader.fill() from
+                        // waiting indefinitely when timeSlice is set.
+                        if (timeSlice != 0)
+                            clientSocket.setSoTimeout(timeSlice);
+                        
+                        //create a new Session for this socket
+                        parent.addSession(clientSocket);
+                        
+                    } catch (PrivilegedActionException e) {
+                        // Just throw the underlying exception
+                        throw e.getException();
+                    } // end inner try/catch block
+                    
+                } catch (InterruptedException ie) {
+                    // This is a shutdown and we'll just exit the
+                    // thread. NOTE: This is according to the logic
+                    // before this rewrite. I am not convinced that it
+                    // is allways the case, but will not alter the
+                    // behaviour since it is not within the scope of
+                    // this change (DERBY-2108).
+                    return;
+
+                } catch (javax.net.ssl.SSLException ssle) {
+                    // SSLException is a subclass of
+                    // IOException, but we should not continue
+                    // if we get one. Print stack trace and...
+                    
+                    parent.consoleExceptionPrintTrace(ssle);
+                    
+                    // ... we need to shutdown the server, since SSL for
+                    // some reason will not work.
+                    
+                    parent.directShutdown();
+                    
+                    return; // Exit the thread
+                    
+                } catch (IOException ioe) {
+                    // IOException are ignored.  No console error message
+                    // if this was caused by a shutdown
+                    synchronized (parent.getShutdownSync()) {
+                        if (!parent.getShutdown()) {
+                            parent.consolePropertyMessage("DRDA_UnableToAccept.S");
+                        }
+                    }
+                }
+            } catch (Exception e) {
+                // Catch and log all other exceptions
+                
+                parent.consoleExceptionPrintTrace(e);
+            } // end outer try/catch block
+            
+        } // end for(;;)
+        
+    }// end run()
 }
 
 

Modified: db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java Wed Feb 14 03:15:15 2007
@@ -33,6 +33,11 @@
 import java.net.InetAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
+import javax.net.SocketFactory;
+import javax.net.ServerSocketFactory;
+import javax.net.ssl.SSLServerSocket;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.SSLServerSocketFactory;
 import java.net.UnknownHostException;
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
@@ -96,7 +101,7 @@
 	public final static int COMMAND_PROPERTIES = 10;
 	public final static int COMMAND_UNKNOWN = -1;
 	public final static String [] DASHARGS =
-	{"p","d","u","ld","ea","ep", "b", "h", "s", "unsecure"};
+	{"p","d","u","ld","ea","ep", "b", "h", "s", "unsecure", "ssl"};
 	public final static int DASHARG_PORT = 0;
 	public final static int DASHARG_DATABASE = 1;
 	public final static int DASHARG_USER = 2;
@@ -107,6 +112,7 @@
 	public final static int DASHARG_HOST = 7;
 	public final static int DASHARG_SESSION = 8;
 	public final static int DASHARG_UNSECURE = 9;
+	private final static int DASHARG_SSL = 10;
 
 	// command protocol version - you need to increase this number each time
 	// the command protocol changes 
@@ -292,13 +298,19 @@
 
 	// accessed by inner classes for privileged action
 	private String propertyFileName;
-	private Runnable acceptClients;
-	
+	private NetworkServerControlImpl thisControl = this;
 
 	// if the server is started from the command line, it should shutdown the
 	// databases it has booted.
 	private boolean shutdownDatabasesOnShutdown = false;
-	
+
+	// SSL related stuff
+	private static final int SSL_OFF = 0;
+	private static final int SSL_ON = 1;
+	private static final int SSL_CLIENT_AUTH = 2;
+
+	private int sslMode = SSL_OFF;
+
     /**
      * Can EUSRIDPWD security mechanism be used with 
      * the current JVM
@@ -567,6 +579,46 @@
 		starter.boot(false,null);
 	}
 
+	/**
+	 * Create the right kind of server socket
+	 */
+	
+	private ServerSocket createServerSocket()
+		throws IOException
+	{
+		if (hostAddress == null)
+			hostAddress = InetAddress.getByName(hostArg);
+		// Make a list of valid
+		// InetAddresses for NetworkServerControl
+		// admin commands.
+		buildLocalAddressList(hostAddress);
+											
+		// Create the right kind of socket
+		switch (getSSLMode()) {
+		case SSL_OFF:
+		default:
+			ServerSocketFactory sf =
+				ServerSocketFactory.getDefault();
+			return sf.createServerSocket(portNumber
+										 ,0,
+										 hostAddress);
+		case SSL_ON:
+			SSLServerSocketFactory ssf =
+				(SSLServerSocketFactory)SSLServerSocketFactory.getDefault();
+			return ssf.createServerSocket(portNumber
+										  ,0,
+										  hostAddress);
+		case SSL_CLIENT_AUTH:
+			SSLServerSocketFactory ssf2 =
+				(SSLServerSocketFactory)SSLServerSocketFactory.getDefault();
+			SSLServerSocket sss= (SSLServerSocket)ssf2.createServerSocket(portNumber
+																		  ,0,
+																		  hostAddress);
+			sss.setNeedClientAuth(true);
+			return sss;
+		}
+	}
+	
 
 	/**
 	 * Start a network server
@@ -589,54 +641,73 @@
 			mc = new memCheck(200000);
 			mc.start();
 		}
-        // Open a server socket listener      
-	    try{
-	    	serverSocket = (ServerSocket) AccessController.doPrivileged(
-								new PrivilegedExceptionAction() {
-										public Object run() throws IOException,UnknownHostException
-										{
-											if (hostAddress == null)
-												hostAddress = InetAddress.getByName(hostArg);
-											// Make a list of valid
-											// InetAddresses for NetworkServerControl
-											// admin commands.
-											buildLocalAddressList(hostAddress);
-											return new ServerSocket(portNumber
-																	,0,
-																	hostAddress);
-										}
-									}
-								);
+		// Open a server socket listener	  
+		try{
+			serverSocket = 
+				(ServerSocket) 
+				AccessController.doPrivileged(new PrivilegedExceptionAction() {
+						public Object run() throws IOException
+						{
+							return createServerSocket();
+						}
+					});
 		} catch (PrivilegedActionException e) {
 			Exception e1 = e.getException();
-	    	if (e1 instanceof IOException)
-            	consolePropertyMessage("DRDA_ListenPort.S", 
-									   new String [] {
-										   Integer.toString(portNumber), 
-										   hostArg}); 
+
+			// Test for UnknownHostException first since it's a
+			// subbclass of IOException (and consolePropertyMessage
+			// throws an exception when the severity is S (or U).
 			if (e1 instanceof UnknownHostException) {
 				consolePropertyMessage("DRDA_UnknownHost.S", hostArg);
-			}
-			else
+			} else if (e1 instanceof IOException) {
+				consolePropertyMessage("DRDA_ListenPort.S", 
+									   new String [] {
+										   Integer.toString(portNumber), 
+										   hostArg,
+										   // Since SocketException
+										   // is used for a phletora
+										   // of situations, we need
+										   // to communicate the
+										   // underlying exception
+										   // string to the user.
+										   e1.toString()}); 
+			} else {
 				throw e1;
+			}
 		} catch (Exception e) {
 		// If we find other (unexpected) errors, we ultimately exit--so make
 		// sure we print the error message before doing so (Beetle 5033).
 			throwUnexpectedException(e);
 		}
-		
-		consolePropertyMessage("DRDA_Ready.I", new String [] 
-                    {Integer.toString(portNumber), att_srvclsnm, versionString,
-					getFormattedTimestamp()});
+
+		switch (getSSLMode()) {
+		default:
+		case SSL_OFF:
+			consolePropertyMessage("DRDA_Ready.I", new String [] 
+				{Integer.toString(portNumber), att_srvclsnm, versionString,
+				 getFormattedTimestamp()});
+			break;
+		case SSL_ON:
+			consolePropertyMessage("DRDA_SSLReady.I", new String [] 
+				{Integer.toString(portNumber), att_srvclsnm, versionString,
+				 getFormattedTimestamp()});
+			break;
+		case SSL_CLIENT_AUTH:
+			consolePropertyMessage("DRDA_SSLClientAuthReady.I", new String [] 
+				{Integer.toString(portNumber), att_srvclsnm, versionString,
+				 getFormattedTimestamp()});
+			break;
+		}
 		
 		// We accept clients on a separate thread so we don't run into a problem
 		// blocking on the accept when trying to process a shutdown
-		acceptClients = (Runnable)new ClientThread(this, serverSocket);
-		Thread clientThread =  (Thread) AccessController.doPrivileged(
+		ClientThread clientThread =	 
+			(ClientThread) AccessController.doPrivileged(
 								new PrivilegedExceptionAction() {
 									public Object run() throws Exception
 									{
-										return new Thread(acceptClients);
+										return new ClientThread(thisControl, 
+																serverSocket);
 									}
 								}
 							);
@@ -2066,11 +2137,18 @@
 				else
 					consolePropertyMessage("DRDA_MissingValue.U", "DRDA_Session.I");
 				break;
-
 			case DASHARG_UNSECURE:
 				unsecureArg = true;
 				break;
 
+			case DASHARG_SSL:
+				if (pos < args.length) {
+					setSSLMode(getSSLModeValue(args[pos]));
+				} else {
+					setSSLMode(SSL_OFF);
+				}
+				break;
+
 			default:
 				//shouldn't get here
 		}
@@ -2125,7 +2203,7 @@
 	{
 		
 		try {
-            clientSocket = (Socket) AccessController.doPrivileged(
+			clientSocket = (Socket) AccessController.doPrivileged(
 								new PrivilegedExceptionAction() {
 										
 									public Object run() throws UnknownHostException,IOException
@@ -2143,16 +2221,22 @@
 										else
 											connectAddress = hostAddress;
 
-										return new Socket(connectAddress, portNumber);
+										SocketFactory sf;
+										if (getSSLMode() > SSL_OFF) {
+											sf = SSLSocketFactory.getDefault();
+										} else {
+											sf = SocketFactory.getDefault();
+										}
+										return sf.createSocket(connectAddress, portNumber);
 									}
 								}
 							);
 		} catch (PrivilegedActionException pae) {
 			Exception e1 = pae.getException();
-        	if (e1 instanceof UnknownHostException) {
+			if (e1 instanceof UnknownHostException) {
 					consolePropertyMessage("DRDA_UnknownHost.S", hostArg);
 			}
-        	else if (e1 instanceof IOException) {
+			else if (e1 instanceof IOException) {
 					consolePropertyMessage("DRDA_NoIO.S",
 						new String [] {hostArg, (new Integer(portNumber)).toString()});
 			}
@@ -2606,6 +2690,10 @@
 			portNumber = getIntPropVal(Property.DRDA_PROP_PORTNUMBER, propval);
 		}
 
+		propval = PropertyUtil.getSystemProperty(
+			Property.DRDA_PROP_SSL_MODE);
+		setSSLMode(getSSLModeValue(propval));
+												 
 		propval = PropertyUtil.getSystemProperty( 
 			Property.DRDA_PROP_KEEPALIVE);
 		if (propval != null && 
@@ -2622,14 +2710,14 @@
 		}	
 		propval = PropertyUtil.getSystemProperty(
 						 NetworkServerControlImpl.DRDA_PROP_DEBUG);
-		if (propval != null  && StringUtil.SQLEqualsIgnoreCase(propval, "true"))
+		if (propval != null	 && StringUtil.SQLEqualsIgnoreCase(propval, "true"))
 			debugOutput = true;
 
-        propval = PropertyUtil.getSystemProperty( 
-                Property.DRDA_PROP_SECURITYMECHANISM);
-        if (propval != null){
-            setSecurityMechanism(propval);
-        }
+		propval = PropertyUtil.getSystemProperty( 
+				Property.DRDA_PROP_SECURITYMECHANISM);
+		if (propval != null){
+			setSecurityMechanism(propval);
+		}
 
 	}
 
@@ -2697,6 +2785,60 @@
     }
     
 	/**
+	 * Get the SSL-mode from a string.
+	 * @param s the SSL-mode string ("off", "on"/"true" or
+	 * "clientAuth"
+	 * @return SSL_OFF, SSL_ON or SSL_CLIENT_AUTH. Will default to
+	 * SSL_OFF if the input does not match one of the four listed
+	 * above.
+	 **/
+
+	private int getSSLModeValue(String s)
+	{
+		if (s != null){
+			if (StringUtil.SQLEqualsIgnoreCase(s,"off")) {
+				return SSL_OFF;
+			} else if (StringUtil.SQLEqualsIgnoreCase(s,"on")) {
+				return SSL_ON;
+			} else if (StringUtil.SQLEqualsIgnoreCase(s,"true")) {
+				// "true" equivalent to "on"
+				return SSL_ON;
+			} else if (StringUtil.SQLEqualsIgnoreCase(s,"clientAuth")) {
+				return SSL_CLIENT_AUTH;
+			} else {
+				// Default
+				return SSL_OFF;
+			}
+		} else {
+			// Default
+			return SSL_OFF;
+		}
+	}
+
+	/**
+	 * Get the string value of the SSL-mode. This is the inverse of
+	 * getSSLModeValue.
+	 * @param i The SSL-mode value (SSL_OFF, SSL_ON or AAL_CLIENT_AUTH)
+	 * @return The string representation ("off","on" or
+	 * "clientAuth"). Will default to SSL_OFF for other values than
+	 * those listed above.
+	 */
+	
+	private String getSSLModeString(int i)
+	{
+		switch(i) {
+		case SSL_OFF:
+		default:
+			return "off";
+		case SSL_ON:
+			return "on";
+		case SSL_CLIENT_AUTH:
+			return "clientAuth";
+		}
+	}
+
+	
+	/**
 	 * Get integer property values
 	 *
 	 * @param propName 	property name
@@ -3204,6 +3346,16 @@
 			maxThreads = value;
 		}
 	}
+
+	protected void setSSLMode(int mode)
+	{
+		sslMode = mode;
+	}
+
+	protected int getSSLMode() 
+	{
+		return sslMode;
+	}
 		
 	/**
 	 * Get the current value of whether to trace all the sessions
@@ -3291,101 +3443,7 @@
 			sendSQLMessage(writer, se, SQLERROR);
 	  	}
 	}
-	/**
-	 * Boot database 
-	 *
-	 * @param writer	connection to send message to
-	 * @param database 	database directory to connect to
-	 * @param bootPassword	boot password
-	 * @param encPrv	encryption provider
-	 * @param encAlg	encryption algorithm
-	 * @param user		user to use
-	 * @param password	password to use
-	 */
-	private void startDatabase(DDMWriter writer, String database,
-		String bootPassword, String encPrv, String encAlg, String user, 
-			String password) throws Exception
-	{
-		Properties p = new Properties();
-		if (bootPassword != null)
-			p.put(Attribute.BOOT_PASSWORD, bootPassword);
-		if (encPrv != null)
-			p.put(Attribute.CRYPTO_PROVIDER, encPrv);
-		if (encAlg != null)
-			p.put(Attribute.CRYPTO_ALGORITHM, encAlg);
-		if (user != null)
-			p.put(Attribute.USERNAME_ATTR, user);
-		if (password != null)
-			p.put(Attribute.PASSWORD_ATTR, password);
-	 	try {
-     		Class.forName(CLOUDSCAPE_DRIVER);
-		}
-		catch (Exception e) {
-			sendMessage(writer, ERROR, e.getMessage());
-			return;
-	  	}
-	 	try {
-			//Note, we add database to the url so that we can allow additional
-			//url attributes
-			Connection conn = DriverManager.getConnection(Attribute.PROTOCOL+database, p);
-			SQLWarning warn = conn.getWarnings();
-			if (warn != null)
-				sendSQLMessage(writer, warn, SQLWARNING);
-			else
-				sendOK(writer);
-			conn.close();
-	  	} catch (SQLException se) {
-			sendSQLMessage(writer, se, SQLERROR);
-	  	} catch (Exception e) {
-			sendMessage(writer, ERROR, e.getMessage());
-		}
-	}
-	/**
-	 * Shutdown a database 
-	 *
-	 * @param writer	connection to send message to
-	 * @param database 	database directory to shutdown to
-	 * @param user		user to use
-	 * @param password	password to use
-	 */
-	private void shutdownDatabase(DDMWriter writer, String database, String user, 
-		String password) throws Exception
-	{
 
-		StringBuffer url = new StringBuffer(Attribute.PROTOCOL + database);
-		if (user != null)
-			url.append(";user="+user);
-		if (password != null)
-			url.append(";password="+password);
-		url.append(";shutdown=true");
-	 	try {
-     		Class.forName(CLOUDSCAPE_DRIVER);
-		}
-		catch (Exception e) {
-			sendMessage(writer, ERROR, e.getMessage());
-			return;
-	  	}
-	 	try {
-			Connection conn = DriverManager.getConnection(url.toString());
-			SQLWarning warn = conn.getWarnings();
-			if (warn != null)
-				sendSQLMessage(writer, warn, SQLWARNING);
-			else
-				sendOK(writer);
-			conn.close();
-	  	} catch (SQLException se) {
-			//ignore shutdown error
-			String expectedState =
-				StandardException.
-					getSQLStateFromIdentifier(SQLState.SHUTDOWN_DATABASE);
-			if (!expectedState.equals(se.getSQLState()))
-			{
-				sendSQLMessage(writer, se, SQLERROR);
-				return;
-			}
-			sendOK(writer);
-	  	}
-	}
 	/**
 	 * Wrap SQL Error - display to console and raise exception
 	 *
@@ -3433,9 +3491,12 @@
 		//an empty string. Use default values in such cases.
 		if(startDRDA!=null && startDRDA.equals(""))
 			startDRDA = "false";
-		
+
 		retval.put(Property.START_DRDA, (startDRDA == null)? "false" : startDRDA);
 
+		// DERBY-2108 SSL
+		retval.put(Property.DRDA_PROP_SSL_MODE, getSSLModeString(getSSLMode()));
+		
         // if Property.DRDA_PROP_SECURITYMECHANISM has been set on server
         // then put it in retval else the default behavior is as though 
         // it is not set

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_cs.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_cs.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_cs.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_cs.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=Neo\u010dek\u00e1van\u00e1 v\u00fdjimka p\u0159i zav\u00e1d\u011bn\u00ed ovlada\u010de JDBC Derby:\n {0}
 DRDA_PropertyException.S=Neo\u010dek\u00e1van\u00e1 v\u00fdjimka p\u0159i na\u010d\u00edt\u00e1n\u00ed souboru cloudscape.properties:\n {0}
 DRDA_UnexpectedException.S=Neo\u010dek\u00e1van\u00e1 v\u00fdjimka:\n {0}
-DRDA_ListenPort.S=Nelze naslouchat na portu {0} hostitele {1}.
 DRDA_NoInputStream.S=Nelze z\u00edskat vstupn\u00ed tok dat pro soket klienta.
 DRDA_Ready.I=S\u00ed\u0165ov\u00fd server {1} - {2}: spu\u0161t\u011bn a p\u0159ipraven p\u0159ij\u00edmat p\u0159ipojen\u00ed na portu {0} v {3} 
 DRDA_UnableToAccept.S=Nelze p\u0159ij\u00edmat p\u0159ipojen\u00ed.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_de_DE.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_de_DE.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_de_DE.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_de_DE.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=Unerwartete Ausnahme beim Laden des Derby-JDBC-Treibers:\n {0}
 DRDA_PropertyException.S=Unerwartete Ausnahme beim Lesen von cloudscape.properties:\n {0}
 DRDA_UnexpectedException.S=Unerwartete Ausnahme:\n {0}
-DRDA_ListenPort.S=Am Port {0} auf dem Host {1} war kein Empfang m\u00f6glich.
 DRDA_NoInputStream.S=F\u00fcr den Client-Socket konnte kein Eingabedatenstrom angefordert werden.
 DRDA_Ready.I={1} Network Server {2} wurde gestartet und ist seit {3} bereit, Verbindungen am Port {0} zu akzeptieren. 
 DRDA_UnableToAccept.S=Es k\u00f6nnen keine Verbindungen akzeptiert werden.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_en.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_en.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_en.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_en.properties Wed Feb 14 03:15:15 2007
@@ -20,9 +20,11 @@
 DRDA_LoadException.S=Unexpected exception while loading Derby JDBC Driver:\n {0}
 DRDA_PropertyException.S=Unexpected exception while reading cloudscape.properties:\n {0}
 DRDA_UnexpectedException.S=Unexpected exception:\n {0}
-DRDA_ListenPort.S=Could not listen on port {0} on host {1}.
+DRDA_ListenPort.S=Could not listen on port {0} on host {1}:\n {2}
 DRDA_NoInputStream.S=Could not get input stream for client socket.
 DRDA_Ready.I={1} Network Server - {2} started and ready to accept connections on port {0} at {3} 
+DRDA_SSLReady.I={1} Network Server - {2} started and ready to accept SSL connections on port {0} at {3} 
+DRDA_SSLClientAuthReady.I={1} Network Server - {2} started and ready to accept SSL connections with client authentication on port {0} at {3} 
 DRDA_UnableToAccept.S=Unable to accept connections.
 DRDA_ConnNumber.I=Connection number: {0}.
 DRDA_ClientSocketError.S=Error on client socket:\n {0}
@@ -112,16 +114,16 @@
 #
 DRDA_Usage1.I=Usage: NetworkServerControl <commands> 
 DRDA_Usage2.I=Commands:
-DRDA_Usage3.I=start [-h <host>] [-p <portnumber>] [-unsecure]
-DRDA_Usage4.I=shutdown [-h <host>][-p <portnumber>]
-DRDA_Usage5.I=ping [-h <host>][-p <portnumber>]
-DRDA_Usage6.I=sysinfo [-h <host>][-p <portnumber>]
-DRDA_Usage7.I=runtimeinfo [-h <host>][-p <portnumber>]
-DRDA_Usage8.I=logconnections {on|off}[-h <host>][-p <portnumber>]
-DRDA_Usage9.I=maxthreads <max>[-h <host>][-p <portnumber>]
-DRDA_Usage10.I=timeslice <milliseconds>[-h <host>][-p <portnumber>]
-DRDA_Usage11.I=trace {on|off} [-s <session id>][-h <host>][-p <portnumber>]
-DRDA_Usage12.I=tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
+DRDA_Usage3.I=start [-h <host>] [-p <portnumber>] [-unsecure] [-ssl <sslmode>]
+DRDA_Usage4.I=shutdown [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+DRDA_Usage5.I=ping [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+DRDA_Usage6.I=sysinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+DRDA_Usage7.I=runtimeinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+DRDA_Usage8.I=logconnections {on|off}[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+DRDA_Usage9.I=maxthreads <max>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+DRDA_Usage10.I=timeslice <milliseconds>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+DRDA_Usage11.I=trace {on|off} [-s <session id>][-h <host>][-p <portnumber>] [-ssl <sslmode>]
+DRDA_Usage12.I=tracedirectory <traceDirectory>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
 
 
 

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_es.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_es.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_es.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_es.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=Se ha producido una excepci\u00f3n no esperada al cargar el controlador JDBC de Derby:\n {0}
 DRDA_PropertyException.S=Excepci\u00f3n no esperada al leer cloudscape.properties:\n {0}
 DRDA_UnexpectedException.S=Excepci\u00f3n no esperada:\n {0}
-DRDA_ListenPort.S=No se pudo escuchar en el puerto {0} en el sistema principal {1}.
 DRDA_NoInputStream.S=No se pudo obtener una corriente de datos de entrada para el socket de cliente.
 DRDA_Ready.I=Servidor de red {1} - {2} se ha iniciado y est\u00e1 listo para aceptar conexiones en el puerto {0} a las {3} 
 DRDA_UnableToAccept.S=No se pueden aceptar conexiones.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_fr.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_fr.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_fr.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_fr.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=Exception inattendue lors du chargement du pilote JDBC Derby :\n {0}
 DRDA_PropertyException.S=Exception inattendue lors de la lecture du fichier cloudscape.properties :\n {0}
 DRDA_UnexpectedException.S=Exception inattendue :\n {0}
-DRDA_ListenPort.S=Ecoute impossible sur le port {0} sur l''h\u00f4te {1}.
 DRDA_NoInputStream.S=Impossible d''obtenir le flux de donn\u00e9es en entr\u00e9e pour le socket client.
 DRDA_Ready.I=Serveur r\u00e9seau {1} - {2} d\u00e9marr\u00e9 et pr\u00eat \u00e0 accepter les connexions au port {0} \u00e0 {3} 
 DRDA_UnableToAccept.S=Impossible d''accepter les connexions.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_hu.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_hu.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_hu.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_hu.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=V\u00e1ratlan kiv\u00e9tel t\u00f6rt\u00e9nt a Derby JDBC illeszt\u0151program bet\u00f6lt\u00e9se sor\u00e1n: \n {0}
 DRDA_PropertyException.S=V\u00e1ratlan kiv\u00e9tel t\u00f6rt\u00e9nt a cloudscape.properties olvas\u00e1sa k\u00f6zben:\n{0}
 DRDA_UnexpectedException.S=V\u00e1ratlan kiv\u00e9tel:\n {0}
-DRDA_ListenPort.S=A(z) {1} hoszt {0} portja nem figyelhet\u0151.
 DRDA_NoInputStream.S=Nem k\u00e9rdezhet\u0151 le az \u00fcgyf\u00e9lsocket bemeneti adatfolyama.
 DRDA_Ready.I={1} H\u00e1l\u00f3zati kiszolg\u00e1l\u00f3 - {2} elindult \u00e9s k\u00e9sz a kapcsolatok fogad\u00e1s\u00e1ra a(z) {3} {0} portj\u00e1n 
 DRDA_UnableToAccept.S=A kapcsolatok nem fogadhat\u00f3k.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_it.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_it.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_it.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_it.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=Eccezione imprevista durante il caricamento di Derby JDBC Driver:\n{0}
 DRDA_PropertyException.S=Eccezione imprevista durante la lettura di cloudscape.properties:\n{0}
 DRDA_UnexpectedException.S=Eccezione imprevista:\n {0}
-DRDA_ListenPort.S=Ascolto impossibile sulla porta {0} dell''host {1}.
 DRDA_NoInputStream.S=Impossibile richiamare il flusso di input per il socket client.
 DRDA_Ready.I={1} Server di rete - {2} avviato e pronto ad accettare connessioni sulla porta {0} a {3} 
 DRDA_UnableToAccept.S=Impossibile accettare i collegamenti.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ja_JP.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ja_JP.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ja_JP.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ja_JP.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=Cloudscape JDBC \u30c9\u30e9\u30a4\u30d0\u30fc\u306e\u30ed\u30fc\u30c9\u4e2d\u306b\u4e88\u671f\u3057\u306a\u3044\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n {0}
 DRDA_PropertyException.S=cloudscape.properties \u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u4e88\u671f\u3057\u306a\u3044\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n {0}
 DRDA_UnexpectedException.S=\u4e88\u671f\u3057\u306a\u3044\u4f8b\u5916:\n {0}
-DRDA_ListenPort.S=\u30db\u30b9\u30c8 {1} \u306e\u30dd\u30fc\u30c8 {0} \u3092 listen \u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 DRDA_NoInputStream.S=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30fb\u30bd\u30b1\u30c3\u30c8\u306e\u5165\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 DRDA_Ready.I={1} Network Server - {3} \u306b {2} \u304c\u958b\u59cb\u3055\u308c\u3001\u30dd\u30fc\u30c8 {0} \u3067\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u308b\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u3002 
 DRDA_UnableToAccept.S=\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ko_KR.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ko_KR.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ko_KR.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ko_KR.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=Derby JDBC Driver \ub85c\ub4dc \uc911\uc5d0 \uc608\uae30\uce58 \uc54a\uc740 \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.\n {0}
 DRDA_PropertyException.S=cloudscape.properties\ub97c \uc77d\ub294 \uc911\uc5d0 \uc608\uae30\uce58 \uc54a\uc740 \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.\n {0}
 DRDA_UnexpectedException.S=\uc608\uae30\uce58 \uc54a\uc740 \uc608\uc678:\n{0}
-DRDA_ListenPort.S={1} \ud638\uc2a4\ud2b8\uc5d0\uc11c {0} \ud3ec\ud2b8\ub97c \ub300\uae30\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 DRDA_NoInputStream.S=\ud074\ub77c\uc774\uc5b8\ud2b8 \uc18c\ucf13\uc5d0 \ub300\ud55c \uc785\ub825 \uc2a4\ud2b8\ub9bc\uc744 \uac00\uc838\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 DRDA_Ready.I={1} Network Server - {2}\uc774(\uac00) {3}\uc5d0 {0} \ud3ec\ud2b8\uc5d0\uc11c\uc758 \uc5f0\uacb0\uc744 \uc2b9\uc778\ud560 \uc900\ube44\uac00 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. 
 DRDA_UnableToAccept.S=\uc5f0\uacb0\uc744 \uc2b9\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pl.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pl.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pl.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pl.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=Nieoczekiwany wyj\u0105tek podczas \u0142adowania sterownika JDBC bazy danych Derby:\n {0}
 DRDA_PropertyException.S=Nieoczekiwany wyj\u0105tek podczas odczytu pliku cloudscape.properties:\n {0}
 DRDA_UnexpectedException.S=Nieoczekiwany wyj\u0105tek:\n {0}
-DRDA_ListenPort.S=Nie mo\u017cna nas\u0142uchiwa\u0107 na porcie {0} hosta {1}.
 DRDA_NoInputStream.S=Nie mo\u017cna pobra\u0107 strumienia wej\u015bciowego dla gniazda klienta.
 DRDA_Ready.I=Serwer sieciowy {1} - {2} uruchomiony i gotowy do zaakceptowania po\u0142\u0105cze\u0144 na porcie {0} w {3} 
 DRDA_UnableToAccept.S=Nie mo\u017cna zaakceptowa\u0107 po\u0142\u0105cze\u0144.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pt_BR.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pt_BR.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pt_BR.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_pt_BR.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=Exce\u00e7\u00e3o inesperada ao carregar o driver de JDBC do Derby:\n {0}
 DRDA_PropertyException.S=Exce\u00e7\u00e3o inesperada ao ler cloudscape.properties:\n {0}
 DRDA_UnexpectedException.S=Exce\u00e7\u00e3o inesperada:\n {0}
-DRDA_ListenPort.S=N\u00e3o foi poss\u00edvel atender na porta {0} do hospedeiro {1}.
 DRDA_NoInputStream.S=N\u00e3o foi poss\u00edvel obter fluxo de entrada para o soquete do cliente.
 DRDA_Ready.I={1} Servidor de Rede - {2} iniciado e pronto para aceitar conex\u00f5es na porta {0} em {3}
 DRDA_UnableToAccept.S=N\u00e3o \u00e9 poss\u00edvel aceitar conex\u00f5es.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ru.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ru.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ru.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_ru.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 JDBC Derby:\n {0}
 DRDA_PropertyException.S=\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 cloudscape.properties:\n {0}
 DRDA_UnexpectedException.S=\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435:\n {0}
-DRDA_ListenPort.S=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0438\u0442\u044c \u043f\u0440\u0438\u0435\u043c \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 {0} \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 {1}.
 DRDA_NoInputStream.S=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0442\u043e\u043a \u0432\u0432\u043e\u0434\u0430 \u0434\u043b\u044f \u0433\u043d\u0435\u0437\u0434\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430.
 DRDA_Ready.I=\u0421\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 {1} Network Server - {2} \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0438 \u0433\u043e\u0442\u043e\u0432 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 {0} \u043d\u0430 {3} 
 DRDA_UnableToAccept.S=\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f.

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_CN.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_CN.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_CN.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_CN.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=\u5f53\u88c5\u5165 Derby JDBC \u9a71\u52a8\u7a0b\u5e8f\u65f6\uff0c\u53d1\u751f\u610f\u5916\u5f02\u5e38\uff1a\n {0}
 DRDA_PropertyException.S=\u5f53\u8bfb\u53d6 cloudscape.properties \u65f6\uff0c\u53d1\u751f\u610f\u5916\u5f02\u5e38\uff1a\n {0}
 DRDA_UnexpectedException.S=\u610f\u5916\u5f02\u5e38\uff1a\n {0}
-DRDA_ListenPort.S=\u65e0\u6cd5\u4fa6\u542c\u4e3b\u673a {1} \u4e0a\u7684\u7aef\u53e3 {0}\u3002
 DRDA_NoInputStream.S=\u65e0\u6cd5\u83b7\u53d6\u5ba2\u6237\u673a\u5957\u63a5\u5b57\u7684\u8f93\u5165\u6d41\u3002
 DRDA_Ready.I={1} Network Server \uff0d {2} \u5df2\u542f\u52a8\u5e76\u4e14\u5df2\u51c6\u5907\u597d {3} \u65f6\u5728\u7aef\u53e3 {0} \u4e0a\u63a5\u53d7\u8fde\u63a5
 DRDA_UnableToAccept.S=\u65e0\u6cd5\u63a5\u53d7\u8fde\u63a5\u3002

Modified: db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_TW.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_TW.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_TW.properties (original)
+++ db/derby/code/trunk/java/drda/org/apache/derby/loc/drda/messages_zh_TW.properties Wed Feb 14 03:15:15 2007
@@ -20,7 +20,6 @@
 DRDA_LoadException.S=\u5728\u8f09\u5165 Derby JDBC \u9a45\u52d5\u7a0b\u5f0f\u6642\uff0c\u767c\u751f\u975e\u9810\u671f\u7684\u7570\u5e38\u72c0\u6cc1\uff1a\n {0}
 DRDA_PropertyException.S=\u5728\u8b80\u53d6 cloudscape.properties \u6642\uff1a\u767c\u751f\u975e\u9810\u671f\u7684\u7570\u5e38\u72c0\u6cc1\uff1a\n {0}
 DRDA_UnexpectedException.S=\u975e\u9810\u671f\u7684\u7570\u5e38\u72c0\u6cc1\uff1a\n {0}
-DRDA_ListenPort.S=\u7121\u6cd5\u63a5\u807d\u57e0 {0}\u3001\u4e3b\u6a5f {1}\u3002
 DRDA_NoInputStream.S=\u7121\u6cd5\u5f9e\u7528\u6236\u7aef Socket \u53d6\u5f97\u8f38\u5165\u4e32\u6d41\u3002
 DRDA_Ready.I={1} \u7db2\u8def\u4f3a\u670d\u5668 - {2} \u5df2\u555f\u52d5\u4e14\u53ef\u63a5\u53d7\u57e0 {0} \u7684\u9023\u7dda\uff0c\u65bc {3} 
 DRDA_UnableToAccept.S=\u7121\u6cd5\u63a5\u53d7\u9023\u7dda\u3002

Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/Property.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/Property.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/Property.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/reference/Property.java Wed Feb 14 03:15:15 2007
@@ -776,6 +776,18 @@
 	public final static String DRDA_PROP_MAXTHREADS = "derby.drda.maxThreads";
 	public final static String DRDA_PROP_TIMESLICE = "derby.drda.timeSlice";
 
+
+    /**
+     * derby.drda.sslMode
+     * <BR>
+     * This property may be set to one of the following three values
+     * off: No Wire encryption
+     * on:  Encryption, but no SSL client authentication
+     * clientAuth: Encryption and with SSL client authentication
+     */
+
+    public final static String DRDA_PROP_SSL_MODE = "derby.drda.sslMode";
+
     /**
      * derby.drda.securityMechanism
      *<BR>

Modified: db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/Attribute.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/Attribute.java?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/Attribute.java (original)
+++ db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/Attribute.java Wed Feb 14 03:15:15 2007
@@ -222,6 +222,12 @@
      * Client driver attribute.
      */    
     String CLIENT_RETIEVE_MESSAGE_TEXT = "retrieveMessageText";
+
+    /**
+       The attribute that is used to set client SSL mode.
+    */
+    String SSL_ATTR = "ssl";
+
 }
 
 

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/sysinfo.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/sysinfo.out?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/sysinfo.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/sysinfo.out Wed Feb 14 03:15:15 2007
@@ -3,6 +3,7 @@
 ----- Derby Network Server Information --------
 ----- listing properties --
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -34,6 +35,7 @@
 ----- Derby Network Server Information --------
 ----- listing properties --
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -66,6 +68,7 @@
 ----- Derby Network Server Information --------
 ----- listing properties --
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/sysinfo.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/sysinfo.out?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/sysinfo.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/sysinfo.out Wed Feb 14 03:15:15 2007
@@ -3,6 +3,7 @@
 ----- Derby Network Server Information --------
 ----- listing properties --
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -34,6 +35,7 @@
 ----- Derby Network Server Information --------
 ----- listing properties --
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -66,6 +68,7 @@
 ----- Derby Network Server Information --------
 ----- listing properties --
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/derbyrunjartest.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/derbyrunjartest.out?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/derbyrunjartest.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/derbyrunjartest.out Wed Feb 14 03:15:15 2007
@@ -29,13 +29,13 @@
 No arguments given.
 Usage: NetworkServerControl <commands> 
 Commands:
-start [-h <host>] [-p <portnumber>] [-unsecure]
-shutdown [-h <host>][-p <portnumber>]
-ping [-h <host>][-p <portnumber>]
-sysinfo [-h <host>][-p <portnumber>]
-runtimeinfo [-h <host>][-p <portnumber>]
-logconnections {on|off}[-h <host>][-p <portnumber>]
-maxthreads <max>[-h <host>][-p <portnumber>]
-timeslice <milliseconds>[-h <host>][-p <portnumber>]
-trace {on|off} [-s <session id>][-h <host>][-p <portnumber>]
-tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
+start [-h <host>] [-p <portnumber>] [-unsecure] [-ssl <sslmode>]
+shutdown [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+ping [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+sysinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+runtimeinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+logconnections {on|off}[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+maxthreads <max>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+timeslice <milliseconds>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+trace {on|off} [-s <session id>][-h <host>][-p <portnumber>] [-ssl <sslmode>]
+tracedirectory <traceDirectory>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
\ No newline at end of file

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/getCurrentProperties.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/getCurrentProperties.out?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/getCurrentProperties.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/getCurrentProperties.out Wed Feb 14 03:15:15 2007
@@ -1,6 +1,7 @@
 ----- listing properties --
 derby.drda.traceDirectory=MACHINE_SPECIFIC_DIR
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -13,6 +14,7 @@
 ----- listing properties --
 derby.drda.traceDirectory=MACHINE_SPECIFIC_DIR
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.trace.3=true
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
@@ -26,6 +28,7 @@
 ----- listing properties --
 derby.drda.traceDirectory=MACHINE_SPECIFIC_DIR
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxthreads.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxthreads.out?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxthreads.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxthreads.out Wed Feb 14 03:15:15 2007
@@ -9,16 +9,16 @@
 Invalid value, -12, for maxthreads.
 Usage: NetworkServerControl <commands> 
 Commands:
-start [-h <host>] [-p <portnumber>] [-unsecure]
-shutdown [-h <host>][-p <portnumber>]
-ping [-h <host>][-p <portnumber>]
-sysinfo [-h <host>][-p <portnumber>]
-runtimeinfo [-h <host>][-p <portnumber>]
-logconnections {on |off}[-h <host>][-p <portnumber>]
-maxthreads <max>[-h <host>][-p <portnumber>]
-timeslice <milliseconds>[-h <host>][-p <portnumber>]
-trace {on |off} [-s <session id>][-h <host>][-p <portnumber>]
-tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
+start [-h <host>] [-p <portnumber>] [-unsecure] [-ssl <sslmode>]
+shutdown [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+ping [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+sysinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+runtimeinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+logconnections {on |off}[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+maxthreads <max>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+timeslice <milliseconds>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+trace {on |off} [-s <session id>][-h <host>][-p <portnumber>] [-ssl <sslmode>]
+tracedirectory <traceDirectory>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
 PASS - max threads value, 0 is correct
 org.apache.derby.drda.NetworkServerControl maxthreads 2147483647 
 Max threads changed to 2147483647.
@@ -30,16 +30,16 @@
 Invalid value, a, for maxthreads.
 Usage: NetworkServerControl <commands> 
 Commands:
-start [-h <host>] [-p <portnumber>] [-unsecure]
-shutdown [-h <host>][-p <portnumber>]
-ping [-h <host>][-p <portnumber>]
-sysinfo [-h <host>][-p <portnumber>]
-runtimeinfo [-h <host>][-p <portnumber>]
-logconnections {on |off}[-h <host>][-p <portnumber>]
-maxthreads <max>[-h <host>][-p <portnumber>]
-timeslice <milliseconds>[-h <host>][-p <portnumber>]
-trace {on |off} [-s <session id>][-h <host>][-p <portnumber>]
-tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
+start [-h <host>] [-p <portnumber>] [-unsecure] [-ssl <sslmode>]
+shutdown [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+ping [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+sysinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+runtimeinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+logconnections {on |off}[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+maxthreads <max>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+timeslice <milliseconds>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+trace {on |off} [-s <session id>][-h <host>][-p <portnumber>] [-ssl <sslmode>]
+tracedirectory <traceDirectory>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
 PASS - max threads value, 0 is correct
 PASS - max threads value, 0 is correct
 DRDA_InvalidValue.U:Invalid value, -2, for maxthreads.

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/sysinfo_withproperties.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/sysinfo_withproperties.out?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/sysinfo_withproperties.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/sysinfo_withproperties.out Wed Feb 14 03:15:15 2007
@@ -4,6 +4,7 @@
 ----- listing properties --
 derby.drda.securityMechanism=USER_ONLY_SECURITY
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -36,6 +37,7 @@
 ----- listing properties --
 derby.drda.securityMechanism=USER_ONLY_SECURITY
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -69,6 +71,7 @@
 ----- listing properties --
 derby.drda.securityMechanism=USER_ONLY_SECURITY
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/testProperties.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/testProperties.out?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/testProperties.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/testProperties.out Wed Feb 14 03:15:15 2007
@@ -21,6 +21,7 @@
 -----Dderby.drda.logConnections -Dderby.drda.traceAll -Dderby.drda.traceDirectory -Dderby.drda.keepAlive -Dderby.drda.timeSlice -Dderby.drda.host -Dderby.drda.portNumber -Dderby.drda.minThreads -Dderby.drda.maxThreads -Dderby.drda.startNetworkServer -Dderby.drda.debug org.apache.derby.drda.NetworkServerControl start -unsecure 
 ----- listing properties --
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -36,6 +37,7 @@
 Log Connections changed to on.
 ----- listing properties --
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -49,6 +51,7 @@
 Trace turned off for all sessions.
 ----- listing properties --
 derby.drda.maxThreads=0
+derby.drda.sslMode=off
 derby.drda.keepAlive=true
 derby.drda.minThreads=0
 derby.drda.portNumber=1527
@@ -63,42 +66,42 @@
 No arguments given.
 Usage: NetworkServerControl <commands> 
 Commands:
-start [-h <host>] [-p <portnumber>] [-unsecure]
-shutdown [-h <host>][-p <portnumber>]
-ping [-h <host>][-p <portnumber>]
-sysinfo [-h <host>][-p <portnumber>]
-runtimeinfo [-h <host>][-p <portnumber>]
-logconnections {on |off}[-h <host>][-p <portnumber>]
-maxthreads <max>[-h <host>][-p <portnumber>]
-timeslice <milliseconds>[-h <host>][-p <portnumber>]
-trace {on |off} [-s <session id>][-h <host>][-p <portnumber>]
-tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
+start [-h <host>] [-p <portnumber>] [-unsecure] [-ssl <sslmode>]
+shutdown [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+ping [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+sysinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+runtimeinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+logconnections {on |off}[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+maxthreads <max>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+timeslice <milliseconds>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+trace {on |off} [-s <session id>][-h <host>][-p <portnumber>] [-ssl <sslmode>]
+tracedirectory <traceDirectory>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
 org.apache.derby.drda.NetworkServerControl unknowncmd 
 Command unknowncmd is unknown.
 Usage: NetworkServerControl <commands> 
 Commands:
-start [-h <host>] [-p <portnumber>] [-unsecure]
-shutdown [-h <host>][-p <portnumber>]
-ping [-h <host>][-p <portnumber>]
-sysinfo [-h <host>][-p <portnumber>]
-runtimeinfo [-h <host>][-p <portnumber>]
-logconnections {on |off}[-h <host>][-p <portnumber>]
-maxthreads <max>[-h <host>][-p <portnumber>]
-timeslice <milliseconds>[-h <host>][-p <portnumber>]
-trace {on |off} [-s <session id>][-h <host>][-p <portnumber>]
-tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
+start [-h <host>] [-p <portnumber>] [-unsecure] [-ssl <sslmode>]
+shutdown [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+ping [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+sysinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+runtimeinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+logconnections {on |off}[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+maxthreads <max>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+timeslice <milliseconds>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+trace {on |off} [-s <session id>][-h <host>][-p <portnumber>] [-ssl <sslmode>]
+tracedirectory <traceDirectory>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
 org.apache.derby.drda.NetworkServerControl ping arg1 
 Invalid number of arguments for command ping.
 Usage: NetworkServerControl <commands> 
 Commands:
-start [-h <host>] [-p <portnumber>] [-unsecure]
-shutdown [-h <host>][-p <portnumber>]
-ping [-h <host>][-p <portnumber>]
-sysinfo [-h <host>][-p <portnumber>]
-runtimeinfo [-h <host>][-p <portnumber>]
-logconnections {on |off}[-h <host>][-p <portnumber>]
-maxthreads <max>[-h <host>][-p <portnumber>]
-timeslice <milliseconds>[-h <host>][-p <portnumber>]
-trace {on |off} [-s <session id>][-h <host>][-p <portnumber>]
-tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
+start [-h <host>] [-p <portnumber>] [-unsecure] [-ssl <sslmode>]
+shutdown [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+ping [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+sysinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+runtimeinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+logconnections {on |off}[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+maxthreads <max>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+timeslice <milliseconds>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+trace {on |off} [-s <session id>][-h <host>][-p <portnumber>] [-ssl <sslmode>]
+tracedirectory <traceDirectory>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
 End test

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/timeslice.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/timeslice.out?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/timeslice.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/timeslice.out Wed Feb 14 03:15:15 2007
@@ -9,16 +9,16 @@
 Invalid value, -12, for timeslice.
 Usage: NetworkServerControl <commands> 
 Commands:
-start [-h <host>] [-p <portnumber>] [-unsecure]
-shutdown [-h <host>][-p <portnumber>]
-ping [-h <host>][-p <portnumber>]
-sysinfo [-h <host>][-p <portnumber>]
-runtimeinfo [-h <host>][-p <portnumber>]
-logconnections {on |off}[-h <host>][-p <portnumber>]
-maxthreads <max>[-h <host>][-p <portnumber>]
-timeslice <milliseconds>[-h <host>][-p <portnumber>]
-trace {on |off} [-s <session id>][-h <host>][-p <portnumber>]
-tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
+start [-h <host>] [-p <portnumber>] [-unsecure] [-ssl <sslmode>]
+shutdown [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+ping [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+sysinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+runtimeinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+logconnections {on |off}[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+maxthreads <max>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+timeslice <milliseconds>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+trace {on |off} [-s <session id>][-h <host>][-p <portnumber>] [-ssl <sslmode>]
+tracedirectory <traceDirectory>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
 PASS - time slice value, 0 is correct
 org.apache.derby.drda.NetworkServerControl timeslice 2147483647 
 Time slice changed to 2147483647.
@@ -30,16 +30,16 @@
 Invalid value, a, for timeslice.
 Usage: NetworkServerControl <commands> 
 Commands:
-start [-h <host>] [-p <portnumber>] [-unsecure]
-shutdown [-h <host>][-p <portnumber>]
-ping [-h <host>][-p <portnumber>]
-sysinfo [-h <host>][-p <portnumber>]
-runtimeinfo [-h <host>][-p <portnumber>]
-logconnections {on |off}[-h <host>][-p <portnumber>]
-maxthreads <max>[-h <host>][-p <portnumber>]
-timeslice <milliseconds>[-h <host>][-p <portnumber>]
-trace {on |off} [-s <session id>][-h <host>][-p <portnumber>]
-tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
+start [-h <host>] [-p <portnumber>] [-unsecure] [-ssl <sslmode>]
+shutdown [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+ping [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+sysinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+runtimeinfo [-h <host>][-p <portnumber>] [-ssl <sslmode>]
+logconnections {on |off}[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+maxthreads <max>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+timeslice <milliseconds>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
+trace {on |off} [-s <session id>][-h <host>][-p <portnumber>] [-ssl <sslmode>]
+tracedirectory <traceDirectory>[-h <host>][-p <portnumber>] [-ssl <sslmode>]
 PASS - time slice value, 0 is correct
 PASS - time slice value, 0 is correct
 Expecting exception:DRDA_InvalidValue.U:Invalid value, -2, for timeslice.

Modified: db/derby/code/trunk/tools/ant/properties/compilepath.properties
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/ant/properties/compilepath.properties?view=diff&rev=507488&r1=507487&r2=507488
==============================================================================
--- db/derby/code/trunk/tools/ant/properties/compilepath.properties (original)
+++ db/derby/code/trunk/tools/ant/properties/compilepath.properties Wed Feb 14 03:15:15 2007
@@ -18,7 +18,7 @@
 # Java2 1.4 paths - for JDBC 3.0/JDK1.4
 
 #j14lib=${basedir}/jdk141/jre/lib
-java14compile.classpath=${j14lib}/rt.jar;${j14lib}/jce.jar
+java14compile.classpath=${j14lib}/rt.jar;${j14lib}/jce.jar;${j14lib}/jsse.jar
 
 # base compile path
 



Mime
View raw message