diff options
author | Eric Wong <e@yhbt.net> | 2020-09-15 06:11:18 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2020-09-15 06:20:24 +0000 |
commit | 946fb6c1f90cbb7bc71a52b049e20f0872bdc4f0 (patch) | |
tree | 7f8e94a525953691e21149967b425f8750f8f32f | |
parent | 2443019902bdd0b3d4d84eef85f5d9828f399b9f (diff) | |
download | public-inbox-946fb6c1f90cbb7bc71a52b049e20f0872bdc4f0.tar.gz |
This was triggered by blindly trying to FETCH an MSN (not "UID FETCH") on an empty dummy inbox. It's harmless, and probably triggered by a wayward client or misbehaving bot.
-rw-r--r-- | lib/PublicInbox/IMAP.pm | 2 | ||||
-rw-r--r-- | t/imapd.t | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/PublicInbox/IMAP.pm b/lib/PublicInbox/IMAP.pm index 2d0d005e..47c08aea 100644 --- a/lib/PublicInbox/IMAP.pm +++ b/lib/PublicInbox/IMAP.pm @@ -300,7 +300,7 @@ sub msn2uid ($) { # converts a set of message sequence numbers in requests to UIDs: sub msn_to_uid_range ($$) { my $msn2uid = $_[0]; - $_[1] =~ s!([0-9]+)!$msn2uid->[$1 - 1] // ($msn2uid->[-1] + 1)!sge; + $_[1] =~ s!([0-9]+)!$msn2uid->[$1 - 1] // ($msn2uid->[-1] // 0 + 1)!sge; } # called by PublicInbox::InboxIdle @@ -371,6 +371,10 @@ EOF @hits = $mic->search('SENTSINCE' => '18-Apr-2020'); is_deeply(\@hits, [], 'search on dummy with condition works'); ok(!$mic->search('SENTSINCE' => '18-Abr-2020'), 'bad month fails'); + $mic->Uid(0); + my $ret = $mic->fetch_hash(2, 'RFC822'); + is_deeply($ret, {}, + 'MSN FETCH on empty dummy will not trigger warnings, later'); }); # each_inbox # message sequence numbers :< |