amyroh 02/04/30 10:47:26
Modified: catalina/src/share/org/apache/catalina/mbeans
StandardServerMBean.java mbeans-descriptors.xml
Added: catalina/src/share/org/apache/catalina/mbeans
ConnectorMBean.java
Log:
Add ServerSocketFactory properties to HttpsConnector.
Revision Changes Path
1.12 +5 -4
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java
Index: StandardServerMBean.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- StandardServerMBean.java 30 Apr 2002 03:25:22 -0000 1.11
+++ StandardServerMBean.java 30 Apr 2002 17:47:26 -0000 1.12
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v
1.11 2002/04/30 03:25:22 amyroh Exp $
- * $Revision: 1.11 $
- * $Date: 2002/04/30 03:25:22 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v
1.12 2002/04/30 17:47:26 amyroh Exp $
+ * $Revision: 1.12 $
+ * $Date: 2002/04/30 17:47:26 $
*
* ====================================================================
*
@@ -109,7 +109,7 @@
* <code>org.apache.catalina.core.StandardServer</code> component.</p>
*
* @author Amy Roh
- * @version $Revision: 1.11 $ $Date: 2002/04/30 03:25:22 $
+ * @version $Revision: 1.12 $ $Date: 2002/04/30 17:47:26 $
*/
public class StandardServerMBean extends BaseModelMBean {
@@ -765,6 +765,7 @@
}
writer.println("</ResourceParams>");
+ // Store the ending of this element
for (int i = 0; i < indent; i++) {
writer.print(' ');
}
1.51 +29 -9
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
Index: mbeans-descriptors.xml
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- mbeans-descriptors.xml 30 Apr 2002 03:25:22 -0000 1.50
+++ mbeans-descriptors.xml 30 Apr 2002 17:47:26 -0000 1.51
@@ -6,7 +6,7 @@
<!--
Descriptions of JMX MBeans for Catalina
- $Id: mbeans-descriptors.xml,v 1.50 2002/04/30 03:25:22 amyroh Exp $
+ $Id: mbeans-descriptors.xml,v 1.51 2002/04/30 17:47:26 amyroh Exp $
-->
<mbeans-descriptors>
@@ -128,7 +128,7 @@
<mbean name="CoyoteConnector"
- className="org.apache.catalina.mbeans.ClassNameMBean"
+ className="org.apache.catalina.mbeans.ConnectorMBean"
description="Implementation of a Coyote connector"
domain="Catalina"
group="Connector"
@@ -151,6 +151,10 @@
type="java.lang.String"
writeable="false"/>
+ <attribute name="clientAuth"
+ description="Should we require client authentication?"
+ type="boolean"/>
+
<attribute name="connectionTimeout"
description="Timeout value on the incoming connection"
type="int"/>
@@ -164,17 +168,17 @@
description="The debugging detail level for this component"
type="int"/>
- <attribute name="secret"
- description="Authentication secret (I guess ... not in Javadocs)"
- type="java.lang.String"/>
-
<attribute name="enableLookups"
description="The 'enable DNS lookups' flag for this Connector"
type="boolean"/>
- <attribute name="redirectPort"
- description="The redirect port for non-SSL to SSL redirects"
- type="int"/>
+ <attribute name="keystoreFile"
+ description="Pathname to the key store file to be used"
+ type="java.lang.String"/>
+
+ <attribute name="keystorePass"
+ description="Password for accessing the key store file"
+ type="java.lang.String"/>
<attribute name="maxProcessors"
description="The maximum number of processors allowed"
@@ -187,10 +191,26 @@
<attribute name="port"
description="The port number on which we listen for ajp13 requests"
+ type="int"/>
+
+ <attribute name="proxyName"
+ description="Ther Server name to which we should pretend requests to this
Connector"
+ type="java.lang.String"/>
+
+ <attribute name="proxyPort"
+ description="Ther Server port to which we should pretend requests to this
Connector"
+ type="java.lang.String"/>
+
+ <attribute name="redirectPort"
+ description="The redirect port for non-SSL to SSL redirects"
type="int"/>
<attribute name="scheme"
description="Protocol name for this Connector (http, https)"
+ type="java.lang.String"/>
+
+ <attribute name="secret"
+ description="Authentication secret (I guess ... not in Javadocs)"
type="java.lang.String"/>
<attribute name="secure"
1.1
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ConnectorMBean.java
Index: ConnectorMBean.java
===================================================================
/*
* $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ConnectorMBean.java,v
1.1 2002/04/30 17:47:26 amyroh Exp $
* $Revision: 1.1 $
* $Date: 2002/04/30 17:47:26 $
*
* ====================================================================
*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* [Additional notices, if required by prior licensing conditions]
*
*/
package catalina.src.share.org.apache.catalina.mbeans;
import java.lang.reflect.Method;
import javax.management.MBeanException;
import javax.management.RuntimeOperationsException;
import org.apache.catalina.Connector;
import org.apache.catalina.Service;
import org.apache.commons.modeler.BaseModelMBean;
/**
* <p>A <strong>ModelMBean</strong> implementation for the
* <code>org.apache.coyote.tomcat4.CoyoteConnector</code> component.</p>
*
* @author Amy Roh
* @version $Revision: 1.1 $ $Date: 2002/04/30 17:47:26 $
*/
public class ConnectorMBean extends BaseModelMBean {
// ----------------------------------------------------------- Constructors
/**
* Construct a <code>ModelMBean</code> with default
* <code>ModelMBeanInfo</code> information.
*
* @exception MBeanException if the initializer of an object
* throws an exception
* @exception RuntimeOperationsException if an IllegalArgumentException
* occurs
*/
public ConnectorMBean()
throws MBeanException, RuntimeOperationsException {
super();
}
// ------------------------------------------------------------- Attributes
// ------------------------------------------------------------- Operations
/**
* Return Client authentication info
*
* @exception Exception if an MBean cannot be created or registered
*/
public boolean getClientAuth()
throws Exception {
Object clientAuthObj = null;
Class coyoteConnectorCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteConnector");
if (coyoteConnectorCls.isInstance(this.resource)) {
// get factory
Class partypes1 [] = new Class[1];
Method meth1 = coyoteConnectorCls.getMethod("getFactory", partypes1);
Object arglist1[] = new Object[1];
Object factory = meth1.invoke(this.resource, arglist1);
Class coyoteServerSocketFactoryCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteServerSocketFactory");
if (coyoteServerSocketFactoryCls.isInstance(factory)) {
// get clientAuth
Class partypes2 [] = new Class[1];
Method meth2 =
coyoteServerSocketFactoryCls.getMethod("getClientAuth", partypes2);
Object arglist2[] = new Object[1];
clientAuthObj = meth2.invoke(this.resource, arglist2);
}
}
if (clientAuthObj instanceof Boolean)
return ((Boolean)clientAuthObj).booleanValue();
else return false;
}
/**
* Set Client authentication info
*
* @exception Exception if an MBean cannot be created or registered
*/
public void setClientAuth(boolean clientAuth)
throws Exception {
Class coyoteConnectorCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteConnector");
if (coyoteConnectorCls.isInstance(this.resource)) {
// get factory
Class partypes1 [] = new Class[1];
Method meth1 = coyoteConnectorCls.getMethod("getFactory", partypes1);
Object arglist1[] = new Object[1];
Object factory = meth1.invoke(this.resource, arglist1);
Class coyoteServerSocketFactoryCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteServerSocketFactory");
if (coyoteServerSocketFactoryCls.isInstance(factory)) {
// set clientAuth
Class partypes2 [] = new Class[1];
partypes2[0] = Boolean.TYPE;
Method meth2 =
coyoteServerSocketFactoryCls.getMethod("setClientAuth", partypes2);
Object arglist2[] = new Object[1];
arglist2[0] = new Boolean(clientAuth);
meth2.invoke(this.resource, arglist2);
}
}
}
/**
* Return keystoreFile
*
* @exception Exception if an MBean cannot be created or registered
*/
public String getKeystoreFile()
throws Exception {
Object keystoreFileObj = null;
Class coyoteConnectorCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteConnector");
if (coyoteConnectorCls.isInstance(this.resource)) {
// get keystoreFile
Class partypes1 [] = new Class[1];
Method meth1 = coyoteConnectorCls.getMethod("getKeystoreFile",
partypes1);
Object arglist1[] = new Object[1];
Object factory = meth1.invoke(this.resource, arglist1);
Class coyoteServerSocketFactoryCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteServerSocketFactory");
if (coyoteServerSocketFactoryCls.isInstance(factory)) {
// get keystoreFile
Class partypes2 [] = new Class[1];
Method meth2 =
coyoteServerSocketFactoryCls.getMethod("getKeystoreFile", partypes2);
Object arglist2[] = new Object[1];
keystoreFileObj = meth2.invoke(this.resource, arglist2);
}
}
return keystoreFileObj.toString();
}
/**
* Set keystoreFile
*
* @exception Exception if an MBean cannot be created or registered
*/
public void setKeystoreFile(String keystoreFile)
throws Exception {
Class coyoteConnectorCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteConnector");
if (coyoteConnectorCls.isInstance(this.resource)) {
// get factory
Class partypes1 [] = new Class[1];
Method meth1 = coyoteConnectorCls.getMethod("getFactory", partypes1);
Object arglist1[] = new Object[1];
Object factory = meth1.invoke(this.resource, arglist1);
Class coyoteServerSocketFactoryCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteServerSocketFactory");
if (coyoteServerSocketFactoryCls.isInstance(factory)) {
// set keystoreFile
Class partypes2 [] = new Class[1];
String str = new String();
partypes2[0] = str.getClass();
Method meth2 =
coyoteServerSocketFactoryCls.getMethod("setKeystoreFile", partypes2);
Object arglist2[] = new Object[1];
arglist2[0] = keystoreFile;
meth2.invoke(this.resource, arglist2);
}
}
}
/**
* Return keystorePass
*
* @exception Exception if an MBean cannot be created or registered
*/
public String getKeystorePass()
throws Exception {
Object keystorePassObj = null;
Class coyoteConnectorCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteConnector");
if (coyoteConnectorCls.isInstance(this.resource)) {
// get factory
Class partypes1 [] = new Class[1];
Method meth1 = coyoteConnectorCls.getMethod("getKeystoreFile",
partypes1);
Object arglist1[] = new Object[1];
Object factory = meth1.invoke(this.resource, arglist1);
Class coyoteServerSocketFactoryCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteServerSocketFactory");
if (coyoteServerSocketFactoryCls.isInstance(factory)) {
// get keystorePass
Class partypes2 [] = new Class[1];
Method meth2 =
coyoteServerSocketFactoryCls.getMethod("getKeystorePass", partypes2);
Object arglist2[] = new Object[1];
keystorePassObj = meth2.invoke(this.resource, arglist2);
}
}
return keystorePassObj.toString();
}
/**
* Set keystorePass
*
* @exception Exception if an MBean cannot be created or registered
*/
public void setKeystorePass(String keystorePass)
throws Exception {
Class coyoteConnectorCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteConnector");
if (coyoteConnectorCls.isInstance(this.resource)) {
// get factory
Class partypes1 [] = new Class[1];
Method meth1 = coyoteConnectorCls.getMethod("getFactory", partypes1);
Object arglist1[] = new Object[1];
Object factory = meth1.invoke(this.resource, arglist1);
Class coyoteServerSocketFactoryCls =
Class.forName("org.apache.coyote.tomcat4.CoyoteServerSocketFactory");
if (coyoteServerSocketFactoryCls.isInstance(factory)) {
// set keystorePass
Class partypes2 [] = new Class[1];
String str = new String();
partypes2[0] = str.getClass();
Method meth2 =
coyoteServerSocketFactoryCls.getMethod("setKeystorePass", partypes2);
Object arglist2[] = new Object[1];
arglist2[0] = keystorePass;
meth2.invoke(this.resource, arglist2);
}
}
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>