Aaron Stone wrote:
On Mon, Jan 24, 2005, ""Leif Jackson"" <[EMAIL PROTECTED]> said:


I would say that as the _ic_sort was mostly just a stop gap untill we had
header caching available, that it is obvious the whole sort part of dbmail
should be reworked, however the current implementation is near optimal for
at least the sort needed for squirrelmail, as you mentioned before I never
intended this to be anything but for SM. If anyone has time to work on
code I would urge we focus on header caching so as to be able to make the
sort and other items work well for 2.1 and leave the sort code that was
merged into 2.0 as is and make a not that it is intened for SM only, or
add a option to enable the sort code and runtime...etc.


Header caching isn't an option for 2.0, so we need to make it work
reliably and as fast as possible within its database schema. I do know
that SquirrelMail is more common than TWIG, but more importantly,
SquirrelMail has its own IMAP client library written in PHP whereas TWIG
uses PHP's copy of the c-client library. It would not surprise me if many
more PHP email programs are not working with 2.0.3, either, though I
haven't looked into it.

I was pleasantly surprised by your command trace yesterday. Apparently c-client is smart. Smart enough to hide server-errors from the client. The fact that

A01 SORT (REVERSE ARRIVAL) US-ASCII ALL

failed is very important in this respect. The build_imap_search function is full of TODO statements for search keys that are silently ignored whereas US-ASCII and UTF-8 which are both explicitely required by the specs were/are totally absent and therefor trigger an error.

What specifically makes the _ic_sort code work for SquirrelMail that can't
be extended for other clients and/or for a more general case?

Probably nothing for specific cases, but making it work for the general case is beyond me given the 2.0 code for reasons I outlined yesterday.


And, more broadly, if _ic_sort is really _ic_sort_smhack, what can we do
so that the hack is only used if we've really got SquirrelMail on the
line?

We haven't had many complaints so far, so perhaps do it right in 2.1 should indeed take priority. The correct way to solve this for now in 2.0 would be some switch in dbmail.conf. But that would open an other can of worms we've been talking about: capabilities.

So to paraphrase: if no-one cares it's broken, don't fix it. Twig works (sort of) thanks to c-client, SM works thanks to _ic_sort,...

--
  ________________________________________________________________
  Paul Stevens                                         [EMAIL PROTECTED]
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands_______________________________________www.nfg.nl

Reply via email to