Revision history for Perl distribution libnet
3.15 2023-03-20
- Release for updating bleadperl to avoid cmp_version.t trouble. No code
changes.
3.14 2022-05-22
- Remove broken link in Net::FTP manpage. [Mike Blackwell]
- Fix EBCDIC detection. [Karl Williamson, PR#45]
- Fix non-deterministic output in libnet.cfg. [Sergei Trofimovich, PR#44]
- Fix TLS session reuse for dataconn with TLS 1.3 when using passive mode.
[Steffen Ullrich, PR#41]
3.13 2020-12-23
- Revert "Fix EINTR interruption in sysread for getline method." [Mario
Paumann, CPAN RT#133912]
3.12 2020-12-09
- Change licence of libnetFAQ.pod to match everything else. [CPAN
RT#117888]
- Remove unused "last" label to avoid portability problem. [Zefram, CPAN
RT#122631]
- Use four-digit year in timegm() calls. [perlbugbmw@lsmod.de, CPAN
RT#124534]
- Make Net::FTP work with TLS 1.3. [Steffen Ullrich, PR#40]
- Fix EINTR interruption in sysread for getline method. [Gabriel Muñoz,
PR#30]
- Use Test::More instead of custom test subroutines and improve skips in
various test scripts. [James E. Keenan, PR#39]
3.11 2017-11-14
- Treat FTP MLSD commands case-insensitively. [Brian M. Carlson, PR#32]
3.10 2016-08-01
- Removed . from @INC when loading optional modules. [Tony Cook, Perl
RT#127834, CVE-2016-1238]
- Removed the default Net::Cmd::timeout() since it inadvertently overrode
the timeout() method in whatever IO::Socket::INET-like class sub-classes
of Net::Cmd also derive from (at least in cases where Net::Cmd takes
precedence in the method resolution, which it should do so that
Net::Cmd::getline() overrides IO::Handle::getline()).
This does cause problems for any Net::Cmd sub-classes that don't provide
(by whatever means) the necessary parts of the interface of
IO::Socket::INET, but since they mostly seem to anyway (apart from the one
that led to the CPAN RT#110978 report!) this is now simply a documented
requirement.
[CPAN RT#116345]
3.09 2016-07-19
- Provided (and documented) a default Net::Cmd::timeout(). [CPAN RT#110978]
- Increased minimum required version of IO::Socket::IP to 0.25 to hopefully
stop t/pop3_ipv6.t hanging. [CPAN RT#104545]
- Debug output now includes decoded (from base64) negotiation for SASL.
[Philip Prindeville, PR#27]
- Adapted tests to Test2 revision of Test::More::note(). [James E. Keenan,
PR#28]
3.08 2016-01-05
- Fixed a bug introduced in version 1.28 whereby a short write in Net::Cmd
would be treated as an error instead of looping. [David Golden, PR#24]
- Documented the fact that Net::SMTP::auth() can accept an Authen::SASL
object instead of a username and password. [Jan Viktorin, CPAN RT#106183]
- Simplified specification of INSTALLDIRS: We do not need to check the lower
bound since we only support Perl 5.8.1 and higher anyway.
3.07 2015-07-17
- Net::FTP::rmdir() has been made more robust by making use of the MLSD
command in addition to the NLST command since the latter is known not to
be processed correctly by some FTP servers. [Chris Lindee, CPAN
RT#100694]
- Net::FTP, Net::NNTP, Net::POP3 and Net::SMTP can now restrict domain to
IPv4 even if IPv6 is available by using the new Domain or Family argument.
Net::NNTP now supports the LocalPort argument in addition to LocalAddr.
Net::POP3 now supports the LocalAddr and LocalPort arguments in addition
to ResvPort (which is retained for backwards compatibility).
[Steffen Ullrich, PR#18]
- Fixed a bug in Net::Cmd::datasend() which caused octets in [\x80-\xFF]
stored in a "binary string" to be replaced with their UTF-8 encodings if
the string happened to be stored internally in an "upgraded" state (i.e.
with the UTF-8 flag on). (As noted below, strings passed to datasend()
should always be encoded first, and therefore not stored in such a state
anyway, but it is all too easy for perl to change this internal state
unless the encodeing is done at the very last minute before calling
datasend(), so it helps if datasend() plays more nicely in this case. In
particular, it was wrong of datasend() to treat upgraded and downgraded
strings differently when their contents were identical at the Perl level.)
This bugfix results in a breaking change to the case of a "text string"
with characters in U+0080..U+00FF stored internally in an upgraded state
since those characters are likewise no longer encoded to UTF-8 by
datasend(), but callers of datasend() should not have been relying on this
behaviour anyway: In general, datasend() has no idea what encoding is
required for output so callers should always encode the data to be output
to whatever encoding is required first. This has now been clarified in
the documentation.
Finally, a text string with characters >= U+0100 will now cause a "Wide
character in print" warning from datasend() since such characters cannot
be output as bytes and datasend() no longer encodes to UTF-8. In this
case, UTF-8 bytes will still be output as before since that happens to be
the internal representation of such characters, but the warning is new.
Callers should heed this warning and encode such strings to whatever
encoding is required before calling datasend(), as noted above.
[Ricardo Signes, CPAN RT#104433]
3.06 2015-04-01
- Fixed INSTALLDIRS to account for the @INC reordering change in Perl 5.12.
See Perl RT#116479 for details. (libnet entered the perl core in Perl
5.7.2 so that's what the lower bound of the check should strictly be, but
since we only support Perl 5.8.1 and higher anyway it suffices to check
for Perl 5.8. The upper bound is correctly Perl 5.11.0 since the @INC
reordering change in question (Perl core commit #b9ba2fadb1) first
appeared in Perl 5.11.0.) [CPAN RT#103238]
- Fixed Net::FTP authorize() method, which incorrectly interpreted the
return value of the _RESP() method and falsely reported a failure. [Troy
Loveday, CPAN RT#48532]
- Added optional SendHello argument to Net::SMTP->new() to allow preventing
the EHLO/HELO command from being automatically sent by the constructor.
[Danil Onishchenko, PR#13]
3.05 2015-01-12
- Fixed infinite loop in Net::SMTP::auth(). [CPAN RT#100235]
3.04 2014-11-29
- SNI is now only used for SSL connections if it is supported by
IO::Socket::SSL (i.e. OpenSSL version >= 1). (The previous release
switched to using SNI by default, which caused some CPAN Testers
failures.) [Steffen Ullrich, PR#10]
3.03 2014-11-28
- Remodelled SSL support in Net::NNTP in the manner of Net::POP3 and
Net::SMTP. [Steffen Ullrich, PR#9]
- Increased minimum requred IO::Socket::SSL version from 1.999 to 2.007 to
fix data connection problems in Net::FTP. [Steffen Ullrich, CPAN
RT#100529]
- Fixed a broken port() call in pasv_xfer()/pasv_xfer_unique() in Net::FTP.
[Mario Preksavec, PR#8]
- Increased minimum required Socket version from 1.3 to 2.016. This may be
required when those modules that can support IPv6 load IO::Socket::IP (on
some OSes, at least). It does not appear to be necessary if they load
IO::Socket::INET6 or IO::Socket::INET instead, but this is not easy for
the end-user to control so it is simpler to always insist on Socket 2.016
or higher. [CPAN RT#100020]
- Fixed "Argument ... isn't numeric in subroutine entry" warnings when using
older versions of Perl. [CPAN RT#100020]
- Added optional Changes testing (skipped unless AUTHOR_TESTING).
- Reformatted Changes file as per CPAN::Changes::Spec.
3.02 2014-10-10
- Don't run interactive prompt() in Makefile.PL when in PERL_CORE.
- Fix $smtp->auth($sasl) to try the AUTH mechanism (if present) in the
Authen::SASL object before falling back on other mechanisms. [CPAN
RT#99415]
3.01 2014-10-09
- Require IO::Socket::SSL >= 1.999 to protect against a bad version (0.30)
of IO::Socket::IP and hopefully fix another bunch of CPAN Testers
failures.
3.00 2014-10-09
- Skip Perl Critic, Pod and Pod Coverage tests unless AUTHOR_TESTING. [CPAN
RT#99399]
- Synchronize all $VERSIONs to the distribution's version number, bumping
that to 3.00 so that no $VERSIONs end up going backwards.
1.30 2014-10-08
- Sigh. Fix PAUSE indexing problem again. Net::SMTP::SSL is already used by
Net-SMTP-SSL.
1.29 2014-10-08
- Fix PAUSE indexing problem. Net::POP3::_SSLified and Net::SMTP::_SSLified
are already used by Net-SSLGlue.
1.28 2014-10-08
- Improve code()/message() initialization and error handling in Net::Cmd.
[Tom Metro, CPAN RT#14875]
- Don't use the ALLO command on FTP servers that don't support it. [CPAN
RT#95717]
- Stop Makefile.PL from requiring interactive configuration when running via
cpan, cpanp or cpanm: just accept all defaults in these cases, as when
running non-interactively. [CPAN RT#48966]
- Add optional POD coverage testing.
- Add optional POD testing.
- Add optional Perl::Critic testing.
- Make code Perl::Critic clean.
- Move Net/*.pm into lib/Net/ sub-directory within distribution. This is
the usual layout style these days.
- Change Net::SMTP::auth() so that it now falls back to another supported
AUTH method if a given AUTH method fails. [Ivan Baktsheev, PR#3]
- Change Net::SMTP::auth() so that it uses the SMTP AUTH mechanism(s)
specified in the Authen::SASL object if one is provided instead of a
username. If a plain text username is specified then use the first
reported SMTP AUTH method supported, as usual. [Ewen McNeill, CPAN
RT#58002]
- Add support for IPv6 and SSL to Net::FTP, Net::NNTP, Net::POP3 and
Net::SMTP. These features are only available if the user has:
* a recent IO::Socket::SSL for SSL support;
* a recent IO::Socket::IP or an older IO::Socket::INET6 for IPv6 support.
If no SSL module is available it will work as before, but attempts to use
the SSL functionality will result in an error message. If no IPv6 modules
are available it will just use IPv4 as before. With IPv6 modules
installed one can of course still access IPv4 hosts.
[Steffen Ullrich, CPAN RT#93823]
1.27 2014-05-30
- Simplified Makefile.PL requirements.
1.26 2014-05-30
- Set minimum required ExtUtils::MakeMaker version to 6.64 to ensure that
all parameters used are supported, to save jumping through hoops to
support earlier versions. (This should not be a problem since
ExtUtils::MakeMaker 6.64 is easily installed into Perl 5.8.1 and above,
that being the whole point of the new choice of minimum supported Perl
version.)
- Set minimum required Perl version to 5.8.1. This is in line with the
minimum requirement of the "Perl Toolchain".
1.25 2014-02-04
- Fix Net::FTP::pasv_wait() not handling errors from Net::Cmd::reponse().
[bergner@cs.umu.se, CPAN RT#50420]
- Make inheritance from Net::Cmd clearer in the documentation. [CPAN
RT#72889]
- Set timeout for data connection creation in Net::FTP. [Oleg G, CPAN
RT#78926]
- Stop Net::Domain::domainname() from giving out warnings in Android.
[Brian Fraser]
1.24 2014-01-06
- Fix incorrect handling of CRLF in Net::FTP. [Willem Monsuwé, CPAN
RT#41642/62029]
- POD fixes. [Dominic Hargreaves, CPAN RT#91761]
1.23 2013-08-12
- Typo fixes. [David Steinbrunner, CPAN RT#87681]
1.22_02 2013-08-08
- Make Net::FTP::dataconn::close() more robust. [Together with changes to
Net::FTP already made in 1.22_01, this resolves CPAN RT#37700.]
- Document scalar/list context return values from Net::Cmd::message().
- Fix broken URL. [CPAN RT#68749]
- Fix documentation typo in Net::Netrc.
- Fix broken POD in Net::POP3.
- Improve Net::SMTP documentation of new(), auth() and message(). [CPAN
RT#36038]
- Add proper skips to skipped tests in ftp.t.
- Import hostname.t fix from Perl core commit #adeb94125a.
- Add time.t, imported from Perl core commit #c85707204c.
- Add new maintainer information, with updated CPAN and GitHub links.
1.22_01 2010-05-31 09:40:25-05:00
- Do not create/pass a remote name if one is not given to put_unique.
- Add ->passive() method to switch between PORT/PASV connections.
- Accept - in command parsed from SMTP HELO response.
- Allow group to set to a group named "0".
- Set $@ when ->new() returns undef.
- Add support for LocalAddr to be passed to ->new().
- Document that timeout is in seconds.
- Fix leading . encoding in datasend().
- Make ->supported() check ->feature().
- Allow words other than FILE to prefix the unique name returned in info
message from stou.
- Send ALLO command just before the store command.
- Avoid warnings when server do not prefix messages with codes.
- Use uppercase characters for xtext encoding.
- Catch timeout condition while doing an abort.
- Ensure REST is sent directly before command being restarted.
- Fix URL. [Leon Brocard, CPAN RT#49920]
- Avoid long hang on Mac OS X when hostname is *.local by not calling
gethostbyname(). [Father Chrysostomos]
- Avoid infinite recursion in rmdir().
- Allow finding _netrc on machines that do not support .netrc. [Ben Bimber]
1.22 2007-08-26 07:13:18-05:00
[Bug Fixes]
- Fix a bug in Net::Cmd that is_utf8() does not exist prior to Perl 5.8.1.
1.21 2007-05-19 08:53:09-05:00
[Bug Fixes]
- Fix bug causing utf8 encoding of 8-bit strings in Net::Cmd.
- Fix precedence issue in Net::NNTP. [Brendan O'Dea]
- Fixed bug causing removal of last character on the line when doing ASCII
FTP transfers.
[Enhancements]
- Add support for ENVID and AUTH to Net::SMTP. [Mark Martinec]
- Changed default for FTP transfers to be passive.
- Added support for FTP FEAT command.
1.20 2007-02-02 19:42:51-06:00
[Bug Fixes]
- Fixed incorrect handling of CRLF that straddled two blocks.
- Fix bug in response() which was too liberal in what it thought was a
response line.
- Silence uninitialized value warnings in Net::Cmd during testing on Win32.
- Documentation typos and updates.
[Enhancements]
- Added support for ORCPT into Net::SMTP.
- Support for servers that expect the USER command in upper or lower case.
Try USER first then try user if that fails.
1.19 2004-06-30 14:53:48+01:00
[Bug Fixes]
- Fixed datasend() test to work on Win32 platform.
- Fixed Authen::SASL checking in Net::SMTP and Net::POP3.
- Fixed bug that a restarted get with Net::FTP did not append to local file.
1.18 2004-03-22 16:19:01Z
[Bug Fixes]
- Fixed bug in CRLF translation in Net::Cmd datasend()/dataend() methods.
- Fixed bug in converting numbers returned by PASV command into a packed IP
address.
- Fixed bug that caused Net::FTP->get() to truncate the local file after the
restart method had been called.
- Fixed bug in Net::FTP->rmdir() when the server returned . and .. in the
contents of a directory.
- Fixed bug in Net::POP3 that was sending unnecessary RSETs.
[Enhancements]
- Added support for POP3 CAPA command.
- Added support for XVERP to Net::SMTP.
- Added Net::POP3->banner() method to return the banner received from the
server during connect.
- Added Net::POP3->auth() method for performing authentication using SASL;
requires Authen::SASL.
- Added Host option to ->new() constructor of FTP, NNTP, SMTP and POP3,
which can be used instead of passing the host as the first argument.
- Added ->host() method to FTP, NNTP, SMTP and POP3 to return the host
string used for the connect. This is useful to determine which host was
connected to when multiple hosts are specified.
- Added support for more non-standard responses to Net::FTP->size().
- Updated POD for Net::SMTP with respect to not passing a Hello parameter to
the constructor. [Jeff Macdonald]
ChangeLogs for releases prior to 1.18 may be found at:
https://github.com/steve-m-hay/perl-libnet/blob/v1.17/ChangeLog