Path to this page:
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: