Net-FTPSSL version 0.41 ======================= Net::FTPSSL is an object oriented Perl module which implements a simple FTPS client over a Secure Socket Layer (SSL) or Transport Layer Security (TLS) connection written following the directives described in RFC959 and RFC2228 INSTALLATION ===================================================================== To install this module type the following: perl Makefile.PL make make test make install NOTE: "make test" will prompt you to answer questions. But if you want to skip those questions and use their default answers, you can do "make test < /dev/null" and it will use all defaults. (make test < NULL for windows.) To install this module in an alternate location do: location= perl Makefile.PL INSTALL_BASE=${location} make make test make install Then set PERL5LIB to "${location}/lib/perl5". DEPENDENCIES ===================================================================== This module requires these other modules and libraries: Net::SSLeay IO::Socket::SSL File::Basename Time::Local Sys::Hostname File::Copy IO::Socket::INET If you are going to have to tunnel through a proxy server, the following module is also required: Net::HTTPTunnel There are some more for running the test scripts as well. Test::More File::Spec SMOKE TESTERS ===================================================================== The test suite for this module honors your environment variable PERL_MM_USE_DEFAULT, and if it's set the test code just checks for syntax errors and missing dependancies. It skips over any interacive prompting and doesn't attempt to connect to a FTPS server. TESTING THE MODULE ===================================================================== As of v0.41, the test suite was 100% redesigned to be more modular to simplify testing out this module. The original test suite was just getting more and more messy, making it difficult to test everything properly or even follow what the tests were actually doing. So bear with me as I work out he kinks in this new testing process. When you run "make test" it only prompts for your input once and then remembers your answers to use for all other test programs. It then tries to auto-detect certain "common" issues that need work arrounds. And should you rerun "make test" again, it remembers your answers from last time and gives them back as default answers for the current run. See the next to last section for them main list of questions asked and their meanings. If you can't connect to a server, it doesn't necessarily mean that this module isn't working. Most likely the server you are testing against requires additional SSL options before it will accept any connections from the client. That the assumptions made by these test programs may just not match your FTPS server's configuration. The most common reasons for failure is that your FTPS server requires a FTPS client to use specific SSL options that are not turned on by default by the test cases. These missing SSL options could prevent you from connecting to a FTPS server or prevent you from creating a data channel for transfering data with the FTPS server. If you think that this is the reason, see "perldoc IO::Socket::SSL" to review what SSL options are available. Or "perldoc Net::FTPSSL" for options specific to my module. I'll cover how to insert those extra options into the mix later on by hacking a single config file that is automatically generated. If you are able to log in to run the test cases, they may silently add some additional options based on known server issues encountered in the past. But if it's not a known issue, you may have to open a CPAN ticket with me to figure out whats wrong. WHY DOESN'T "make test" RUN ALL THE t/*.t TESTS? ===================================================================== Normally all test are run. But there are cases when it stops early. The early tests validate if the answers you gave at the prompts are usable. If it encounters issues using them, it will stop running the test cases once it decides it can't use your answers to configure the test programs to talk to your FTPS server. Since without connectivity, all future tests would fail. So why run them and hide the root cause of the failure? That would just make troubleshooting that much more difficult. WHY DO THE TEST CASES ASK THE SAME QUESTIONS OVER AND OVER AGAIN. ===================================================================== When running 'make test', it should only ask the questions while running test 't/02-ask-questions.t'. All the other test cases should remember what you answered for this test. So if the questioning is reapeated, there is a bug in how I detect if 'make test' is running. So please open a CPAN ticket and atach log t/logs/02-ask-questions.log.txt and I'll figure out what's wrong. Different platforms work differently and this log will help me figure out what the proper test for your OS & perl vendor is. If you are running the individual tests manually via "perl t/test-case.t" then it's working as intended. Each test case will prompt you for the answers it needs. THE CONFIG FILE -- MANUALLY ADDING EXTRA OPTIONS: ===================================================================== If after answering all the questions and your research shows you that your server requires you to add an additional specific option in order to work, you may do so by editing the following file: t/test-helper/ftpssl.cfg Add to the end of the file in the option using the following format: EXTRA_