OK, will try to do that sometime this weekend. Will be in touch,
/Bengt 2010/6/4 Claus Ibsen <claus.ib...@gmail.com> > 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 >