PaulHowarth/Blog/2014-09-12

Friday 12th September 2014

Local Packages

  • Updated perl-Net-FTPSSL to 0.25:

  • Warning: this is a major upgrade and may not be 100% backwards compatible with existing code; also, the response() redesign may not work for all FTPS servers (it's a work in progress, so comments are welcome)!

    • Upgraded the minimum version of IO-Socket-SSL required from v1.08 to v1.26 so that I could remove the warnings in the POD for ccc()

    • Modified the Synopsis to use Croak since no one was reading my comments about using it too closely anyway

    • Added a new pattern for uput() to check for file names with; also fixed to guarantee it will never return any path info, just the base file name itself (this change may break existing programs)

    • Another hack to recover from a garbled CCC response, to prevent unnecessary warnings

    • Hit a weird FTP server that requires me to flip flop the binary/ASCII settings on the server/client (see mixedModeAI() and mixedModeIA())

    • Added a way to print Perl warnings to the log file (trapWarn); it will chain things if warnings were already trapped (even between multiple open Net::FTPSSL object logs)

    • Added get_log_filehandle() to allow someone to gain access to the open filehandle used to write to the log file generated when Debug is turned on and you specified a log file via DebugLogFile

    • Now allows DebugLogFile to be an open file handle (GLOB)

    • Fixed quot() to echo the command if it's one of those disallowed; also now strips off any leading spaces from the command before using it

    • Use "sub DESTROY" rather than "sub END" for objects (just a FYI); surprise, surprise - sometimes END is called before DESTROY is

    • Moved some logic out of quit() into the new DESTROY() method; no longer need to hack object termination logic via quit()

    • Added END to handle final clean up for trapWarn()

    • Fixed warnings in function _feat() caused by strange server returns

    • Fixed warnings in function _help() caused by strange server returns

    • Fixed 20-certificate.t bug where $ENV{HOME} is not defined for all OS

    • Fixed 10-complex.t to use the new warning logic

    • Fixed 20-certificate.t to use the new warning logic

    • Fixed t/10-complex.t and t/20-certificate.t to use a 30-second Timeout instead of using the default 2 minutes

    • Reworked response() with regard to CPAN RT#97608 (related to CPAN RT#73115); had to redesign how this method worked - it was getting too convoluted to fix any further and this was the only way to properly fix _help and _feat

    • Second issue for CPAN RT#97608 was an issue with very long login messages that hit an unexpected Timeout issue (last release enhancement); turns out the Timeout logic in response() didn't always work properly if you didn't read in the entire response via a single call to sysread()

    • This rewrite of response() broke the ccc() hack, so had to redesign how this hack worked as well (may break existing programs using CCC)

    • Added special case Debug=>99 for more detailed logging for debugging the new response code base in the future

    • Added new environment variable (FTPSSL_DEBUG_LEVEL) to t/10-complex.t to enable low level debugging of the new response() code

    • Updated the SSL_Advanced deprecated warning that it will soon be removed in a future release


Recent