The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.33 - 2016-07-06

  • BEHAVIOUR CHANGE - Since many openssl libraries are tightening their security, I'm adding a new option to preserve backwards compatibility. By default this module now reuses the context of the command channel when opening a data channel. If you need to revert back to the previous default of not reusing the context for data channels, you must now use option "DisableContext => 1" to do so. But hopefully the need for this option will be rare. See the POD for more details.
  • BEHAVIOUR CHANGE - Added support for SNI in the SSL handshake.
  • Changed logic on how to detect if a default "SSL_verify_mode" value needed to be set to VERIFY_NONE() for the caller in new().
  • Can now pass SSL options directly to new(). You no longer need to use the "SSL_Client_Certificate" option to pass the hash reference of SSL options. Currently only recognises IO::Socket::SSL options that start with SSL_. If any start with something else, I'll address in a future release.
  • Clarified some POD information on a few methods.
  • Enhanced "size" function to use STAT if SIZE wasn't available!
  • Fixed case where sometimes the login account used wasn't being masked in the response in the logs.
  • Now prints the INET version in the log file.
  • Resets $ERRSTR gets reset in new() in case previous call had errors!
  • Fixed t/10-complex.t func run_stat_test() to test the "is_file" & "is_dir()" functions. Some tests disable the "SIZE" command so it can test the new alternate size logic as well.
  • New test program t/05-simple.t that does a simple read only test against the FTPS server. Added so that you can run a simple test against servers you don't want to upload anything to during the tests. These tests are not as robust as the t/10-complex.t tests so failures here are not as meaningfull. So run t/10-complex if you encounter any issues for more analysis.
  • Added t/05-simple.t to the MANIFEST.
  • Updated the Copyright in the README file. And reworded a few sections.
  • Updated all t/*.t files to add a retry the 1st time they try to connect to a server via new(). Added a hard coded "SSL_cipher_list" value if the defaults don't work. This kludge might not work for everyone.
  • Modified t/20-certificate.t to be a bit more robust. NOTE: Found a server where supported() doesn't completely work. That server fails to put a "*" after some of the commands it didn't implement.

Modules

A FTP over SSL/TLS class