Skip Menu |

This queue is for tickets about the Mail-IMAPClient CPAN distribution.

Report information
The Basics
Id: 128595
Status: resolved
Priority: 0/
Queue: Mail-IMAPClient

People
Owner: PLOBBES [...] cpan.org
Requestors: gilles [...] lamiral.info
leszlauer.gabor [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 3.41
Fixed in: 3.42



Subject: $imap->imap4rev1() does not return 1 any more. it's 3.41 only
Date: Sat, 23 Feb 2019 12:12:40 +0100
To: bug-Mail-IMAPClient [...] rt.cpan.org
From: Gilles LAMIRAL <gilles [...] lamiral.info>
Hi Phil, I don't know what happened with 3.41 but it became a little messy, not to say more. Now $imap->imap4rev1() does not return 1 any more even with a standard "CAPABILITY IMAP4rev1 ..." So fetching a message with message_string() is done with the very old imap RFC822.PEEK which fails with major imap servers these days. Example, we have now 15 UID FETCH 21782 RFC822.PEEK instead of the good 15 UID FETCH 21782 BODY.PEEK[] I haven't look at the other potential bugs, it's already a major regression -- Au revoir, Gilles Lamiral. France, Baulon (35580) mob 06 19 22 03 54 tel 09 51 84 42 42
Subject: IMAPrev1 bug
Date: Sat, 23 Feb 2019 15:56:59 -0500
To: bug-Mail-IMAPClient [...] rt.cpan.org
From: Gábor Leszlauer <leszlauer.gabor [...] gmail.com>
Hi Guys, I ran into a bug with the IMAP4Rev1 capability. I tried to get a bodypart with $imap->bodypart_string($uid, $part_number) and it returned nothing. I checked the logs and got this: Read: \t* CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY LITERAL+ NOTIFY SPECIAL-USE QUOTA: [Sat Feb 23 15:32:29.402157 2019] [cgi:error] [pid 28888] [client :55862] AH01215: \t308 OK Capability completed (0.001 + 0.000 secs).: [Sat Feb 23 15:32:29.403838 2019] [cgi:error] [pid 28888] [client :55862] AH01215: ERROR: Unable to get body part; server does not support IMAP4REV1 at /usr/local/lib/perl5/site_perl/Mail/IMAPClient.pm line 893.: I use Dovecot IMAP and the server capability response does show IMAP4rev1, although not all uppercase. As a test I modified the imap4rev1 subroutine in IMAPClient.pm module and it fails because it only validates capabilities with all uppercase. So I commented out the original and modified it as follows: sub imap4rev1 { my $self = shift; return $self->{_IMAP4REV1} if exists $self->{_IMAP4REV1}; # $self->{_IMAP4REV1} = $self->has_capability('IMAP4REV1'); $self->{_IMAP4REV1} = $self->has_capability('IMAP4rev1'); } This does the trick. Cheers, Gabor Leszlauer
Sorry about this! The has_capability() changes in 3.41 broke this, but I've just released 3.42 to address the problem. Please let me know if you run into any other unexpected oddness.
Closing as 3.42 is now out.
Subject: Re: [rt.cpan.org #128595] $imap->imap4rev1() does not return 1 any more. it's 3.41 only
Date: Sun, 24 Feb 2019 20:18:29 +0100
To: bug-Mail-IMAPClient [...] rt.cpan.org, leszlauer.gabor [...] gmail.com
From: Gilles LAMIRAL <gilles [...] lamiral.info>
Far better! Thanks for your fast fix Phil! I'm gonna dig into unit tests for Mail::IMAPClient it's too important for imapsync Le 24/02/2019 à 02:00, Phil Pearl (Lobbes) via RT a écrit : Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=128595 > > > Sorry about this! The has_capability() changes in 3.41 broke this, but I've just released 3.42 to address the problem. > > Please let me know if you run into any other unexpected oddness. >
-- Au revoir, Gilles Lamiral. France, Baulon (35580) mob 06 19 22 03 54 tel 09 51 84 42 42