Subject: CVS commit: pkgsrc/net/p5-Net-FTPSSL
From: Wen Heping
Date: 2013-07-21 17:06:51
Message id: 20130721150651.8544C96@cvs.netbsd.org

Log Message:
Update to 0.22

Upstream changes:
0.22 2012/05/21 08:30:00
  - Bug # 77072 requested to autodetect the need for using the PRET command.
    The old test in t/10-complex.t was different & doesn't interfere.  The docs
    in the POD now mark the Pret option as optional for cases where auto-detect
    doesn't work!
  - Fixed issue with ccc that the server sometimes responds to a successful NOOP
    twice, resulting in command/resonses getting out of sync.  (Another hack)
  - Fixed quot() bug introduced with Bug # 74025 uc() fix in the last release.
    Accidently shifted off the arguments a 2nd time during the uc() call.
  - Fixed the return code in restart() to always be 1 instead of undef, since
    it never fails.  Also moved its description towards the end of the POD text.

0.21 2012/02/15 08:30:00
  - Fixed bad call to _croak_or_return () in _get_data_channel() when dealing
    with failed certificates for data connections.
  - Bug # 74547, a request to support ftp PRET command for distributed FTP data
    channel transfers.  New option to execute PRET before all PASV calls.
  - updated t/10-complex.t to dynamically check if PRET is needed.
  - Bug # 74035, as of Perl 5.12, uc($x) gives warning if $x is undef.  Added
    checks to avoid these warnings.  Did via [ uc($x||""); ]
  - Fixed both test cases to no longer send Port as undefined to get rid of
    warnings in log file. (Passing undef wasn't realistic, was just convenient.)
  - t/10-complex.t now explicity checks if any warnings are generated and does
    a request for feadback instead of as an error if any are found.  Should help
    considerably with debugging any code changes in the future.
  - Added new internal method _feat() to get additional commands to be
    recognized by supported().
  - Enhanced _help() in parsing it's response from the server & other significnt
    enhancements.  Major rewrite of this one method.
  - Above rewite uncovered bug in t/10-complex.t to fix in a supported() test.
  - Did some tweaking to the workings of the OverrideHELP option due to changes
    in _help() & supported().
  - Updated POD for supported() to describe changes to functionality.

0.20 2012/01/01 08:30:00
  - Fixed bug # 73115 where it looks like the response() had unexpected breaks
    in it.  Instead of returning "xyz message" the FTPS server was \ 
returning
    "x" on one line and "yz message" on another line.  And \ 
the code was
    treating "x" as the entire response (since there was no \ 
"-" after it.)
    Fixed so that if a response starts with a number that's less than 3
    digits with nothing else following it, to assume we hit this bug.
    The risk to this fix is that we might try to read past the response
    on some other server and cause things to hang.  So that's an issue to
    keep an eye out for after this release.
  - Fixed minor issue with "HELP" not supported on some boxes.  If \ 
this happens
    supported() will now always return false unless you use OverrideHELP.
  - Now prints the hash values chosen for new() to the logs.
  - Fixed so scrubbing out sensitive info from the logs is only done when debug
    is turned on instead of doing it all the time.
  - Reorganized the options to new() in the POD to put the less useful and
    special case options to new() last.
  - Other minor POD corrections and additions.

0.19 2011/09/26 08:30:00
  - If you use SSL_Advanced, it now writes to STDERR that you are using a
    depreciated feature.
  - Modified 10-complex.t & 20-certificate.t to honor the PERL_MM_USE_DEFAULT
    envionment variable for the smoke testers to always use defaults, which
    skips executing these 2 scripts.  BUG # 69982.
    (Same thing now happens for "make test < /dev/null" as well.)
    Couldn't use ExtUtils::MakeMaker::prompt() per request since "make \ 
test"
    wouldn't display the questions it was asking & it looked like it hung in
    interactive mode for normal users!  So based my solution on that function
    using diag() instead of print.
  - Fixed Typos in POD text Bug # 70438 & some misleading comments.
  - Updated the README file to include comments on t/20-certificate.t and what
    changes are required before you can use it.
  - Updated t/20-certificate.t to highlight the section of code that the README
    file is talking about and the initial prompt to remind the user to see the
    the README file for the needed modifications before running the test!

0.18 2011/07/29 08:30:00
  - Added SSL_Client_Certificate to support client certificates on the data
    channel as well as the command channel. Bug ID: 69327.
  - Depreciated SSL_Advanced in favor of SSL_Client_Certificate.  SSL_Advanced
    is now just an alias for SSL_Client_Certificate for backwards compatibility.
    I just feel the new name better describes what we are trying to do with it
    now that this feature is supported.
  - More fixes/clarifications to the POD text.
  - Fixed minor wild card issue with LIST & NLST if "+" was in the \ 
file name.
  - Added restart() function to be compatable with Net::FTP for restarts.
  - Added ability to restart downloads/get() where previous attempt left off.
  - Added ability to restart uploads/put() where the previous attempt left off.
  - Added append() command [APPE], it also uses OFFSET, but doesn't send the
    REST command to the server.
  - Added LocalAddr option to new().  Works against both the command channel
    and the data channel.
  - Masks out the user name used when generating a log file.  Similar to how
    this is already done for the password.  Except it must also hide it in the
    response to USER & PASS.  Only masked when written to the log, message()
    and last_message() still returns the user name unmasked in any response
    string!
  - Fixed a bug in t/10-complex.t and added optional environment variables
    for some of the connection values to make it easier for me to quickly
    rerun tests during development without having to key in ansers to questions
    with no good default values over & over again.
  - Wrote t/20-certificate.t to test certificates out.  But this and
    t/10-complex.t are probably incompatable in most settings.  Anyone else
    trying to use this test case will have to modify this code to point to their
    certificate and provide it's password, since I'm not going to publish my
    test client certificate.
  - Calls to command() now return a reference to this class so that you can
    code something like: "if \ 
($ftps->command("NOOP")->response() == CMD_OK)".
    This should be compatible since it shouldn't be called externally, and
    you should always be calling response() afterwards anyway.  It still calls
    die if "Croak=>1" is used.  Response() will return CMD_ERROR should
    command() have issues to avoid hangs.
  - Modifed Net::FTPSSL to use the new command()->response() format internally.

0.17 2011/01/03 08:30:00
  - Fixed a subtle bug in response(), now tests if a parse succeeded instead
    of assuming it.  Allowed me to simplify this messy code quite a bit.
  - Reordered the methods in the POD to put some of the more relevant FTP
    commands closer to the top & the more obscure at the bottom to make
    for easier reading of the documentation.
  - Reworked t/10-complex.t quite a bit.  Made sure croak was always turned
    off immediately after a successful login.  Also now using the same hash
    for all the connection attempts.  I really need to take the time to do
    further redesign this script to make it easier to troubleshoot.
  - Fixed the smoke tester failures.  (They always answer NO to the deeper test)
  - t/10-complex.t now checks if OverridePASV or OverrideHELP are needed against
    the test server & dynamically adds it for the test cases if needed.
    Net::FTPSSL still can't dynamically figure this out for itself.
  - Added PASV/EPSV prompt to t/10-complex.t script instead of assuming PASV.

0.16 2010/11/30 08:30:00
  - Used Perl's special variables to write the Perl verion and OS to the logs
    to make support easier when trouble shooting tickets.
  - Fixes for Bug Id 61432.
  - On systems like "Connect:Enterprise UNIX", it incorrectly sends the
    response to HELP partially in clear text and partially encrypted on the
    command channel.  This causes this class to barf and never recover once it
    hits the clear text.  So a new "OverrideHELP" option was created \ 
to bypass
    calls to HELP if your server has this strange behavior.  This is needed
    since HELP is called internally by the Net::FTPSSL class via supported()!
    ** Maybe in the future I'll figure out a way to dynamically handle this. **
  - On some systems the server administrator won't configure their servers
    correctly to use the correct IP Address in the PASV response through a
    firewall when establishing a new Data Channel Connection.  To get arround
    this, a new "OverridePASV" option was created to force the use of the
    Specified Server Name instead of the invalid IP Address returned in the
    PASV response!
    ** Maybe in the future I'll figure out a way to dynamically handle this. **
  - Added "OverridePASV" & "OverrideHELP" test cases to \ 
t/10-complex.t
  - Added EPSV support.  Required the reorginization of some internal
    undocumented methods that no one should be using.
  - Added EPSV test to t/10-complex.t

0.15 2010/04/27 08:30:00
  - Fixes for Bug Id 53719.  Requested all internal calls to "ALLO" be
    conditional since some server connections die when it receives an \ 
"ALLO"
    command.
  - Fixing the above bug uncovered an infinite loop if Croak was also turned on.
    Now _croak_or_return() doesn't try to close the connection if called by
    command() or response() or if recursion was detected.
  - Fixed quot() to no longer upshift the command to upper case.  Discovered
    case where lower case was required.  So it's now up the the caller to
    put in upper case if it's required!  Also no longer checks if the command
    is valid according to HELP.  Some servers attempt to be sneeky by not
    advertising all available commands.

Files:
RevisionActionfile
1.11modifypkgsrc/net/p5-Net-FTPSSL/Makefile
1.3modifypkgsrc/net/p5-Net-FTPSSL/distinfo