Timo Sirainen [Thu, 15 Sep 2011 09:34:03 +0000 (12:34 +0300)]
mbox: mailbox_get_guid() works now without trying to sync the opened mailbox.
This fixes assert-crash when LDA was trying to get mailbox GUID during save.
Timo Sirainen [Mon, 12 Sep 2011 23:07:30 +0000 (02:07 +0300)]
lib-index: mail_index_view_clone() didn't properly clear all fields in the destination view.
The only caller already had it cleared though.
Patch by Mike Abbott / Apple.
Timo Sirainen [Mon, 12 Sep 2011 11:01:36 +0000 (14:01 +0300)]
quota-dirsize: Get the quota from "mail root dir", not "mailboxes dir".
Normally they are different only with dbox (~/dbox vs. ~/dbox/mailboxes).
This mainly fixes using dirsize with mdbox, where the mail data is in
~/dbox/storage/ directory.
Patch by Роман Захров.
Timo Sirainen [Tue, 30 Aug 2011 01:32:55 +0000 (04:32 +0300)]
lib-storage: Added MAILBOX_TRANSACTION_FLAG_NO_CACHE_DEC and use it when precaching.
The result is that "doveadm index" no longer changes caching decisions.
Timo Sirainen [Tue, 23 Aug 2011 20:25:14 +0000 (23:25 +0300)]
lib-index: When creating dovecot.index.backup files, fdatasync() them first.
Otherwise if the dovecot.index file had been written to recently, it could
lose both the new and the old backup data.
Timo Sirainen [Tue, 23 Aug 2011 19:14:38 +0000 (22:14 +0300)]
mbox: Avoid crashing when getting GUID or header-md5 in some conditions.
mbox file can be opened and locked (especially with pop3_lock_session=yes)
without actually creating a stream for it.
Timo Sirainen [Thu, 4 Aug 2011 16:57:35 +0000 (19:57 +0300)]
mail_index_get_keywords() / status.keywords weren't actually guaranteed to be NULL terminated
This could have caused crashes or garbage keywords be presented to clients
in some situations.
Timo Sirainen [Fri, 29 Jul 2011 09:25:52 +0000 (12:25 +0300)]
lib-storage: renaming mailboxes under different parent was broken in fs layout
If alt storage was used with sdbox or if index or control dirs were used,
renaming "foo" to "bar/foo" would result "foo" not being renamed for those
directories.
Timo Sirainen [Mon, 27 Jun 2011 23:41:06 +0000 (02:41 +0300)]
lib-lda: waitpid() for executed sendmail binary wasn't called correctly.
It may have failed with -ECHILD, if the sendmail binary itself forked other
processes.
Timo Sirainen [Tue, 14 Jun 2011 13:59:57 +0000 (16:59 +0300)]
Moved the main functionality from "doveadm index" to MAILBOX_SYNC_FLAG_PRECACHE
This also allows plugins to hook into the sync and implement their own
precaching easily. fts indexing is now done this way rather than kludging.
Timo Sirainen [Wed, 8 Jun 2011 13:04:35 +0000 (16:04 +0300)]
vpopmail: Fixed opening SMTP relays.
Also don't even try to open IPv6 relays, since vpopmail becomes an open
relay then. Based on patch by Matt Brookings.
Timo Sirainen [Mon, 6 Jun 2011 15:25:52 +0000 (18:25 +0300)]
lib_signals_set_handler(): Changed API to take flags instead of boolean.
This is still compatible with the old API, because using FALSE/TRUE as the
flags still maps to the same behavior.
Timo Sirainen [Fri, 20 May 2011 18:46:32 +0000 (21:46 +0300)]
message header parser: Allow NULs in header name also when header is missing ':'.
This doesn't fix any crashes/corruption unlike the earlier fix, but it makes
the code more correct. Although it might help with mbox rewriting seeing
some size mismatches (or might not).
Timo Sirainen [Fri, 20 May 2011 15:45:29 +0000 (18:45 +0300)]
Added support for a simplified IPC infrastructure.
The idea is that you have one "ipc" proxy process, where all server
processes connect to. IPC clients can then connect to the proxy and ask it
to forward commands to either a specific server or all servers. The proxy
does this, and forwards back any replies from the server.