diff options
| author | Guilhem Moulin <guilhem@fripost.org> | 2019-11-15 22:25:11 +0100 | 
|---|---|---|
| committer | Guilhem Moulin <guilhem@fripost.org> | 2019-11-17 16:52:27 +0100 | 
| commit | 5d55a14fa52981ae2a8bb6e65a65bf410c773464 (patch) | |
| tree | f8f9869ead76397805aa15c18dc0b19c6cf87f81 | |
| parent | 51336e88f2de76c56b513de23d06677461742454 (diff) | |
interimap: Gracefully ignore messages with NIL RFC822 attribute.
Like we do for zero-length messages.
Closes: #944812.
| -rw-r--r-- | Changelog | 1 | ||||
| -rwxr-xr-x | interimap | 5 | 
2 files changed, 5 insertions, 1 deletions
| @@ -105,6 +105,7 @@ interimap (0.5) upstream;   - interimap: for the reason explained above, limit number of messages     to 128 per APPEND command (only on servers advertizing MULTIAPPEND,     for other servers the number remains 1). + - interimap: gracefully ignore messages with NIL RFC822 attribute.   -- Guilhem Moulin <guilhem@fripost.org>  Fri, 10 May 2019 00:58:14 +0200 @@ -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;      } | 
