f412f22268
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. |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile |