From 5d55a14fa52981ae2a8bb6e65a65bf410c773464 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Fri, 15 Nov 2019 22:25:11 +0100 Subject: interimap: Gracefully ignore messages with NIL RFC822 attribute. Like we do for zero-length messages. Closes: #944812. --- interimap | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'interimap') diff --git a/interimap b/interimap index 386492e..f9be72d 100755 --- a/interimap +++ b/interimap @@ -1154,8 +1154,11 @@ sub callback_new_message($$$$;$$$) { my ($idx, $mailbox, $name, $mail, $UIDs, $buff, $bufflen) = @_; return unless exists $mail->{RFC822}; # not for us - my $length = length ${$mail->{RFC822}}; + my $length = length(${$mail->{RFC822}} // ""); if ($length == 0) { + # the RFC822 attribute can be NIL or empty (it's an nstring), however + # NIL can't be used in APPEND commands, and RFC 3502 sec. 6.3.11 + # explicitly forbids zero-length messages, so we ignore these here msg2($name => $mailbox, "WARNING: Ignoring new 0-length message (UID $mail->{UID})"); return; } -- cgit v1.2.3