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
TESTING
If you perform the "deeper test", it will generate a few log files to help with troubleshooting what is going on. Debug is always turned on for this test and written to a log file. All log files match the pattern "new.". The 3 main generated files are:
./t/testtrace_log_new.txt - The FTPSSL Debug log of all FTPSSL actions
./t/FTPSSL.pm_new.txt - Test ascii file downloaded ./t/test_file_new.tar.gz - Test binary file downloaded.
./t/test_trace_log_new.${server}-${cmd_channel_encrpt_mode}-${data_encrypt_mode}-${ssl_tls_mode}.txt
During installation, you should only have to run the test once to verify functionality. The need for extra tests are for when you need to troubleshoot specific FTPS servers that are having issues with this class. Since some FTPS servers take unexpected liberties with resolving ambiguities in the specifications. And of course there can be bugs in this code as well.
TROUBLESHOOTING
While support is very limited, a copy of the log file showing the problem generated by the test would be needed to help analyze what went wrong with talking to your particular FTPS server.
The desired log file is called:
./t/test_trace_log_new.txt
or
./t/test_trace_log_new.*.txt
If these tests pass and it's your program that's failing, then I'd need a copy of a simple test program to demonstrate the error with Debug turned on and it's corresponding trace log. You can turn it on with the following command:
Net::FTPSSL->new(server, ..., Debug => 1, DebugLogFile => "myLog.txt");
Just be aware that a particular FTPS command may fail if your FTPS server doesn't support that command or if your login doesn't have enough permissions to perform the desired command on the FTPS server.
If you are submitting a patch for consideration, please also provide the above trace file in case I can't duplicate the issue against the FTPS servers I have available to me for testing.
DEPENDENCIES
This module requires these other modules and libraries:
Net::SSLeay
IO::Socket::SSL
File::Basename
Time::Local
Sys::Hostname
File::Copy
COPYRIGHT AND LICENCE
Copyright (C) 2005 by Marco Dalla Stella Copyright (C) 2009 - 2011 by Curtis Leach
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.