Re: [Imap-protocol] UW-IMAPD and its interpretation of ESEARCH

Bron Gondwana <[email protected]>
Newsgroups gmane.mail.imap.general
Message-ID <1370673540.28336.140661241407785.7767A035@webmail.messagingengine.com>
On Sat, Jun 8, 2013, at 04:10 PM, Jonathan Abbey wrote:
> On Thu, 06 Jun 2013 15:15:32 -0500, Jan Kundrát wrote:
> | Hi,
> | one of my users has reported [1] that his IMAP server (UW-IMAPD,
> | reporting as "2007e.404" in the initial greetings) is using the
> | wrong [2] interpretation of the ESEARCH extension -- always
> | reporting the UIDs as "min:max", effectively removing the huge
> | benefit of that extension.
> | 
> | What is the least damaging way to work around this? Here's a couple of ideas:
> | 
> | a) Detect ESEARCH response passed as min:max. When the number of
> | messages exceeds what EXISTS reports, blacklist the ESEARCH
> | extension and try once again using plain SEARCH.
> | 
> | b) Resort to ugly user-agent-sniffing-alike and blacklist ESEARCH
> | preemptively when the initial greetings contains the "IMAP4rev1
> | 2007e.404 at" string *and* the "SCAN" capability is present.
> | 
> | The option b) looks like a reasonable stopgap measure with a very
> | limited potential for false positives. It is also implementable very
> | quickly within my client. The option a) will require a bit more
> | work, but it looks like something more "robust" than b).
> | 
> | Is there some inherent drawback in -- at least temporarily -- going
> | with b) that I might be missing? It's an obsolete, unmaintained
> | server with not that great market share, so implementing extra
> | workarounds just for it are not terribly high on my list of
> | priorities...
> 
> Take a look at Panda IMAP at
> 
>   http://github.com/jonabey/panda-imap
> 
> that repo includes the very last version of Mark Crispin's personal
> fork of UW IMAP that he did after he was laid off from UW.  I know he
> fixed a lot of non-security related stuff in his code that was never
> back-ported into UW IMAP.
> 
> If it turns out that the bug you're describing is still in this code,
> I'd be happy to work on fixing it / accepting patches to fix it.

I think in Jan's case as a client author, there's often a limited amount
that you can do to get servers fixed.  Sure this path will lead to the
bugfixes appearing sometime in the next 2-3 years once it gets accepted
upstream, packaged by distributions, and finally slipstreamed onto
everyone's servers in the next round of stable updates.

Even as a server author, you wouldn't believe the resistance to updates.
"it's not in Debian stable, we're not using it".  So plenty of my 2 year
old Cyrus bugs are still out there in the real world.  Unless it's a
security issue, good luck getting it fixed quickly.

Hence: workarounds.

Bron.

-- 
  Bron Gondwana
  [email protected]
_______________________________________________
Imap-protocol mailing list
[email protected]
http://mailman2.u.washington.edu/mailman/listinfo/imap-protocol
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.