Bug#847219: Argument "3.08_01" isn't numeric in numeric lt (<) at /usr/share/perl5/Email/Sender/Transport/SMTP.pm line 266.

Damyan Ivanov dmn at debian.org
Tue Dec 6 15:14:12 UTC 2016


Package: libemail-sender-perl
Version: 1.300030-1
Severity: normal
File: /usr/share/perl5/Email/Sender/Transport/SMTP.pm
Tags: patch upstream

Trying to send mail using SMTP transport of Email::Sender::Simple leads to the 
following warning:

 Argument "3.08_01" isn't numeric in numeric lt (<) at 
 /usr/share/perl5/Email/Sender/Transport/SMTP.pm line 266.

Line 266 contains the following:

 utf8::downgrade($next_hunk) if (Net::SMTP->VERSION || 0) < 3.07;

And Net::SMTP's version is:

 our $VERSION = "3.08_01";

(coming from perl-modules-5.24)

Test case (will probably make the local smtp server err):

 use strict;
 use warnings;
 use Email::Sender::Simple qw(sendmail);
 use Email::Sender::Transport::SMTP;
 use Email::Simple;
 
 sendmail(
   Email::Simple->create(
     header => [
       From => "test\@localhost",
       To => "test\@localhost",
       Subject => "test",
       "Content-Type" => "text/plain",
     ],
     body => "This is a test",
   ),
   {
     transport => Email::Sender::Transport::SMTP->new({
       host => "localhost",
       port => 25,
       }),
   }
 );


Proposed patch:
-------------------------------
--- a/lib/Email/Sender/Transport/SMTP.pm
+++ b/lib/Email/Sender/Transport/SMTP.pm
@@ -11,6 +11,7 @@ use MooX::Types::MooseLike::Base qw(Bool
 use Net::SMTP 3.07; # SSL support, fixed datasend
 
 use utf8 (); # See below. -- rjbs, 2015-05-14
+use version ();
 
 #pod =head1 DESCRIPTION
 #pod
@@ -263,7 +264,8 @@ sub send_email {
     # the mock from ->new.  We don't want to create a new SMTP just to get the
     # version, and we can't rely on $smtp being a Net::SMTP object.
     # -- rjbs, 2015-08-10
-    utf8::downgrade($next_hunk) if (Net::SMTP->VERSION || 0) < 3.07;
+    utf8::downgrade($next_hunk)
+        if version->parse( Net::SMTP->VERSION || 0 ) < 3.07;
 
     $smtp->datasend($next_hunk) or $FAULT->("error at during DATA");
   }
------------------------------------------


If there are no objections, I'll proceed with fixing the package and forwarding this upstream.


-- dam


-- System Information:
Debian Release: stretch/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.8.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=bg_BG.UTF-8, LC_CTYPE=bg_BG.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libemail-sender-perl depends on:
ii  libcapture-tiny-perl                   0.44-1
ii  libemail-abstract-perl                 3.008-1
ii  libemail-address-perl                  1.908-1
ii  libemail-simple-perl                   2.210-1
ii  libmodule-runtime-perl                 0.014-2
ii  libmoo-perl                            2.002005-1
ii  libmoox-types-mooselike-perl           0.29-1
ii  libscalar-list-utils-perl              1:1.46-1
ii  libsub-exporter-perl                   0.986-1
ii  libthrowable-perl                      0.200013-1
ii  libtry-tiny-perl                       0.27-1
ii  perl                                   5.24.1~rc4-1
ii  perl-base [libscalar-list-utils-perl]  5.24.1~rc4-1

Versions of packages libemail-sender-perl recommends:
ii  libauthen-sasl-perl  2.1600-1

libemail-sender-perl suggests no packages.

-- debconf-show failed



More information about the pkg-perl-maintainers mailing list