On Mon, Jun 7, 2010 at 4:30 PM, Bengt Rodehav <be...@rodehav.com> wrote: > Claus, > > I have now tested my version using both passive and active (which requires a > certificate) mode. I've tested against a free ftp server - Filezilla - and a > commercial ftp server (that we often use) - Serv-u. It works fine. > > I haven't tested your version yet because it requires me to build my > application against Camel version 2.4-SNAPSHOT instead of Camel version > 2.3.0. To get this to work I need to get all the 2-4-SNAPSHOT artifacts into > my local Maven repository. I tried to do this by building Camel locally but > I never seem to get it to build. Right now, I'm stuck with the following > Maven error message (I'm usng Maven 2.0.11): >
You can just cd into camel-ftp and build that jar. And then you grab the camel-core jar as well. And if you use spring then camel-spring .jar as well. Then you got what you need for 2.4-SNAPSHOTs. Yeah Maven can be strange. Sometimes you need to nuke you local m2 repo cache. And I use maven 2.0.9. > [INFO] Writing OBR metadata > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Camel :: Jetty > [INFO] task-segment: [clean, install] > [INFO] > ------------------------------------------------------------------------ > [INFO] [clean:clean] > Downloading: > https://repository.apache.org/content/repositories/releases//com/su > n/mail/all/1.4.3/all-1.4.3.pom > [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in repository > apache > .releases (https://repository.apache.org/content/repositories/releases/) > Downloading: > http://svn.apache.org/repos/asf/servicemix/m2-repo/com/sun/mail/all > /1.4.3/all-1.4.3.pom > [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in repository > servic > emix (http://svn.apache.org/repos/asf/servicemix/m2-repo) > Downloading: > http://jansi.fusesource.org/repo/release/com/sun/mail/all/1.4.3/all > -1.4.3.pom > [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in repository > jansi. > release.m2 (http://jansi.fusesource.org/repo/release) > Downloading: > http://repository.ops4j.org/maven2/com/sun/mail/all/1.4.3/all-1.4.3 > .pom > [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in repository > ops4j > (http://repository.ops4j.org/maven2) > Downloading: > http://repo1.maven.org/maven2/com/sun/mail/all/1.4.3/all-1.4.3.pom > [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in repository > centra > l (http://repo1.maven.org/maven2) > [INFO] > ------------------------------------------------------------------------ > [ERROR] BUILD ERROR > [INFO] > ------------------------------------------------------------------------ > [INFO] Error building POM (may not be this project's POM). > > > Project ID: javax.mail:mail:jar:null > > Reason: Cannot find parent: com.sun.mail:all for project: > javax.mail:mail:jar:nu > ll for project javax.mail:mail:jar:null > > > [INFO] > ------------------------------------------------------------------------ > [INFO] For more information, run Maven with the -e switch > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 4 minutes 26 seconds > [INFO] Finished at: Mon Jun 07 12:59:05 CEST 2010 > [INFO] Final Memory: 231M/483M > [INFO] > ------------------------------------------------------------------------ > > > /Bengt > > 2010/6/5 Bengt Rodehav <be...@rodehav.com> > >> God you're fast. I made my own attempts and attached diff files to the JIRA >> issue you created. I also added a couple of comments/suggestions to the >> issue. >> >> In short I believe that it is probably easier for the user/developer if it >> is enough to specify whether a secure data channel should be used or not >> (the default should be true). Adding more detailed options, like you did, is >> of course just a benefit as long as it is possible to also configure it the >> easy way (like I described). >> >> I haven't tested your changes yet - will do. I have done some limited >> testing with my own version, but only in passive mode. If you use a secure >> data channel in active mode one must first create a public/private key pair >> for the ftps client to use and I haven't gotten around to testing that yet. >> >> /Bengt >> >> 2010/6/4 Claus Ibsen <claus.ib...@gmail.com> >> >>> Hi >>> >>> On Fri, Jun 4, 2010 at 3:42 PM, Bengt Rodehav <be...@rodehav.com> wrote: >>> > OK, will try to do that sometime this weekend. >>> > >>> > Will be in touch, >>> > >>> >>> I was one step ahead of you. I created the ticket and took a stab at >>> resolving it. >>> https://issues.apache.org/activemq/browse/CAMEL-2790 >>> >>> Can you try with the latest source code? And maybe if there is still >>> some issue then work on a patch from there. >>> Would be lovely with an unit test, but the test ftp server we use >>> cannot understand the secure data transfer. >>> >>> Anyway would be awesome if you could test it on your real systems. >>> >>> >>> >>> > /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 >>> >> >>> > >>> >>> >>> >>> -- >>> 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 >>> >> >> > -- 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