Hi Well spotted. Do you mind creating a JIRA ticket and link to this post using nabble etc. And you may even want to contribute a patch :)
On Fri, Jun 4, 2010 at 11:34 AM, Bengt Rodehav <be...@rodehav.com> wrote: > I'm using camel-ftp for secure ftps communication. I need to be able to > connect to a wide range of ftps servers in both explicit and implicit mode. > I have encountered problems using camel-ftp for ftps communication in > implicit mode. > > Some ftps servers require that the file transfer is encrypted (not just the > commands). This is of course very natural and is the reason why ftps is > chosen in the first place. However, commons-net (which camel-ftp uses) does > (for some reason) not by default setup a secure channel for file transfers. > It has to be requested by code similar to the following: > > ftpsClient.execPBSZ(0); > ftpsClient.execPROT("P"); > > I suggest to add an option to camel-ftp, regarding ftps, to make it possible > to specify whether the data channel will be encrypted or not. Encrypted > should be default. > > When looking at the code in camel-ftp it seems like there is no special > handling during connect for ftps compared to ftp. Thus there is no natural > place to put the above code. One way is to add something like the following > at the end of the method "connect" in the class "FtpOperations": > > if(client instanceof FTPSClient) { > FTPSClient ftpsClient = (FTPSClient)client; > try { > if (useSecureDataChannel) { // useSecureDataChannel should be > initialized from the configuration somehow > ftpsClient.execPBSZ(0); > ftpsClient.execPROT("P"); > } > } catch (SSLException e) { > throw new GenericFileOperationFailedException(client.getReplyCode(), > client.getReplyString(), e.getMessage(), e); > } catch (IOException e) { > throw new GenericFileOperationFailedException(client.getReplyCode(), > client.getReplyString(), e.getMessage(), e); > } > } > > Am I the only one having problems with this? Maybe there is a workaround > that I haven't figured out. > > /Bengt > -- Claus Ibsen Apache Camel Committer Author of Camel in Action: http://www.manning.com/ibsen/ Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus