Timo Sirainen [Fri, 11 Feb 2011 22:48:47 +0000 (00:48 +0200)]
lib-storage: Changed mailbox_list.subscriptions_refresh() API to be more flexible.
The new API makes it easier implement subscriptions=no to a backend that
doesn't use the regular subscriptions file.
Timo Sirainen [Fri, 11 Feb 2011 22:16:06 +0000 (00:16 +0200)]
lib-storage: Don't allow renaming mailbox under another one with different permissions.
This is mainly to avoid any weird situations arising with shared mailboxes.
Timo Sirainen [Wed, 9 Feb 2011 23:54:26 +0000 (01:54 +0200)]
Added import_environment setting.
This also cleans up different places in code where TZ and other environments
are preserved. If it's not in the import_environment setting, it's not
preserved.
Timo Sirainen [Tue, 8 Feb 2011 20:17:44 +0000 (22:17 +0200)]
mbox: No longer try to preserve sync stamps from v1.0 mbox index files.
The worst that can happen is if a v1.0 user upgrades to v2.1, an mbox gets
resynced unnecessarily.
Timo Sirainen [Tue, 8 Feb 2011 01:31:01 +0000 (03:31 +0200)]
master: If process limit is reached, just accept and close the client connection.
This makes it a bit clearer what the problem is, so that client can log a
better error message.
Timo Sirainen [Mon, 7 Feb 2011 23:35:45 +0000 (01:35 +0200)]
lib-storage: Initial commit for rewritten mailbox list indexes code.
They're only enabled with mailbox_list_index=yes setting (default is no).
They can also get out of sync pretty easily currently.
Timo Sirainen [Mon, 7 Feb 2011 22:08:38 +0000 (00:08 +0200)]
lib-index: Avoid writing tail offset unnecessarily to transaction log file.
This could have happened with MAIL_INDEX_TRANSACTION_FLAG_AVOID_FLAG_UPDATES
when all flag updates were cancelled and no other changes were done.
Timo Sirainen [Tue, 1 Feb 2011 23:27:50 +0000 (01:27 +0200)]
autocreate: Redesigned autocreate plugin to create/subscribe mailboxes lazily.
Mailboxes are listed as if they existed, but they're not created until the
mailbox is opened for the first time. Mailboxes are autosubscribed only
during mailbox creation, so subscription file isn't unnecessarily being read
all the time either.
This lazy creation also means that if autocreate mailbox is removed from
configuration and it was never opened by the client, it was also never
physically created.
Timo Sirainen [Tue, 1 Feb 2011 18:41:54 +0000 (20:41 +0200)]
lib-storage: Mailbox virtual names are now in UTF-8 format, not IMAP mUTF-7.
Plugins that use mailbox names in configuration now take them also as UTF-8
rather than mUTF-7.
Timo Sirainen [Mon, 31 Jan 2011 00:13:06 +0000 (02:13 +0200)]
lib-storage: Moved setting "wanted fields/headers" fields for sort program from imap-specific code.
Also separate between fields that are actually wanted to be fetched from the
fields that sorting wants to temporarily use.
Timo Sirainen [Sun, 30 Jan 2011 18:47:43 +0000 (20:47 +0200)]
imapc: Send UID FETCH commands with larger uidset parameter if possible.
This code assumes that server doesn't reorganize FETCH replies when it's
given an increasing UID range, which in theory IMAP server would be allowed
to do, but I doubt there are any.
Timo Sirainen [Sun, 30 Jan 2011 18:16:04 +0000 (20:16 +0200)]
lib-storage: Index search context is now more accessible by backends.
Moved struct index_search_context to index-search-private.h and added
recheck_index_args flag that backends can set.
Timo Sirainen [Wed, 26 Jan 2011 19:47:52 +0000 (21:47 +0200)]
ioloop: Use -1 for infinite poll/epoll timeout rather than INT_MAX.
Should improve performance a tiny bit and also works around a CPU eater bug
in Linux 2.6.37.
Timo Sirainen [Wed, 26 Jan 2011 19:47:52 +0000 (21:47 +0200)]
ioloop: Use -1 for infinite poll/epoll timeout rather than INT_MAX.
Should improve performance a tiny bit and also works around a CPU eater bug
in Linux 2.6.37.