--------------------------
3.10 2016-08-01
- Remove . 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]
Upstream changes:
3.08 2016-01-05
- Fix 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.3 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]
libnet 1.27 -- Fri May 30 2014
* Simplified Makefile.PL requirements.
libnet 1.26 -- Fri May 30 2014
* 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".
libnet 1.25 -- Tue Feb 04 2014
* Fix Net::FTP::pasv_wait() not handling errors from Net::Cmd::reponse()
[bergner@cs.umu.se; resolves CPAN RT#50420]
* Make inheritance from Net::Cmd clearer in the documentation [Resolves CPAN
RT#72889]
* Set timeout for data connection creation in Net::FTP [Oleg G; resolves CPAN
RT#78926]
* Stop Net::Domain::domainname() from giving out warnings in android [Brian
Fraser]
libnet 1.24 -- Mon Jan 06 2014
* Fix incorrect handling of CRLF in Net::FTP [Willem Monsuwé; resolves CPAN
RT#41642/62029]
* POD fixes [Dominic Hargreaves; resolves CPAN RT#91761]
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
libnet 1.21 -- Sat May 19 08:53:09 CDT 2007
Bug Fixes
* Fix bug causing utf8 encoding of 8bit strings in Net::Cmd
* Fix precedence issue in Net::NNTP. Patch from 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. Patch by Mark Martinec
* Changed default for FTP transfers to be passive
* Added support for FTP FEAT command
libnet 1.20 -- Fri Feb 2 19:42:51 CST 2007
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
* Documentations 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
module directory has changed (eg. "darwin-2level" vs.
"darwin-thread-multi-2level").
binary packages of perl modules need to be distinguishable between
being built against threaded perl and unthreaded perl, so bump the
PKGREVISION of all perl module packages and introduce
BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct
dependencies are registered and the binary packages are distinct.
addresses PR pkg/28619 from H. Todd Fujinaka.
method.
Changes for 1.19 and 1.18:
libnet 1.19 -- Wed Jun 30 14:53:48 BST 2004
Bug Fixes
* Fixed datasend test to work on Win32 platform
* Fixed Authen::SASL checking in SMTP.pm and POP3.pm
* Fixed bug that a restarted get with Net::FTP did not append to local file
libnet 1.18 -- Mon Mar 22 16:19:01 GMT 2004
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 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 wrt. not passing a Hello parameter to the
constructor. (Jeff Macdonald)
Changes from 1.15 to 1.17 not available due to Subversion lossage.
Changes (from 1.13) :
Global :
- Use read/print instead of sysread/syswrite for local files
so CRLF translation happens if it needs to
- Some Docs updated
Net::FTP :
- Fix merge error spotted by Slaven Rezic
- Support for ALLO command (patch from Matthew N. Andrews)
- Add some error checking to the examples in the SYNOPSIS
- Allow the firewall type to be specified in Net::Config
(patch from Philip Newton)
Net::SMTP :
- Allow multiple hosts to be passed to new() as an array reference
- Support MTAs with broken HELO response
(patch from Michael Driscoll)
- Support for BINARYMIME
(patch from Richard Coles)
- Fixes to the DSN parameter to mail()
(patch from Rafael Garcia-Suarez)
- Make the use of email address extraction configurable. By default
it is now back how it was
Some changes in Net::NNTP, Net::Domain and Net::Cmd
please see ChangeLog.
Relevant changes since version 1.12:
Net::POP3
- Make more compliant. +OK and -ERR responses do not have to be followed
by a space.
Net::FTP
- Fix unique name extraction to pick up name on initial
Net::Cmd
- Compatibility fix for 5.004
Net::Cmd
- Ensure all debug output is via ->debug_print
Net::FTP
- Allow the user to specify a local address to use for sockets
Net::SMTP
- Avoid extra spaces on the end of the AUTH command
Changes :
Net::SMTP - Use Authen::SASL to do auth
Net::SMTP - Minor change to address sanitize code, mainly to allow <>
Net::FTP - Minor change to pattern to extract unique filename from
server response