[jboss-svn-commits] JBL Code SVN: r18549 - in labs/jbossesb/workspace/chharris/product: rosetta/src/org/jboss/internal/soa/esb/util and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Feb 21 09:47:51 EST 2008
Author: kevin.conner at jboss.com
Date: 2008-02-21 09:47:51 -0500 (Thu, 21 Feb 2008)
New Revision: 18549
Modified:
labs/jbossesb/workspace/chharris/product/etc/schemas/xml/jbossesb-1.0.1.xsd
labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpsImpl.java
labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPSEpr.java
labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
Log:
Add certificate name for FTPS
Modified: labs/jbossesb/workspace/chharris/product/etc/schemas/xml/jbossesb-1.0.1.xsd
===================================================================
--- labs/jbossesb/workspace/chharris/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2008-02-21 14:22:24 UTC (rev 18548)
+++ labs/jbossesb/workspace/chharris/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2008-02-21 14:47:51 UTC (rev 18549)
@@ -1061,6 +1061,15 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute name="certificate-name" type="xsd:string"
+ use="optional">
+ <xsd:annotation>
+ <xsd:documentation xml:lang="en">
+ The common name of a certificate, which can be needed
+ for secure protocols (sftp and ftps).
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attribute default="false" name="read-only"
type="xsd:boolean" use="optional">
<xsd:annotation>
Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpsImpl.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpsImpl.java 2008-02-21 14:22:24 UTC (rev 18548)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpsImpl.java 2008-02-21 14:47:51 UTC (rev 18549)
@@ -39,6 +39,7 @@
import com.enterprisedt.net.ftp.FTPClient;
import com.enterprisedt.net.ftp.FTPException;
import com.enterprisedt.net.ftp.ssl.SSLFTPClient;
+import com.enterprisedt.net.ftp.ssl.SSLFTPStandardValidator;
/**
* Simplified FTP transfers
@@ -58,6 +59,7 @@
private static final Logger _logger = Logger.getLogger(EdtFtpsImpl.class);
private URL m_oCertificate ;
+ private String m_oCertificateName ;
/**
* Checks validity and completeness of parameters, and keeps the info
@@ -99,6 +101,7 @@
{
_logger.warn(urise);
}
+ m_oCertificateName = p_oP.getCertificateName() ;
// TODO there is still a bit of space for improvements here.
configTreeFromEpr();
@@ -121,6 +124,10 @@
{
m_oParms.setAttribute(PARMS_CERTIFICATE, m_oCertificate.toString());
}
+ if (m_oCertificateName != null)
+ {
+ m_oParms.setAttribute(PARMS_CERTIFICATE_NAME, m_oCertificateName);
+ }
}
catch (Exception e)
{
@@ -145,6 +152,7 @@
throw new ConfigurationException("Failed to create certificate URL", ex) ;
}
}
+ m_oCertificateName = m_oParms.getAttribute(PARMS_CERTIFICATE_NAME) ;
}
protected FTPClient instantiateClient()
@@ -167,6 +175,10 @@
{
is.close() ;
}
+ if (m_oCertificateName != null)
+ {
+ ftpsClient.setCustomValidator(new SSLFTPStandardValidator(m_oCertificateName)) ;
+ }
}
return ftpsClient ;
}
Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPSEpr.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPSEpr.java 2008-02-21 14:22:24 UTC (rev 18548)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPSEpr.java 2008-02-21 14:47:51 UTC (rev 18549)
@@ -46,13 +46,17 @@
public class FTPSEpr extends FTPEpr
{
public static final String CERTIFICATE_TAG = "certificate";
+ public static final String CERTIFICATE_NAME_TAG = "certificateName";
public FTPSEpr(EPR epr)
{
super(epr);
if (epr instanceof FTPSEpr)
+ {
certificateSet = ((FTPSEpr) epr).certificateSet;
+ certificateNameSet = ((FTPSEpr) epr).certificateNameSet;
+ }
}
public FTPSEpr (EPR epr, Element header)
@@ -75,6 +79,10 @@
getAddr().addExtension(CERTIFICATE_TAG, nl.item(i).getTextContent());
certificateSet = true;
}
+ else if ((tag != null) && (tag.equals(CERTIFICATE_NAME_TAG)))
+ {
+ setCertificateName(nl.item(i).getTextContent());
+ }
}
}
catch (Exception ex)
@@ -89,20 +97,48 @@
super(url);
}
- public FTPSEpr(URL url, URL cert) throws URISyntaxException
+ public FTPSEpr(URL url, URL cert, final String name) throws URISyntaxException
{
super(url);
- setCertificateURL(cert);
+ if (cert != null)
+ {
+ setCertificateURL(cert);
+ }
+ if (name != null)
+ {
+ setCertificateName(name);
+ }
}
- public FTPSEpr(String url, String cert) throws URISyntaxException, MalformedURLException
+ public FTPSEpr(URL url, String cert, final String name) throws URISyntaxException, MalformedURLException
{
super(url);
- setCertificateURL(new URL(cert));
+ if (cert != null)
+ {
+ setCertificateURL(new URL(cert));
+ }
+ if (name != null)
+ {
+ setCertificateName(name);
+ }
}
+ public FTPSEpr(String url, String cert, final String name) throws URISyntaxException, MalformedURLException
+ {
+ super(url);
+
+ if(cert != null)
+ {
+ setCertificateURL(new URL(cert));
+ }
+ if (name != null)
+ {
+ setCertificateName(name);
+ }
+ }
+
/**
* Set the Certificate URL for this endpoint.
*
@@ -141,6 +177,36 @@
return null;
}
+ /**
+ * Set the Certificate Name for this endpoint.
+ *
+ * @param name
+ * the certificate name.
+ */
+
+ public final void setCertificateName(final String name)
+ {
+ if (name == null)
+ throw new IllegalArgumentException();
+
+ if (certificateNameSet)
+ throw new IllegalStateException("Certificate Name already set.");
+
+ getAddr().addExtension(CERTIFICATE_NAME_TAG, name);
+ certificateNameSet = true;
+ }
+
+ /**
+ * @return the certificate Name for this EPR.
+ * @throws URISyntaxException
+ * thrown if this EPR is malformed.
+ */
+
+ public final String getCertificateName()
+ {
+ return getAddr().getExtensionValue(CERTIFICATE_NAME_TAG);
+ }
+
public EPR copy ()
{
return new FTPSEpr(this);
@@ -157,6 +223,7 @@
}
private boolean certificateSet = false;
+ private boolean certificateNameSet ;
private static URI _type;
Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java 2008-02-21 14:22:24 UTC (rev 18548)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java 2008-02-21 14:47:51 UTC (rev 18549)
@@ -24,7 +24,6 @@
import java.io.File;
import java.net.MalformedURLException;
-import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Properties;
@@ -193,11 +192,8 @@
}
else if("ftps".equals(protocol)){
String cert = tree.getAttribute(FTPSEpr.CERTIFICATE_TAG);
- if(cert == null){
- epr = new FTPSEpr(url);
- }else {
- epr = new FTPSEpr(url,new URL(cert));
- }
+ String name = tree.getAttribute(FTPSEpr.CERTIFICATE_NAME_TAG);
+ epr = new FTPSEpr(url, cert, name);
}
else if("sftp".equals(protocol)){
String cert = tree.getAttribute(SFTPEpr.CERTIFICATE_TAG);
Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java 2008-02-21 14:22:24 UTC (rev 18548)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java 2008-02-21 14:47:51 UTC (rev 18549)
@@ -136,6 +136,7 @@
}
if (Protocol.FTPS.equals(messageFilter.getProtocol())) {
toElement.setAttribute(FTPSEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
+ toElement.setAttribute(FTPSEpr.CERTIFICATE_NAME_TAG, messageFilter.getCertificateName());
}
}
}
Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java 2008-02-21 14:22:24 UTC (rev 18548)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java 2008-02-21 14:47:51 UTC (rev 18549)
@@ -53,6 +53,8 @@
public static final String PARMS_PASSIVE = "ftpPassive";
public static final String PARMS_CERTIFICATE = "certificate";
+
+ public static final String PARMS_CERTIFICATE_NAME = "certificateName";
public String getRemoteDir ();
More information about the jboss-svn-commits
mailing list