* [PATCH 00/13] eml: pure-Perl replacement for Email::MIME
@ 2020-05-07 21:05 7% Eric Wong
2020-05-07 21:05 6% ` [PATCH 10/13] eml: remove dependency on Email::MIME::Encodings Eric Wong
0 siblings, 1 reply; 3+ results
From: Eric Wong @ 2020-05-07 21:05 UTC (permalink / raw)
To: meta
Eric Wong (13):
msg_iter: make ->each_part method for PublicInbox::MIME
msg_iter: pass $idx as a scalar, not array
filter/rubylang: avoid recursing subparts to strip trailers
smsg: use capitalization for header retrieval
eml: pure-Perl replacement for Email::MIME
switch read-only Email::Simple users to Eml
replace most uses of PublicInbox::MIME with Eml
EmlContentFoo: Email::MIME::ContentType replacement
EmlContentFoo: relax Encode version requirement
eml: remove dependency on Email::MIME::Encodings
xt: eml comparison tests
remove most internal Email::MIME usage
eml: drop trailing blank line on missing epilogue
Documentation/mknews.perl | 4 +-
INSTALL | 26 +-
MANIFEST | 7 +
Makefile.PL | 7 +-
ci/deps.perl | 3 -
lib/PublicInbox/Admin.pm | 2 +-
lib/PublicInbox/Eml.pm | 421 +++++++++++++++++++++++++++++
lib/PublicInbox/EmlContentFoo.pm | 317 ++++++++++++++++++++++
lib/PublicInbox/Filter/RubyLang.pm | 32 ++-
lib/PublicInbox/Filter/Vger.pm | 4 +-
lib/PublicInbox/Import.pm | 11 +-
lib/PublicInbox/Inbox.pm | 4 +-
lib/PublicInbox/InboxWritable.pm | 4 +-
lib/PublicInbox/MDA.pm | 1 -
lib/PublicInbox/MIME.pm | 6 +
lib/PublicInbox/Mbox.pm | 16 +-
lib/PublicInbox/MboxGz.pm | 4 +-
lib/PublicInbox/MsgIter.pm | 21 +-
lib/PublicInbox/MsgTime.pm | 8 +-
lib/PublicInbox/NNTP.pm | 19 +-
lib/PublicInbox/SearchIdx.pm | 8 +-
lib/PublicInbox/SearchIdxShard.pm | 3 +-
lib/PublicInbox/Smsg.pm | 24 +-
lib/PublicInbox/SolverGit.pm | 4 +-
lib/PublicInbox/TestCommon.pm | 11 +-
lib/PublicInbox/V2Writable.pm | 17 +-
lib/PublicInbox/View.pm | 28 +-
lib/PublicInbox/WWW.pm | 8 +-
lib/PublicInbox/WatchMaildir.pm | 4 +-
lib/PublicInbox/WwwAttach.pm | 15 +-
script/public-inbox-edit | 8 +-
script/public-inbox-learn | 4 +-
script/public-inbox-mda | 16 +-
script/public-inbox-purge | 4 +-
t/altid.t | 4 +-
t/altid_v2.t | 4 +-
t/cgi.t | 8 +-
t/content_id.t | 6 +-
t/convert-compact.t | 4 +-
t/edit.t | 20 +-
t/eml.t | 363 +++++++++++++++++++++++++
t/eml_content_disposition.t | 102 +++++++
t/eml_content_type.t | 289 ++++++++++++++++++++
t/feed.t | 6 +-
t/filter_base.t | 4 +-
t/filter_mirror.t | 2 +-
t/filter_rubylang.t | 8 +-
t/filter_subjecttag.t | 4 +-
t/filter_vger.t | 6 +-
t/html_index.t | 4 +-
t/httpd.t | 4 +-
t/import.t | 6 +-
t/indexlevels-mirror.t | 4 +-
t/mda.t | 4 +-
t/mda_filter_rubylang.t | 2 +-
t/mid.t | 4 +-
t/mime.t | 82 +++---
t/msg_iter.t | 10 +-
t/msgtime.t | 6 +-
t/multi-mid.t | 6 +-
t/nntp.t | 4 +-
t/nntpd-tls.t | 4 +-
t/nntpd.t | 6 +-
t/nulsubject.t | 2 +-
t/plack.t | 10 +-
t/precheck.t | 10 +-
t/psgi_attach.t | 2 +-
t/psgi_bad_mids.t | 4 +-
t/psgi_mount.t | 4 +-
t/psgi_multipart_not.t | 4 +-
t/psgi_scan_all.t | 4 +-
t/psgi_search.t | 8 +-
t/psgi_text.t | 2 +-
t/psgi_v2.t | 6 +-
t/purge.t | 2 +-
t/replace.t | 12 +-
t/reply.t | 4 +-
t/search-thr-index.t | 6 +-
t/search.t | 26 +-
t/solver_git.t | 4 +-
t/spamcheck_spamc.t | 8 +-
t/thread-cycle.t | 3 +-
t/time.t | 4 +-
t/v1-add-remove-add.t | 4 +-
t/v1reindex.t | 4 +-
t/v2-add-remove-add.t | 4 +-
t/v2mda.t | 4 +-
t/v2mirror.t | 4 +-
t/v2reindex.t | 8 +-
t/v2writable.t | 8 +-
t/watch_filter_rubylang.t | 2 +-
t/watch_maildir.t | 2 +-
t/watch_maildir_v2.t | 2 +-
t/www_altid.t | 2 +-
t/xcpdb-reshard.t | 4 +-
xt/cmp-msgstr.t | 108 ++++++++
xt/cmp-msgview.t | 95 +++++++
xt/msgtime_cmp.t | 12 +-
xt/perf-msgview.t | 2 +-
99 files changed, 2084 insertions(+), 353 deletions(-)
create mode 100644 lib/PublicInbox/Eml.pm
create mode 100644 lib/PublicInbox/EmlContentFoo.pm
create mode 100644 t/eml.t
create mode 100644 t/eml_content_disposition.t
create mode 100644 t/eml_content_type.t
create mode 100644 xt/cmp-msgstr.t
create mode 100644 xt/cmp-msgview.t
^ permalink raw reply [relevance 7%]
* [PATCH 10/13] eml: remove dependency on Email::MIME::Encodings
2020-05-07 21:05 7% [PATCH 00/13] eml: pure-Perl replacement for Email::MIME Eric Wong
@ 2020-05-07 21:05 6% ` Eric Wong
0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2020-05-07 21:05 UTC (permalink / raw)
To: meta
Since Email::MIME usage is going away, Email::MIME::Encodings
might as well go away, too. We can also use fewer branches
and just rely on hash lookups, unlike E::M::E.
---
lib/PublicInbox/Eml.pm | 47 ++++++++++++++++++++++++++++++------------
1 file changed, 34 insertions(+), 13 deletions(-)
diff --git a/lib/PublicInbox/Eml.pm b/lib/PublicInbox/Eml.pm
index 1988bdb3..1adaff04 100644
--- a/lib/PublicInbox/Eml.pm
+++ b/lib/PublicInbox/Eml.pm
@@ -30,18 +30,24 @@ use v5.10.1;
use Carp qw(croak);
use Encode qw(find_encoding decode encode); # stdlib
use Text::Wrap qw(wrap); # stdlib, we need Perl 5.6+ for $huge
+use MIME::Base64 3.05; # Perl 5.10.0 / 5.9.2
+use MIME::QuotedPrint 3.05; # ditto
my $MIME_Header = find_encoding('MIME-Header');
use PublicInbox::EmlContentFoo qw(parse_content_type parse_content_disposition);
-use Email::MIME::Encodings;
$PublicInbox::EmlContentFoo::STRICT_PARAMS = 0;
our $MAXPARTS = 1000; # same as SpamAssassin
our $MAXDEPTH = 20; # seems enough, Perl sucks, here
our $MAXBOUNDLEN = 2048; # same as postfix
-my $NO_ENCODE_RE = qr/\A(?:7bit|8bit|binary)[ \t]*(?:;|$)?/i;
+my %MIME_ENC = (qp => \&enc_qp, base64 => \&encode_base64);
+my %MIME_DEC = (qp => \&dec_qp, base64 => \&decode_base64);
+$MIME_ENC{quotedprint} = $MIME_ENC{'quoted-printable'} = $MIME_ENC{qp};
+$MIME_DEC{quotedprint} = $MIME_DEC{'quoted-printable'} = $MIME_DEC{qp};
+$MIME_ENC{$_} = \&identity_codec for qw(7bit 8bit binary);
+
my %DECODE_ADDRESS = map { $_ => 1 } qw(From To Cc Sender Reply-To);
my %DECODE_FULL = (
Subject => 1,
@@ -111,13 +117,6 @@ sub ct ($) {
$_[0]->{ct} //= parse_content_type(header($_[0], 'Content-Type'));
}
-sub body_decode ($$) {
- my $cte = header_raw($_[0], 'Content-Transfer-Encoding');
- ($cte) = ($cte =~ /([a-zA-Z0-9\-]+)/) if $cte; # For S/MIME, etc
- (!$cte || $cte =~ $NO_ENCODE_RE) ?
- $_[1] : Email::MIME::Encodings::decode($cte, $_[1], '7bit');
-}
-
# returns a queue of sub-parts iff it's worth descending into
# TODO: descend into message/rfc822 parts (Email::MIME didn't)
sub mp_descend ($$) {
@@ -197,6 +196,22 @@ sub each_part {
}
}
+sub enc_qp {
+ # prevent MIME::QuotedPrint from encoding CR as =0D since it's
+ # against RFCs and breaks MUAs
+ $_[0] =~ s/\r\n/\n/sg;
+ encode_qp($_[0], "\r\n");
+}
+
+sub dec_qp {
+ # RFC 2822 requires all lines to end in CRLF, though... :<
+ $_[0] = decode_qp($_[0]);
+ $_[0] =~ s/\n/\r\n/sg;
+ $_[0]
+}
+
+sub identity_codec { $_[0] }
+
########### compatibility section for existing Email::MIME uses #########
sub header_obj {
@@ -240,9 +255,9 @@ EOF
sub body_set {
my ($self, $body) = @_;
my $bdy = $self->{bdy} = ref($body) ? $body : \$body;
- my $cte = header_raw($self, 'Content-Transfer-Encoding');
- if ($cte && $cte !~ $NO_ENCODE_RE) {
- $$bdy = Email::MIME::Encodings::encode($cte, $$bdy)
+ if (my $cte = header_raw($self, 'Content-Transfer-Encoding')) {
+ my $enc = $MIME_ENC{lc($cte)} or croak("can't encode `$cte'");
+ $$bdy = $enc->($$bdy); # in-place
}
undef;
}
@@ -351,7 +366,13 @@ sub header_str {
sub body_raw { ${$_[0]->{bdy} // \''}; }
-sub body { body_decode($_[0], body_raw($_[0])) }
+sub body {
+ my $raw = body_raw($_[0]);
+ my $cte = header_raw($_[0], 'Content-Transfer-Encoding') or return $raw;
+ ($cte) = ($cte =~ /([a-zA-Z0-9\-]+)/) or return $raw; # For S/MIME, etc
+ my $dec = $MIME_DEC{lc($cte)} or return $raw;
+ $dec->($raw);
+}
sub body_str {
my ($self) = @_;
^ permalink raw reply related [relevance 6%]
* [Debian 9][Perl 5.24] uninitialized value errors in Encode/MIME/Header.pm
@ 2020-12-26 11:27 4% Ali Alnubani
0 siblings, 0 replies; 3+ results
From: Ali Alnubani @ 2020-12-26 11:27 UTC (permalink / raw)
To: meta@public-inbox.org
Hi,
I see errors similar to the following in Debian 9 (stretch) with Perl 5.24:
"""
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
"""
The errors reproduce when running make test, public-inbox-watch, and public-inbox-index on v1.5.0 and later, including v1.6.0 and latest master 451ffd30.
git-bisect points to "d35a49e1 eml: remove dependency on Email::MIME::Encodings" as the first bad commit. However, reverting it causes a different failure in t/eml.t:
"""
t/eml.t ...................... 1/? Undefined subroutine &PublicInbox::Eml::encode_base64 called at /opt/public-inbox.org/blib/lib/PublicInbox/Eml.pm line 291.
"""
Output of make test on v1.5.0 (Result: PASS):
"""
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/address.t .................. ok
t/admin.t .................... ok
...
t/emergency.t ................ ok
t/eml.t ...................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/eml.t ...................... ok
...
t/filter_subjecttag.t ........ 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/filter_subjecttag.t ........ ok
...
t/hval.t ..................... ok
t/import.t ................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 2.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 5.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/import.t ................... ok
t/inbox.t .................... ok
...
t/mda.t ...................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/mda.t ...................... ok
...
t/nntp.t ..................... ok
t/nntpd-tls.t ................ skipped: certs/ missing for t/nntpd-tls.t, run /usr/bin/perl ./create-certs.perl in certs/
t/nntpd.t .................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 2.
t/nntpd.t .................... ok
t/nulsubject.t ............... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/nulsubject.t ............... ok
t/over.t ..................... ok
...
t/search-thr-index.t ......... ok
t/search.t ................... 10/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
t/search.t ................... ok
...
All tests successful.
Files=91, Tests=3499, 87 wallclock secs ( 0.67 usr 0.10 sys + 18.26 cusr 9.28 csys = 28.31 CPU)
Result: PASS
"""
Output of make test on master 451ffd30 (Result: FAIL):
"""
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/address.t .................. ok
t/admin.t .................... ok
t/altid.t .................... ok
t/altid_v2.t ................. ok
t/cgi.t ...................... ok
t/config.t ................... 1/?
# Failed test 'urlmatch hit'
# at t/config.t line 249.
# got: undef
# expected: '9'
# Looks like you failed 1 test of 95.
t/config.t ................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/95 subtests
t/config_limiter.t ........... ok
...
t/eml.t ...................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/eml.t ...................... ok
t/eml_content_disposition.t .. ok
t/eml_content_type.t ......... ok
t/epoll.t .................... ok
t/extsearch.t ................ 4/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
/tmp/pi-extsearch-7425-uu6DWm/v1test: e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
/tmp/pi-extsearch-7425-uu6DWm/v1test: e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
v2test 0.git 24dce2a64c97ee93ded01e4846fb29bd42fd5794: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
v2test 0.git 24dce2a64c97ee93ded01e4846fb29bd42fd5794: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
[0] X=v2.example\0 395 407 1 24dce2a64c97ee93ded01e4846fb29bd42fd5794 0 0 1 testmessage@example.com: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
...
[0] X=v2.example\0 395 407 1 24dce2a64c97ee93ded01e4846fb29bd42fd5794 0 0 1 testmessage@example.com: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
v1test e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
v1test 24dce2a64c97ee93ded01e4846fb29bd42fd5794: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/extsearch.t ................ 6/? v2test 0.git a90dbf79129609b6b9f92d95b7f867d3787996f2: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
v2test 0.git a90dbf79129609b6b9f92d95b7f867d3787996f2: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
v2test 0.git a90dbf79129609b6b9f92d95b7f867d3787996f2: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/extsearch.t ................ 56/? #1 e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
#1 e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
#1 e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
[0] X=v1.example\0 395 407 1 e826130e3f1a89b68e41c17004bdb952893ea0ad 0 0 6 testmessage@example.com: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
...
[0] X=v1.example\0 395 407 1 e826130e3f1a89b68e41c17004bdb952893ea0ad 0 0 6 testmessage@example.com: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
t/extsearch.t ................ ok
...
t/filter_subjecttag.t ........ 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/filter_subjecttag.t ........ ok
...
t/import.t ................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/import.t ................... ok
t/inbox.t .................... ok
t/inbox_idle.t ............... 2/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 2.
t/inbox_idle.t ............... ok
...
t/mda.t ...................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/mda.t ...................... ok
...
t/nntpd-tls.t ................ skipped: certs/ missing for t/nntpd-tls.t, run /usr/bin/perl ./create-certs.perl in certs/
t/nntpd-v2.t ................. 3/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 2.
t/nntpd-v2.t ................. 104/? # waiting for initial fetch...
# inbox unlocked on initial fetch
t/nntpd-v2.t ................. ok
t/nntpd.t .................... 3/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/nntpd.t .................... 104/? # waiting for initial fetch...
# inbox unlocked on initial fetch
t/nntpd.t .................... ok
...
t/search.t ................... 40/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/search.t ................... ok
...
t/xcpdb-reshard.t ............ ok
Test Summary Report
-------------------
t/config.t (Wstat: 256 Tests: 95 Failed: 1)
Failed test: 94
Non-zero exit status: 1
Files=112, Tests=4214, 109 wallclock secs ( 0.86 usr 0.08 sys + 24.04 cusr 11.98 csys = 36.96 CPU)
Result: FAIL
Failed 1/112 test programs. 1/4214 subtests failed.
Makefile:1308: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255
"""
Packages (On Debian 9 where the issue reproduces):
"""
libalgorithm-diff-perl: 1.19.03-1
libalgorithm-diff-xs-perl: 0.04-4+b2
libalgorithm-merge-perl: 0.08-3
libapache-logformat-compiler-perl: 0.33-2
libauthen-sasl-perl: 2.1600-1
libcgi-compile-perl: 0.21-1
libcgi-emulate-psgi-perl: 0.22-1
libcgi-fast-perl: 1:2.12-1
libcgi-pm-perl: 4.35-1
libclass-inspector-perl: 1.31-1
libclass-isa-perl: 0.36-5
libcommon-sense-perl: 3.74-2
libcookie-baker-perl: 0.07-1
libcpanel-json-xs-perl: 3.0225-1
libcrypt-cbc-perl: 2.33-1
libcrypt-rijndael-perl: 1.13-1+b2
libdbd-sqlite3-perl: 1.54-1
libdbi-perl: 1.636-1+deb9u1
libdevel-globaldestruction-perl: 0.14-1
libdevel-stacktrace-ashtml-perl: 0.15-1
libdevel-stacktrace-perl: 2.0200-1
libdist-checkconflicts-perl: 0.11-1
libdpkg-perl: 1.18.25
libemail-address-perl: 1.908-1+deb9u1
libemail-date-format-perl: 1.005-1
libemail-messageid-perl: 1.406-1
libemail-mime-contenttype-perl: 1.018-1
libemail-mime-encodings-perl: 1.315-1
libemail-mime-perl: 1.937-1
libemail-simple-perl: 2.213-1
libencode-locale-perl: 1.05-1
libencode-perl: 2.88-1
liberror-perl: 0.17024-1
libfcgi-perl: 0.78-2
libfcgi-procmanager-perl: 0.25-1
libfile-fcntllock-perl: 0.22-3+b2
libfile-listing-perl: 6.04-1
libfile-pushd-perl: 1.014-1
libfile-sharedir-perl: 1.102-1
libfilesys-notify-simple-perl: 0.12-1
libfont-afm-perl: 1.20-2
libhash-multivalue-perl: 0.16-1
libhighlight-perl: 3.18-3+b5
libhtml-form-perl: 6.03-1
libhtml-format-perl: 2.12-1
libhtml-parser-perl: 3.72-3
libhtml-tagset-perl: 3.20-3
libhtml-tree-perl: 5.03-2
libhttp-cookies-perl: 6.01-1
libhttp-daemon-perl: 6.01-1
libhttp-date-perl: 6.02-1
libhttp-entity-parser-perl: 0.18-1
libhttp-headers-fast-perl: 0.20-1
libhttp-message-perl: 6.11-1
libhttp-multipartparser-perl: 0.01-1
libhttp-negotiate-perl: 6.00-2
libinline-c-perl: 0.76-1
libinline-files-perl: 0.68-1
libinline-perl: 0.80-1
libio-html-perl: 1.001-1
libio-multiplex-perl: 1.16-1
libio-socket-inet6-perl: 2.72-2
libio-socket-ssl-perl: 2.044-1
libipc-shareable-perl: 0.61-1
libjson-maybexs-perl: 1.003008-1
liblinux-inotify2-perl: 1:1.22-3
liblocale-gettext-perl: 1.07-3+b1
liblog-dispatch-perl: 2.58-1
liblog-log4perl-perl: 1.48-1+deb9u1
liblwp-mediatypes-perl: 6.02-1
liblwp-protocol-https-perl: 6.06-2
libmail-sendmail-perl: 0.79.16-2
libmailtools-perl: 2.18-1
libmime-lite-perl: 3.030-2
libmime-types-perl: 2.13-1
libmodule-implementation-perl: 0.09-1
libmodule-refresh-perl: 0.17-1
libmodule-runtime-perl: 0.014-2
libnet-cidr-perl: 0.18-1
libnet-http-perl: 6.12-1
libnet-server-perl: 2.008-3
libnet-smtp-ssl-perl: 1.04-1
libnet-ssleay-perl: 1.80-1
libparams-classify-perl: 0.013-6+b1
libparams-validate-perl: 1.26-1
libparse-recdescent-perl: 1.967013+dfsg-1
libpcre3: 2:8.39-3
libpegex-perl: 0.63-1
libperl5.24: 5.24.1-3+deb9u7
libplack-middleware-deflater-perl: 0.12-1
libplack-middleware-reverseproxy-perl: 0.15-1
libplack-perl: 1.0042-1
libposix-strftime-compiler-perl: 0.42-1
libsearch-xapian-perl: 1.2.24.0-1
libsocket6-perl: 0.27-1+b1
libstream-buffered-perl: 0.03-1
libsub-exporter-progressive-perl: 0.001013-1
libswitch-perl: 2.17-2
libsys-hostname-long-perl: 1.5-1
libtest-sharedfork-perl: 0.35-1
libtest-tcp-perl: 2.17-1
libtext-charwidth-perl: 0.04-7+b5
libtext-iconv-perl: 1.7-5+b4
libtext-wrapi18n-perl: 0.06-7.1
libtimedate-perl: 2.3000-2+deb9u1
libtry-tiny-perl: 0.28-1
liburi-perl: 1.71-1
libwww-form-urlencoded-perl: 0.23-2
libwww-form-urlencoded-xs-perl: 0.23-1
libwww-perl: 6.15-1
libwww-robotrules-perl: 6.01-1
libxapian30: 1.4.3-2+deb9u3
libxml-treepp-perl: 0.43-1
perl: 5.24.1-3+deb9u7
perl-base: 5.24.1-3+deb9u7
perl-modules-5.24: 5.24.1-3+deb9u7
perl-openssl-defaults: 3
xapian-tools: 1.4.3-2+deb9u3
"""
The uninitialized value warnings and test errors do not reproduce on Debian 10 (buster) with packages:
"""
libalgorithm-c3-perl: 0.10-1
libalgorithm-diff-perl: 1.19.03-2
libalgorithm-diff-xs-perl: 0.04-5+b1
libalgorithm-merge-perl: 0.08-3
libapache-logformat-compiler-perl: 0.35-1
libauthen-sasl-perl: 2.1600-1
libb-hooks-endofscope-perl: 0.24-1
libb-hooks-op-check-perl: 0.22-1+b1
libcgi-compile-perl: 0.22-2
libcgi-emulate-psgi-perl: 0.23-1
libcgi-fast-perl: 1:2.13-1
libcgi-pm-perl: 4.40-1
libclass-c3-perl: 0.34-1
libclass-c3-xs-perl: 0.14-1+b3
libclass-data-inheritable-perl: 0.08-3
libclass-inspector-perl: 1.32-1
libclass-method-modifiers-perl: 2.12-1
libclass-xsaccessor-perl: 1.19-3+b2
libcommon-sense-perl: 3.74-2+b7
libcookie-baker-perl: 0.10-4
libcookie-baker-xs-perl: 0.10-1+b1
libcpanel-json-xs-perl: 4.09-1
libcrypt-cbc-perl: 2.33-2
libcrypt-rijndael-perl: 1.13-1+b5
libdata-dump-perl: 1.23-1
libdata-optlist-perl: 0.110-1
libdbd-sqlite3-perl: 1.62-3
libdbi-perl: 1.642-1+deb10u1
libdevel-callchecker-perl: 0.008-1
libdevel-caller-perl: 2.06-2+b1
libdevel-globaldestruction-perl: 0.14-1
libdevel-lexalias-perl: 0.05-2+b1
libdevel-stacktrace-ashtml-perl: 0.15-1
libdevel-stacktrace-perl: 2.0300-1
libdist-checkconflicts-perl: 0.11-1
libdpkg-perl: 1.19.7
libdynaloader-functions-perl: 0.003-1
libemail-address-xs-perl: 1.04-1+b1
libemail-date-format-perl: 1.005-1
libemail-messageid-perl: 1.406-1
libemail-mime-contenttype-perl: 1.022-1
libemail-mime-encodings-perl: 1.315-2
libemail-mime-perl: 1.946-1
libemail-simple-perl: 2.216-1
libencode-locale-perl: 1.05-1
libencode-perl: 3.00-1
liberror-perl: 0.17027-2
libeval-closure-perl: 0.14-1
libexception-class-perl: 1.44-1
libfcgi-perl: 0.78-2+b3
libfcgi-procmanager-perl: 0.28-1
libfile-fcntllock-perl: 0.22-3+b5
libfile-listing-perl: 6.04-1
libfile-pushd-perl: 1.016-1
libfile-sharedir-perl: 1.116-2
libfilesys-notify-simple-perl: 0.13-1
libfont-afm-perl: 1.20-2
libhash-multivalue-perl: 0.16-1
libhighlight-perl: 3.41-2+b1
libhtml-form-perl: 6.03-1
libhtml-format-perl: 2.12-1
libhtml-parser-perl: 3.72-3+b3
libhtml-tagset-perl: 3.20-3
libhtml-tree-perl: 5.07-2
libhttp-cookies-perl: 6.04-1
libhttp-daemon-perl: 6.01-3
libhttp-date-perl: 6.02-1
libhttp-entity-parser-perl: 0.21-1
libhttp-headers-fast-perl: 0.21-1
libhttp-message-perl: 6.18-1
libhttp-multipartparser-perl: 0.02-1
libhttp-negotiate-perl: 6.01-1
libinline-c-perl: 0.78-1
libinline-files-perl: 0.68-1
libinline-perl: 0.81-1
libio-html-perl: 1.001-1
libio-multiplex-perl: 1.16-1
libio-socket-inet6-perl: 2.72-2
libio-socket-ssl-perl: 2.060-3
libipc-shareable-perl: 0.61-2
libjson-maybexs-perl: 1.004000-1
liblinux-inotify2-perl: 1:2.1-1
liblocale-gettext-perl: 1.07-3+b4
liblog-dispatch-perl: 2.68-1
liblog-log4perl-perl: 1.49-1
liblwp-mediatypes-perl: 6.02-1
liblwp-protocol-https-perl: 6.07-2
libmail-sendmail-perl: 0.80-1
libmailtools-perl: 2.18-1
libmime-lite-perl: 3.030-2
libmime-types-perl: 2.17-1
libmodule-implementation-perl: 0.09-1
libmodule-refresh-perl: 0.17-1
libmodule-runtime-perl: 0.016-1
libmro-compat-perl: 0.13-1
libnamespace-autoclean-perl: 0.28-1
libnamespace-clean-perl: 0.27-1
libnet-cidr-perl: 0.19-1
libnet-http-perl: 6.18-1
libnet-server-perl: 2.009-1
libnet-smtp-ssl-perl: 1.04-1
libnet-ssleay-perl: 1.85-2+b1
libpackage-stash-perl: 0.38-1
libpackage-stash-xs-perl: 0.29-1
libpadwalker-perl: 2.3-1+b1
libparams-classify-perl: 0.015-1+b1
libparams-util-perl: 1.07-3+b4
libparams-validationcompiler-perl: 0.30-1
libparse-recdescent-perl: 1.967015+dfsg-2
libpcre2-8-0: 10.32-5
libpcre3: 2:8.39-12
libpegex-perl: 0.70-1
libperl5.28: 5.28.1-6+deb10u1
libplack-middleware-deflater-perl: 0.12-2
libplack-middleware-reverseproxy-perl: 0.16-1
libplack-perl: 1.0047-1
libposix-strftime-compiler-perl: 0.42-1
libreadonly-perl: 2.050-1
libref-util-perl: 0.204-1
libref-util-xs-perl: 0.117-1+b1
librole-tiny-perl: 2.000006-1
libsearch-xapian-perl: 1.2.25.2-1+b2
libsocket6-perl: 0.29-1+b1
libspecio-perl: 0.43-1
libstream-buffered-perl: 0.03-1
libsub-exporter-perl: 0.987-1
libsub-exporter-progressive-perl: 0.001013-1
libsub-identify-perl: 0.14-1+b1
libsub-install-perl: 0.928-1
libsub-name-perl: 0.21-1+b3
libsub-quote-perl: 2.005001-1
libsys-hostname-long-perl: 1.5-1
libtest-sharedfork-perl: 0.35-1
libtest-tcp-perl: 2.19-1
libtext-charwidth-perl: 0.04-7.1+b1
libtext-iconv-perl: 1.7-5+b7
libtext-wrapi18n-perl: 0.06-7.1
libtimedate-perl: 2.3000-2+deb10u1
libtry-tiny-perl: 0.30-1
liburi-perl: 1.76-1
libvariable-magic-perl: 0.62-1+b1
libwww-form-urlencoded-perl: 0.25-1
libwww-form-urlencoded-xs-perl: 0.25-1+b1
libwww-perl: 6.36-2
libwww-robotrules-perl: 6.02-1
libxapian30: 1.4.11-1
libxml-treepp-perl: 0.43-1
perl: 5.28.1-6+deb10u1
perl-base: 5.28.1-6+deb10u1
perl-modules-5.28: 5.28.1-6+deb10u1
perl-openssl-defaults: 3
xapian-tools: 1.4.11-1
"""
Thanks in advance for helping,
- Ali
^ permalink raw reply [relevance 4%]
Results 1-3 of 3 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2020-05-07 21:05 7% [PATCH 00/13] eml: pure-Perl replacement for Email::MIME Eric Wong
2020-05-07 21:05 6% ` [PATCH 10/13] eml: remove dependency on Email::MIME::Encodings Eric Wong
2020-12-26 11:27 4% [Debian 9][Perl 5.24] uninitialized value errors in Encode/MIME/Header.pm Ali Alnubani
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).