fetchmail-friends
[Top] [All Lists]

Re: [fetchmail]Fixed UIDL + IMAP patch

2004-05-21 12:56:13
Brian Candler wrote:

On Fri, May 21, 2004 at 11:18:38AM -0700, Clint Sharp wrote:
Well, IMAP has more than one mechanism defined to detect this:
- The \Seen flag
- The UID mechanism

I personally don't see a need for a third, as it violates the spirit of the
protocol (i.e. the protocol designers put those features in for a purpose).
Perhaps if fetchmail had a 'plug-in' type architecture then unusual or
specialised configurations like this could be more easily supported.


POP3 supports three

?

POP3 has one - UIDL.

Prehistoric POP3 (RFC1460) had another - LAST. It vanished in RFC1725 and
the current standard is RFC1939, although it is still supported in fetchmail
(unfortunately). It's the analogue of IMAP \Seen

I'm not aware of any other.

Regards,

Brian.
LAST, FastUIDL, SlowUIDL. FastUIDL uses the POP3 UIDL command, slow UIDL uses TOP to parse for Message-ID headers. Obviously all of these are workarounds for protocol and implementation inconsistencies, and fetchmail is smarter on the POP3 side (detects if LAST is supported, if not uses UIDL, if UIDL doesn't work is uses Slow UIDL). My proposal would be to implement a similar functionality in the IMAP driver (\Seen, Fast UIDL/Slow UIDL), however, we cannot easily detect broken IMAP implementations unless we somehow determine if we've crossed some treshhold of UIDVALIDITY changes over a period.

I'd be willing to remove the Slow UIDL code (MD5 checksum of Received and Message-ID headers) if that's the consensus. However, it already works and would work on nearly any (even broken) IMAP implementation, so it seems like it'd be better to hide it behind a configuration option than remove it completely.

Clint