pkgsrc/net/p5-Net-FTPSSL/Makefile

22 lines
634 B
Makefile
Raw Normal View History

2021-05-24 21:49:01 +02:00
# $NetBSD: Makefile,v 1.29 2021/05/24 19:53:27 wiz Exp $
DISTNAME= Net-FTPSSL-0.42
PKGNAME= p5-${DISTNAME}
2021-05-24 21:49:01 +02:00
PKGREVISION= 2
CATEGORIES= net perl5 security
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Net/}
MAINTAINER= pkgsrc-users@NetBSD.org
#HOMEPAGE= http://developer.berlios.de/projects/net-ftpssl/
COMMENT= Perl FTP over SSL/TLS class
Updating net/p5-Net-FTPSSL from 0.04nb1 to 0.14 pkgsrc changes: - Add license definition - Adjust dependencies Upstream changes: 0.14 2010/01/04 08:30:00 - Added minimum requirement of IO::Socket::SSL v1.08, since I just got word that v0.97 caused Net-FTPSSL to hang! And v1.08 was the release I originally developed Net::FTPSSL with & is easily available for Windows users as a pre-built release. But that release is still pretty old. (IO::Socket::SSL is currently at v1.31 as of this writting.) - Fixed bug in _common_put() where it didn't actually test the final status message when closing the data connection. So missed a rare failure case. - Fixed similar bugs in list() & get() as well. - Caught more list() & nlst() error conditions that returned undef instead of the empty list as documented. - Added the Server/Port to start of trace file after the version # since not all servers returned this info in their log messagse. 0.13 2009/11/01 08:30:00 - Decided to skip unlucky release # 13! 0.12 2009/09/29 08:30:00 - Made some POD changes. - Fixed so each class instance has it's own file hande so multiple instances won't write to the log file of the last Net::FTPSSL->new() call made with Debug turned on. Also fixed t/10-complex.t to use multiple connections so we can manually verify this is finally corrected. - Made sure the version of FTPSSL used always gets written out when Debug is turned on. So removed this code from t/10-complex.t as no longer needed. - Fixed "quit" to close the DebugLogFile, will write to STDERR if anything else is improperly called after "quit" is called! - Fixed "put" tie file handle problem from Tkt # 49378. - Added mdtm() & mfmt() to follow FTP specs & exposed _mdtm() & _mfmt() in the POD text, which uses timestamps instead. Per request # 49376. The underscore versions are more user friendly. - Added size() per request # 49377. - Minor fixes to 10-complex.t to support new functionality. - Reorged some older code to make it easier to maintain. Making some blocks of code much smaller and less awkward. - Fixed xput & xget to delete the dest file before renaming the scratch file. Avoids rare file permission issues when the dest file already exists and the file recognizer is down. 0.11 2009/07/19 08:30:00 - Added ccc() to end of 10-complex.t test script. - Updated the ccc() docs on issues with older IO::Socket::SSL versions. - Provided solution to Tkt # 47659, problems with CCC - RFC 4217 Section 12.3. Where CCC behaves differently for different FTPS servers. - Added Debug option to allow writing to DebugLogFile in append mode instead of creating a new log file every time. So can use same log file when serially making FTPS connections. - Now allows overriding of the IMP_CRYPT port 990 to something else. Found a server that allowed me to change the implicit port # for this. Tkt # 46851. 0.10 2009/06/30 08:30:00 - Updated the Port vs IMP_CRYPT documentation to state you can't override port 990 for IMP_CRYPT. Where before this was just assumed. - Added option DebugLogFile to allow you to write your Debug info to a file of your choice instead of STDERR. This way multiple FTPS connections can be traced separately of each other. Also keeps other writes to STDERR separate. 0.09 2009/05/13 08:30:00 - Fixed some typos in the documentation. - Fixed so list() & nlst() no longer return undef on some errors instead of the empty list as documented. - Fixed bug # 45710 where nlst() has issues returning zero rows. - Fixed xput() so the scratch file is guaranteed to appear in the same directory as the final file unless the prefix overrides it with a directory of it's own. Fixes issue where the remote file wasn't being written to the current directory on the remote server and we couldn't write to the current directory on that server for the scratch file. - Added xget() as the complement to xput(). Where the file recognizer is on the client side. - Added ccc() for finally supporting the CCC command. (Clear Command Channel) - Improved get() logic for removing zero byte files if it can't download the requested file. Still leaves behind partially downloaded files on purpose. - Enhanced t/10-complex.t to test new functionality. (But not CCC due to security concerns.) - Added last_status_code() to return the 1 digit status returned by message() so your code can branch on particular issues instead of just pass/fail. 0.08 2009/03/23 08:30:00 - Fixed new() to also accept a hash reference. So can do either way now! Pass the hash by reference or pass the hash by value. - Fixed command() & response() undefined function bug when called by a socket data type in new() and a fatal error was encountered. Solved by not calling the member function in the normal way. - Added $Net::FTPSSL::ERRSTR to give you access to the error messages generated when you couldn't create a Net::FTPSSL object via new(). Also set when Croak is called even though you had the special perl variable $@ for this. It is also printed to STDERR when Debug is turned on. - Fixed response() case where the ending message had CR's in it and it was being truncated. - Fixed response() to detect unexpected EOF: Bug # 43670. - Now passes Timeout to start_SSL() calls in new(). - Added plain old FTP as option CLR_CRYPT. Just avoids encrypting the command channel. Still doesn't support the CCC command. - Fixed implicit problem. Turned out to be a bug in choosing the "default" port as well as reading the response to soon. Bug # 28914. - Exposed all the FTP CMD status constants for public use. - Added unsupported option SSL_Advanced for Enhancement Request # 44042. Use at your own risk! It's not supported by the developer of Net::FTPSSL. - Enhanced t/10-complex.t to print the version of Net-FTPSSL being tested and support/test the new functionality. Also now generates a backup copy of the trace log named after the options selected to ease testing of multiple configurations. - Added xput for avoiding file recognizer issues on the FTPS server side during file transfers. IE the file recognizer picks the file up before the transfer completes. After the rename the file recognizer can safely assume the file transfer has completed without issues. - Added option in new() to support preserving the timestamps on files transfered between the client & server via get(), put(), uput() & xput(). Works providing the FTPS server supports this functionality. - Fixed response() timing bug where sysread() sometimes read the results of multiple commands. Ex: the 150 INFO msg for opening the data connection and the 226 transfer complete message. This bug caused FTPSSL to randomly hang when connected to some servers. - Fixed bug where nlst() hung if it returned zero rows on some servers. - Removed total from list() since it wasn't always present for all servers and it was the total block size, not the total # of files or bytes returned. - Fixed list() & nlst() to allow wildcard filters similar to unix "ls" cmd. The only wildcards being "*" or "?". 0.07 2009/02/24 08:30:00 - Corrected some typos in the documentation. - Implemented call back functionality for all data channel functions. - Fixed uput() to return the file name used on success instead of just true/false. Will still return "undef" on failure. Needed in order to figure out what the other server actually called the file we sent it. - Exposed the DataProtLevel constants for public use. - Added callback feature for all data channel FTP functions. - Now uses caller() extensively to combine multiple similar functions together and for callback support. - Another fix to the get() bug introduced by the Bug 17537 fix. The previous attempt in v0.06 didn't fully fix the problem! So took different approach. - Enhanced t/10-complex.t & t/00-basic.t The following changes may break some existing code ... - Added new option 'Croak' to cause all failures to call croak() instead of returning undef. This caused some minor incompatabilities on error handling if your code depended on some old croak() calls. But the new code is now consistant in error handling in either always returning failure or always calling croak! It no longer does a combination of both. - Added set_croak() to help mitigate above issue, by being able to turn the croak feature on & off. t/10-complex.t uses this logic while initializing the connection. - user() & password() have been renamed since internal functions. 0.06 2009/02/03 08:30:00 - Added new() DataProtLevel option to allow selecting the Data Channel Protection. - Fixed _help() so supported() works for some new servers. - new() now allows you to select SSL over TLS for connections via useSSL. - Fixed get() bug that sometimes added extra \015 to ASCII files downloaded. Introduced when Bug 17537 was fixed. - Enhanced t/10-complex.t 0.05 2009/01/05 08:30:00 - Fixed resonse() to properly get the entire response instead of just the 1st line of it. This change fixes many of the reported bugs reported against this module. - Fixed command() & response() to also log socket() calls in debug mode with "SKT >>>" & "SKT <<<" prefixes. - Added supported(), quot(), & _help() - All response calls in new() are now tested & added debug flag to socket object. - Enhanced t/10-complex.t - Other minor fixes. - Bugs Fixed: 41665, 31720, 16751, 30359, 24136, 17537, 17538, 34818
2010-03-10 18:06:16 +01:00
LICENSE= ${PERL5_LICENSE}
Update 0.22 to 0.26 ------------------- 0.26 2015/02/10 08:30:00 - The deprecialted SSL_Advanced option now causes new() to call croak. I'll remove any remaining reference to it in v0.27 or v0.28. - The POD text no longer mentions the SSL_Advanced option at all. - Added to README the new environment variable created for the test scripts in the previous release. - The RFC links in the SEE ALSO section had all expired. Located replacement links for all referenced documents. Looks like they were just moved to another location on the same web site. A victim of web-site remodeling. - Enhanced _debug_print_hash(). It originally worked with just GLOBs, but now works with regular hashes as well. Also fixed to follow SCALAR references. - Now dumps to the log file the contents of the SSL_Client_Certificate hash if provided. Was difficult to debug logic when it wasn't logged. - Bug Id # 101388, reusing SSL_Client_Certificate options on the data channel. Added additional options to go with SSL_reuse_ctx to resolve this issue. I checked the IO-Socket-SSL docs & all variables in the bug id are by default part of SSL_reuse_ctx. So some low level code isn't resolving the context correctly. This is a work arround. (Certificates were not being used here. Just using the context for strict hostname verification.) May be a case that when certificates are not used, the context isn't fully used either. 0.25 2014/09/05 08:30:00 WARNING: This is a major upgrade & 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(). But it should still work with the earlier versions if you hack the code. But don't rely on this in future releases. (minus the ccc command) - 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 guarentee 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. This hack just prevents unnecessary warnings. - Hit a weird FTP server that requiers me to flip flop the binary/ASCII settings on the server/client. See mixedModeAI() & 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. This is only usefull as a debugging tool when reporting on errors via CPAN. It helps provide context to the warnings that affect this code base. - 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 dissallowed. Also now strips off any leading spaces from the command before using it. - Found out 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 & t/20-certificate.t to use a 30 second Timeout instead of using the default 2 minutes. - Reworked response() with regard to Bug # 97608. (related to Bug # 73115) Had to redesign how this method worked. It was getting too convoluted to patch any further. Was the only way to properly fix _help & _feat. - Second issue for Bug # 9706 was an issue with very long login messsages 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(). Had two options, make the buffer huge for the login response or make the logic more complex, to only check for Timeouts on the command channel for new commands. Turns out select() & sysread() don't actually compare notes. Hense another reason to redesign how things worked. - 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. There is no prompt to turn on this feature. Added more as a reminder that it can be done! - Updated the SSL_Advanced depreciated warning that it will soon be removed in a future release. It was depreciated in v0.18 way back in 2011, so I feel it's about time to have it removed. Just giving fair warning here! I'll remove it in v0.26 or v0.27. 0.24 2014/06/30 08:30:00 - Makefile.PL fix, only asks question if Net::HTTPTunel isn't present! Also now defaults to "N" instead of "Y" if module not present. - Fixed bug in supported(). Unsupported commands are followed with "*" in help. Most do "CMD*", but found some servers doing "CMD *" instead. - Fixed bug in 20-certificate.t where we were getting a false failure on nlst(). Fixed to explicitly check the response code instead of assuming an error when nothing was found. Fixed list() as well. - Same fix in 10-complex.t, even though tests designed to always return something. - Added transfer() to transfer files from one system to another system without the need to make a local copy of the file. - Added xtransfer() as well. - Added transfer & xtransfer validation to 10-complex.t to test things out. - Added a new environment variable default for *.t prompts. - Bug # 95411 - Patch provided by ian@iansramblings.com. Fixes hang issue when the command channel unexpectedly drops. Does this by implementing a timeout in response(). #------- (Should I do this for the many data channel sysreads as well?) 0.23 2013/08/01 08:30:00 - Added clarification to use of SSL_Client_Certificate option in pod text. - Added Bug Id 82094 to support tunneling through a proxy server via the ProxyArgs option. Supports both proxy servers that require a password as well as those that don't. This option requires Net::HTTPTunnel to use. But this new module isn't required if you don't use tunneling. (perl Makefile.PL will ask.) - Added optional proxy server questions if Net::HTTPTunnel is installed for the test scripts (t/*.t). It warns you if it's missing during the test. - Fixed bug in login() so the call to help() only happens if the login is successfull. - Bug Id 84376 uncoverd bug in IO-Socket-SSL versions 1.79 to 1.85 when using Certificats for the Data Channel & getting a Man-In-The-Middle (MITM) warning that didn't apply. So skip those releases. - Bug Id 85420 same MITM warning as the other bug, but this time without using Certificates in the command channel. This required a code change in new() to fix. - Fixed masking issue when writing to the log file when the value that needed to be masked contained regex special chars. - Added clarification that any warnings printed below the 10-complex.t tests are just that. Warnings, not errors preventing things from working. They are collected so the developer can be notified about them for fixing in furture releases. They are also written to the end of the log now as well.
2015-02-20 16:00:09 +01:00
DEPENDS+= p5-IO-Socket-SSL>=1.26:../../security/p5-IO-Socket-SSL
Updating net/p5-Net-FTPSSL from 0.04nb1 to 0.14 pkgsrc changes: - Add license definition - Adjust dependencies Upstream changes: 0.14 2010/01/04 08:30:00 - Added minimum requirement of IO::Socket::SSL v1.08, since I just got word that v0.97 caused Net-FTPSSL to hang! And v1.08 was the release I originally developed Net::FTPSSL with & is easily available for Windows users as a pre-built release. But that release is still pretty old. (IO::Socket::SSL is currently at v1.31 as of this writting.) - Fixed bug in _common_put() where it didn't actually test the final status message when closing the data connection. So missed a rare failure case. - Fixed similar bugs in list() & get() as well. - Caught more list() & nlst() error conditions that returned undef instead of the empty list as documented. - Added the Server/Port to start of trace file after the version # since not all servers returned this info in their log messagse. 0.13 2009/11/01 08:30:00 - Decided to skip unlucky release # 13! 0.12 2009/09/29 08:30:00 - Made some POD changes. - Fixed so each class instance has it's own file hande so multiple instances won't write to the log file of the last Net::FTPSSL->new() call made with Debug turned on. Also fixed t/10-complex.t to use multiple connections so we can manually verify this is finally corrected. - Made sure the version of FTPSSL used always gets written out when Debug is turned on. So removed this code from t/10-complex.t as no longer needed. - Fixed "quit" to close the DebugLogFile, will write to STDERR if anything else is improperly called after "quit" is called! - Fixed "put" tie file handle problem from Tkt # 49378. - Added mdtm() & mfmt() to follow FTP specs & exposed _mdtm() & _mfmt() in the POD text, which uses timestamps instead. Per request # 49376. The underscore versions are more user friendly. - Added size() per request # 49377. - Minor fixes to 10-complex.t to support new functionality. - Reorged some older code to make it easier to maintain. Making some blocks of code much smaller and less awkward. - Fixed xput & xget to delete the dest file before renaming the scratch file. Avoids rare file permission issues when the dest file already exists and the file recognizer is down. 0.11 2009/07/19 08:30:00 - Added ccc() to end of 10-complex.t test script. - Updated the ccc() docs on issues with older IO::Socket::SSL versions. - Provided solution to Tkt # 47659, problems with CCC - RFC 4217 Section 12.3. Where CCC behaves differently for different FTPS servers. - Added Debug option to allow writing to DebugLogFile in append mode instead of creating a new log file every time. So can use same log file when serially making FTPS connections. - Now allows overriding of the IMP_CRYPT port 990 to something else. Found a server that allowed me to change the implicit port # for this. Tkt # 46851. 0.10 2009/06/30 08:30:00 - Updated the Port vs IMP_CRYPT documentation to state you can't override port 990 for IMP_CRYPT. Where before this was just assumed. - Added option DebugLogFile to allow you to write your Debug info to a file of your choice instead of STDERR. This way multiple FTPS connections can be traced separately of each other. Also keeps other writes to STDERR separate. 0.09 2009/05/13 08:30:00 - Fixed some typos in the documentation. - Fixed so list() & nlst() no longer return undef on some errors instead of the empty list as documented. - Fixed bug # 45710 where nlst() has issues returning zero rows. - Fixed xput() so the scratch file is guaranteed to appear in the same directory as the final file unless the prefix overrides it with a directory of it's own. Fixes issue where the remote file wasn't being written to the current directory on the remote server and we couldn't write to the current directory on that server for the scratch file. - Added xget() as the complement to xput(). Where the file recognizer is on the client side. - Added ccc() for finally supporting the CCC command. (Clear Command Channel) - Improved get() logic for removing zero byte files if it can't download the requested file. Still leaves behind partially downloaded files on purpose. - Enhanced t/10-complex.t to test new functionality. (But not CCC due to security concerns.) - Added last_status_code() to return the 1 digit status returned by message() so your code can branch on particular issues instead of just pass/fail. 0.08 2009/03/23 08:30:00 - Fixed new() to also accept a hash reference. So can do either way now! Pass the hash by reference or pass the hash by value. - Fixed command() & response() undefined function bug when called by a socket data type in new() and a fatal error was encountered. Solved by not calling the member function in the normal way. - Added $Net::FTPSSL::ERRSTR to give you access to the error messages generated when you couldn't create a Net::FTPSSL object via new(). Also set when Croak is called even though you had the special perl variable $@ for this. It is also printed to STDERR when Debug is turned on. - Fixed response() case where the ending message had CR's in it and it was being truncated. - Fixed response() to detect unexpected EOF: Bug # 43670. - Now passes Timeout to start_SSL() calls in new(). - Added plain old FTP as option CLR_CRYPT. Just avoids encrypting the command channel. Still doesn't support the CCC command. - Fixed implicit problem. Turned out to be a bug in choosing the "default" port as well as reading the response to soon. Bug # 28914. - Exposed all the FTP CMD status constants for public use. - Added unsupported option SSL_Advanced for Enhancement Request # 44042. Use at your own risk! It's not supported by the developer of Net::FTPSSL. - Enhanced t/10-complex.t to print the version of Net-FTPSSL being tested and support/test the new functionality. Also now generates a backup copy of the trace log named after the options selected to ease testing of multiple configurations. - Added xput for avoiding file recognizer issues on the FTPS server side during file transfers. IE the file recognizer picks the file up before the transfer completes. After the rename the file recognizer can safely assume the file transfer has completed without issues. - Added option in new() to support preserving the timestamps on files transfered between the client & server via get(), put(), uput() & xput(). Works providing the FTPS server supports this functionality. - Fixed response() timing bug where sysread() sometimes read the results of multiple commands. Ex: the 150 INFO msg for opening the data connection and the 226 transfer complete message. This bug caused FTPSSL to randomly hang when connected to some servers. - Fixed bug where nlst() hung if it returned zero rows on some servers. - Removed total from list() since it wasn't always present for all servers and it was the total block size, not the total # of files or bytes returned. - Fixed list() & nlst() to allow wildcard filters similar to unix "ls" cmd. The only wildcards being "*" or "?". 0.07 2009/02/24 08:30:00 - Corrected some typos in the documentation. - Implemented call back functionality for all data channel functions. - Fixed uput() to return the file name used on success instead of just true/false. Will still return "undef" on failure. Needed in order to figure out what the other server actually called the file we sent it. - Exposed the DataProtLevel constants for public use. - Added callback feature for all data channel FTP functions. - Now uses caller() extensively to combine multiple similar functions together and for callback support. - Another fix to the get() bug introduced by the Bug 17537 fix. The previous attempt in v0.06 didn't fully fix the problem! So took different approach. - Enhanced t/10-complex.t & t/00-basic.t The following changes may break some existing code ... - Added new option 'Croak' to cause all failures to call croak() instead of returning undef. This caused some minor incompatabilities on error handling if your code depended on some old croak() calls. But the new code is now consistant in error handling in either always returning failure or always calling croak! It no longer does a combination of both. - Added set_croak() to help mitigate above issue, by being able to turn the croak feature on & off. t/10-complex.t uses this logic while initializing the connection. - user() & password() have been renamed since internal functions. 0.06 2009/02/03 08:30:00 - Added new() DataProtLevel option to allow selecting the Data Channel Protection. - Fixed _help() so supported() works for some new servers. - new() now allows you to select SSL over TLS for connections via useSSL. - Fixed get() bug that sometimes added extra \015 to ASCII files downloaded. Introduced when Bug 17537 was fixed. - Enhanced t/10-complex.t 0.05 2009/01/05 08:30:00 - Fixed resonse() to properly get the entire response instead of just the 1st line of it. This change fixes many of the reported bugs reported against this module. - Fixed command() & response() to also log socket() calls in debug mode with "SKT >>>" & "SKT <<<" prefixes. - Added supported(), quot(), & _help() - All response calls in new() are now tested & added debug flag to socket object. - Enhanced t/10-complex.t - Other minor fixes. - Bugs Fixed: 41665, 31720, 16751, 30359, 24136, 17537, 17538, 34818
2010-03-10 18:06:16 +01:00
DEPENDS+= p5-Net-SSLeay-[0-9]*:../../security/p5-Net-SSLeay
USE_LANGUAGES= # empty
PERL5_PACKLIST= auto/Net/FTPSSL/.packlist
.include "../../lang/perl5/module.mk"
.include "../../mk/bsd.pkg.mk"