[Tickets #12001] Re: Courier - max atom size too small
noreply at bugs.horde.org
noreply at bugs.horde.org
Thu Feb 14 00:19:04 UTC 2013
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/12001
------------------------------------------------------------------------------
Ticket | 12001
Updated By | Michael Slusarz <slusarz at horde.org>
Summary | Courier - max atom size too small
Queue | IMP
Version | 6.0.3
Type | Bug
State | Unconfirmed
Priority | 1. Low
Milestone |
Patch |
Owners |
------------------------------------------------------------------------------
Michael Slusarz <slusarz at horde.org> (2013-02-13 17:19) wrote:
> Why?
Let me count the ways:
1. RFC 2683 was written in 1999. Back then, servers (both IMAP and
the underlying OS) weren't as robust/were 32-bit and had limited
memory/etc, etc. But now it is 2013 and there is zero reason,
performance or otherwise, to NOT allow something like this. Or, at
the very least, provide a much more reasonable command limit for
authenticated users (e.g. 100 KB).
2. Regardless of #1, 2683 is informational and not part of the standard.
3. What's more - there are now IMAP extensions that will be completely
broken if you limit the size of incoming data. For example QRESYNC,
since you MUST pass the entire known UID list at SELECT/EXAMINE time.
If you have thousands of UIDs in the local cache, this is no longer
possible (you can't break this up into multiple commands).
4. It is a significant performance penalty to have to break apart and
send these commands separately, especially since IMP does not
currently support pipelining.
> i was trying to google it and it looks like i'm not able to set this
> in Courier. I don't know why exactly IMP requested so many messages
> but it happened automatically right after the login so i assumed
> it's not my fault.
Because Courier is braindead and doesn't support SORT. So if you are
sorting by something other than arrival sort, we have to grab the
message data from every message in the mailbox to do the sorting on
the PHP side.
I removed the code to prevent sorting on servers that don't support
this in IMP, but I think I probably need to add it back (Gmail doesn't
provide sort either).
> Command line length limit in several IMAP servers (default values in bytes):
> Courier: 16384 (looks like cannot be changed)
> Dovecot: 65536 (can be set in config file)
> Cyrus: probably 131072 (can be set in config file)
The latter 2 are a much more reasonable default on current machines,
while preventing DoS attacks.
More information about the bugs
mailing list