This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update libnet to CPAN version 3.07
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Sun, 19 Jul 2015 11:01:48 +0000 (12:01 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Sun, 19 Jul 2015 11:01:48 +0000 (12:01 +0100)
commitdb95646430f250935e9615b04eecb9c0d138c515
treee0e92d97f92e7809cdc59dcb37c5bf90206fd6ef
parent4d5d35d9def298c0adab2e34a187efa998cea923
Update libnet to CPAN version 3.07

  [DELTA]

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]
17 files changed:
Porting/Maintainers.pl
cpan/libnet/Makefile.PL
cpan/libnet/lib/Net/Cmd.pm
cpan/libnet/lib/Net/Config.pm
cpan/libnet/lib/Net/Domain.pm
cpan/libnet/lib/Net/FTP.pm
cpan/libnet/lib/Net/FTP/A.pm
cpan/libnet/lib/Net/FTP/E.pm
cpan/libnet/lib/Net/FTP/I.pm
cpan/libnet/lib/Net/FTP/L.pm
cpan/libnet/lib/Net/FTP/dataconn.pm
cpan/libnet/lib/Net/NNTP.pm
cpan/libnet/lib/Net/Netrc.pm
cpan/libnet/lib/Net/POP3.pm
cpan/libnet/lib/Net/SMTP.pm
cpan/libnet/lib/Net/Time.pm
cpan/libnet/t/datasend.t