On Fri, 15 Nov 2019 at 19:10:56 +0100, Jonas Smedegaard wrote: > Use of uninitialized value $length in numeric eq (==) at /usr/bin/interimap > line 955. > remote(INBOX.olpc): WARNING: Ignoring new 0-length message (UID 97) > > Wanted to let you know in case it is a bug in your code (rather than > just a broken email in my mailbox).
Thanks, it's either cosmetic (it shouldn't complain about the uninitialized value), or it's a more severe bug in the parser. I guess this is reproducible with `interimap --repair INBOX.olpc`? If so, could you please enable debug mode and run `grep -Fw "UID 97"` on the logfile? Failing that, you could run the following two commands through an IMAP session with the remote server: C: a EXAMINE INBOX.olpc S: […] S: a OK [READ-ONLY] … C: UID FETCH 97 BODY.PEEK[] S: * $SEQ FETCH (UID 97 BODY[] …) I'd like to see the first line of the server response past “BODY[] ”. If it's the keyword ‘NIL’ then it's a cosmetic bug; if it's a string, either in quoted (‘"foo"’) or literal (‘{3}\r\nfoo’) form it's something more problematic. About zero-length messages: they are intentionally ignored as RFC 3502 sec. 6.3.11 explicitly forbids them. IMHO the WARNING makes sense if the body of that message is NIL or the empty string, but we should silence the bit mentioning line 955. -- Guilhem.
signature.asc
Description: PGP signature