]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
11 years agolib-fs: fs_class_register() can now be called externally.
Timo Sirainen [Thu, 16 Apr 2015 15:20:15 +0000 (18:20 +0300)] 
lib-fs: fs_class_register() can now be called externally.

11 years agodoveadm mailbox metadata: The keys must always be lowercased.
Timo Sirainen [Thu, 16 Apr 2015 11:19:51 +0000 (14:19 +0300)] 
doveadm mailbox metadata: The keys must always be lowercased.
The keys need to be case-insensitive in IMAP, so the IMAP code always also
lowercases them.

11 years agostats: Fixed compiling with some OSes.
Timo Sirainen [Thu, 16 Apr 2015 09:59:05 +0000 (12:59 +0300)] 
stats: Fixed compiling with some OSes.
struct timeval wasn't necessarily already defined by existing includes.

11 years agolib: test-array build warnings on Solaris 10
Phil Carmody [Thu, 16 Apr 2015 08:46:22 +0000 (11:46 +0300)] 
lib: test-array build warnings on Solaris 10
Solaris cc doesn't think I've read N1570 6.7.9p11, 6.5.16.1p2, and 6.3.1.3p2,
and wants to save me from myself.

Reported-by: Juergen Obermann <http://www.dovecot.org/list/dovecot/2015-April/100427.html>
Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agoimapc: Added imapc_features=zimbra-workarounds
Timo Sirainen [Wed, 15 Apr 2015 18:01:11 +0000 (21:01 +0300)] 
imapc: Added imapc_features=zimbra-workarounds
Zimbra (at least v5.0.18_GA_3011.RHEL4_64) can return different headers
depending on whether the whole message body was fetched or only (partial)
headers. This probably happens only for invalid characters that are
translated into '?'. With this workaround enabled we don't use FETCH
BODY.PEEK[], but we do FETCH (BODY.PEEK[HEADER] BODY.PEEK[TEXT]) and merge
the results together. This way the results are always consistent and headers
don't suddenly change.

11 years agodict-file: Use tabescaping for keys and values to allow LFs in them.
Timo Sirainen [Tue, 14 Apr 2015 06:58:01 +0000 (09:58 +0300)] 
dict-file: Use tabescaping for keys and values to allow LFs in them.
Although this makes the format slightly incompatible, it's doubtful anybody
is using dict values containing \001 characters.

11 years agoauth: If passdb/userdb changes the username, add the changed username also to the...
Timo Sirainen [Mon, 13 Apr 2015 17:38:10 +0000 (20:38 +0300)] 
auth: If passdb/userdb changes the username, add the changed username also to the cache.

11 years agoauth: Setting userdb fields from cache didn't set handle any special fields.
Timo Sirainen [Mon, 13 Apr 2015 17:37:48 +0000 (20:37 +0300)] 
auth: Setting userdb fields from cache didn't set handle any special fields.
The special fields were relatively rarely used though.

11 years agoreplication plugin: Don't crash for users who don't have replication enabled.
Timo Sirainen [Mon, 13 Apr 2015 07:04:47 +0000 (10:04 +0300)] 
replication plugin: Don't crash for users who don't have replication enabled.

11 years agolib: Added json-tree API for parsing JSON input into a tree structure.
Timo Sirainen [Wed, 8 Apr 2015 04:55:35 +0000 (13:55 +0900)] 
lib: Added json-tree API for parsing JSON input into a tree structure.
This makes it easier to access complicated JSON structs that can fit into
memory.

11 years agolib-index: Added reason_r parameter to mail_transaction_log_view_set()
Timo Sirainen [Mon, 6 Apr 2015 03:07:32 +0000 (12:07 +0900)] 
lib-index: Added reason_r parameter to mail_transaction_log_view_set()
This is used to improve some of the error messages about index corruption.

11 years agorawlog: Flush output to disk every second instead of only when buffer is full.
Timo Sirainen [Mon, 6 Apr 2015 02:39:34 +0000 (11:39 +0900)] 
rawlog: Flush output to disk every second instead of only when buffer is full.

11 years agoconfigure: Added --with-textcat parameter
Timo Sirainen [Thu, 2 Apr 2015 23:53:45 +0000 (08:53 +0900)] 
configure: Added --with-textcat parameter

11 years agodsync: Improved error message when remote dsync-server couldn't be started.
Timo Sirainen [Wed, 1 Apr 2015 23:12:41 +0000 (08:12 +0900)] 
dsync: Improved error message when remote dsync-server couldn't be started.

11 years agodsync: Don't try to use the new "finish" state with old dsync versions.
Timo Sirainen [Tue, 31 Mar 2015 16:16:57 +0000 (01:16 +0900)] 
dsync: Don't try to use the new "finish" state with old dsync versions.

11 years agoMakefile: Build lib-dovecot before lib-compression
Timo Sirainen [Fri, 27 Mar 2015 23:23:47 +0000 (01:23 +0200)] 
Makefile: Build lib-dovecot before lib-compression
Because lib-compression depends on it.

11 years agoquota: Added debug information for quota_over_flag handling.
Timo Sirainen [Fri, 27 Mar 2015 21:39:30 +0000 (23:39 +0200)] 
quota: Added debug information for quota_over_flag handling.

11 years agoconfigure: Add missing (auto) to autodetected options.
Teemu Huovila [Wed, 25 Mar 2015 08:11:35 +0000 (10:11 +0200)] 
configure: Add missing (auto) to autodetected options.

11 years agolib-compression: Use libdovecot.so as dependency. Don't include liblib.a itself!
Timo Sirainen [Fri, 27 Mar 2015 16:04:51 +0000 (18:04 +0200)] 
lib-compression: Use libdovecot.so as dependency. Don't include liblib.a itself!

11 years agoimapc: Don't assert-crash when trying to sync a mailbox with MAILBOX_FLAG_SAVEONLY.
Timo Sirainen [Fri, 27 Mar 2015 13:12:50 +0000 (15:12 +0200)] 
imapc: Don't assert-crash when trying to sync a mailbox with MAILBOX_FLAG_SAVEONLY.
We can just skip the sync, because we don't do anything except save mails.

11 years agoquota: When reporting quota value/limit in kilobytes, round the value upwards.
Timo Sirainen [Fri, 27 Mar 2015 12:31:01 +0000 (14:31 +0200)] 
quota: When reporting quota value/limit in kilobytes, round the value upwards.
Most importantly this doesn't truncate <1024 values to 0, which also in
quota limit means unlimited.

11 years agoauth: Don't add original_user or auth_user to passdb reply if they already exist.
Timo Sirainen [Fri, 27 Mar 2015 09:02:18 +0000 (11:02 +0200)] 
auth: Don't add original_user or auth_user to passdb reply if they already exist.
This allows passdb to override their values cleanly.

11 years agoimapc: Fix to previous change - labels are strings and not atoms.
Timo Sirainen [Tue, 24 Mar 2015 09:27:26 +0000 (11:27 +0200)] 
imapc: Fix to previous change - labels are strings and not atoms.
Allow also atoms just in case

11 years agoimapc: Ignore \Muted GMail label
Timo Sirainen [Tue, 24 Mar 2015 09:14:58 +0000 (10:14 +0100)] 
imapc: Ignore \Muted GMail label

11 years agolib-storage: Added mailbox_list_fs_get_list()
Timo Sirainen [Sun, 22 Mar 2015 18:54:29 +0000 (20:54 +0200)] 
lib-storage: Added mailbox_list_fs_get_list()
Using mailbox_list_init_fs() now sets the mailbox_list pointer to root fs,
which allows the fs backends to lookup the list. Although this can't be done
in the init() function since the list is set only afterwards.

11 years agolib-fs: Added support for module_contexts in fs.
Timo Sirainen [Sun, 22 Mar 2015 18:52:56 +0000 (20:52 +0200)] 
lib-fs: Added support for module_contexts in fs.
They could also be added to fs_file if needed, but for now I didn't bother
adding it.

11 years agolib-fs: When autoloading fs plugins with '-' in the name, translate them to '_'
Timo Sirainen [Sun, 22 Mar 2015 18:52:16 +0000 (20:52 +0200)] 
lib-fs: When autoloading fs plugins with '-' in the name, translate them to '_'
It's not possible for the function names to contain '-' in any case. Also
Dovecot in general uses '-' instead of '_' in the configuration names. This
change actually allows using either of them.

11 years agoCleanup for libcharset's iconv linking.
Timo Sirainen [Sun, 22 Mar 2015 16:59:51 +0000 (18:59 +0200)] 
Cleanup for libcharset's iconv linking.
Linking libcharset.la now automatically links with the necessary iconv
libraries.

11 years agolib: Fixed potential build error when building without modules.
Timo Sirainen [Fri, 20 Mar 2015 19:58:16 +0000 (21:58 +0200)] 
lib: Fixed potential build error when building without modules.

11 years agolib-dict: Fixed crash when transaction failed due to dict server disconnection.
Timo Sirainen [Fri, 20 Mar 2015 19:13:21 +0000 (21:13 +0200)] 
lib-dict: Fixed crash when transaction failed due to dict server disconnection.

11 years agolib: o_stream_create_rawlog_from_stream() should preserve the output stream fd.
Timo Sirainen [Fri, 20 Mar 2015 19:01:08 +0000 (21:01 +0200)] 
lib: o_stream_create_rawlog_from_stream() should preserve the output stream fd.
ostream-rawlog is just a passthrough stream after all.

11 years agodoveadm: Added -h parameter to hide header line from tab and table formatter output.
Timo Sirainen [Fri, 20 Mar 2015 18:46:52 +0000 (20:46 +0200)] 
doveadm: Added -h parameter to hide header line from tab and table formatter output.

11 years agoRemoved mountpoint checking and updating code.
Timo Sirainen [Fri, 20 Mar 2015 11:27:00 +0000 (13:27 +0200)] 
Removed mountpoint checking and updating code.
After a few years it seems like it has just caused more problems than it has
actually fixed. The only thing it's been used for is to make sure that
Dovecot can't create empty user directories when the user's mail filesystem
isn't mounted. But that's supposed to be normally prevented already if the
mount root directory permissions are only writable by root.

For now the mountpoint listing code and doveadm mount code still exists just
in case people have some scripts using those. Those could be removed in v2.3.

If we somehow figured out which mountpoints existed (not so easy because
they could be only visible in userdb lookups for different users), we could
maybe create some kind of a script that checks the permissions at startup.
This would work with Linux at least:

mkdir test
mount / -o bind test
ls -ld test/var/mail # assuming /var/mail mountpoint
umount test

11 years agodsync: Fixed returning wrong mail_error in some remote dsync.
Timo Sirainen [Thu, 19 Mar 2015 08:01:18 +0000 (10:01 +0200)] 
dsync: Fixed returning wrong mail_error in some remote dsync.

11 years agoimapc: Don't wait for login to succeed at mailbox list creation.
Timo Sirainen [Wed, 18 Mar 2015 23:24:32 +0000 (01:24 +0200)] 
imapc: Don't wait for login to succeed at mailbox list creation.
The failure will be visible in the next command. This wait was here mainly
for imap, but cbdfca7d24a6 implements the wait in imap process directly.
Other (current) protocols don't need such wait at all.

Most importantly this change allows doveadm to handle imapc login failures
by seeing them as MAIL_ERROR_PERM errors when listing mailboxes or opening a
mailbox. This allows it to return a different exit code from temporary
failure (which it is not).

11 years agoimapc: Don't crash in mailbox_is_inconsistent() with unopened mailbox.
Timo Sirainen [Wed, 18 Mar 2015 23:21:20 +0000 (01:21 +0200)] 
imapc: Don't crash in mailbox_is_inconsistent() with unopened mailbox.

11 years agoimap: If mailbox list is unusable at startup, return failure immediately.
Timo Sirainen [Wed, 18 Mar 2015 23:20:38 +0000 (01:20 +0200)] 
imap: If mailbox list is unusable at startup, return failure immediately.
This is currently used only by imapc when login fails.

11 years agodsync: Use storage's mail_error to choose the doveadm exit code.
Timo Sirainen [Wed, 18 Mar 2015 22:41:19 +0000 (00:41 +0200)] 
dsync: Use storage's mail_error to choose the doveadm exit code.
Instead of always assuming that all errors are EX_TEMPFAIL.

11 years agoimapc: If authentication fails, preserve the error message as storage/list error.
Timo Sirainen [Wed, 18 Mar 2015 22:38:01 +0000 (00:38 +0200)] 
imapc: If authentication fails, preserve the error message as storage/list error.
This isn't very helpful yet, because the mailbox list creation itself fails.

11 years agolib-storage: mailbox_list_mailbox() now copies the mailbox_exists() error.
Timo Sirainen [Wed, 18 Mar 2015 22:32:44 +0000 (00:32 +0200)] 
lib-storage: mailbox_list_mailbox() now copies the mailbox_exists() error.
Instead of assuming it has to be an internal error.

11 years agolib: buffer - paranoid compile-time check for struct sizes
Phil Carmody [Wed, 18 Mar 2015 15:10:23 +0000 (17:10 +0200)] 
lib: buffer - paranoid compile-time check for struct sizes
At the moment, nothing guarantees that the public struct is big
enough to contain the private struct.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agolib: bits - improve bits_required to recurse downwards, not sideways
Phil Carmody [Wed, 18 Mar 2015 15:10:03 +0000 (17:10 +0200)] 
lib: bits - improve bits_required to recurse downwards, not sideways
Ooops.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agolib: bits - Add macro for '1 << i'
Phil Carmody [Wed, 18 Mar 2015 15:09:30 +0000 (17:09 +0200)] 
lib: bits - Add macro for '1 << i'
It's used all over the place. It feels weird not having access to such a macro.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agofts: Fixed assert-crash if fts-parser was created for a body part that backend didn...
Timo Sirainen [Wed, 18 Mar 2015 11:43:35 +0000 (13:43 +0200)] 
fts: Fixed assert-crash if fts-parser was created for a body part that backend didn't want to index.

11 years agoauth ldap: Crashfixes for earlier changes.
Timo Sirainen [Tue, 17 Mar 2015 15:30:33 +0000 (17:30 +0200)] 
auth ldap: Crashfixes for earlier changes.
Hopefully works correctly now

11 years agoauth ldap: Fixed crash when handling invalid SSL option.
Timo Sirainen [Tue, 17 Mar 2015 08:49:20 +0000 (10:49 +0200)] 
auth ldap: Fixed crash when handling invalid SSL option.

11 years agoauth ldap: Fixed assert-crash when both passdb ldap and userdb ldap was used
Timo Sirainen [Tue, 17 Mar 2015 07:58:03 +0000 (09:58 +0200)] 
auth ldap: Fixed assert-crash when both passdb ldap and userdb ldap was used

11 years agoauth ldap: Start LDAP connection only after auth process initialization is finished.
Timo Sirainen [Mon, 16 Mar 2015 21:25:34 +0000 (23:25 +0200)] 
auth ldap: Start LDAP connection only after auth process initialization is finished.
This way even if connecting to LDAP takes a while it won't cause the master
process to kill the auth process due to it not sending the startup "I'm ok"
notification early enough.

11 years agoauth ldap: Make sure config file path is included in all fatal error messages.
Timo Sirainen [Mon, 16 Mar 2015 21:21:05 +0000 (23:21 +0200)] 
auth ldap: Make sure config file path is included in all fatal error messages.

11 years agoauth ldap: If any tls_* settings are given when they're not supported, fail with...
Timo Sirainen [Mon, 16 Mar 2015 21:17:39 +0000 (23:17 +0200)] 
auth ldap: If any tls_* settings are given when they're not supported, fail with fatal instead of just warning.
These may be important for intended security, especially tls_cipher_suite.
We shouldn't allow setting them and then somewhat silently just ignore them.

11 years agoauth ldap: Call ldap_init*() already at db_ldap_init().
Timo Sirainen [Mon, 16 Mar 2015 21:14:49 +0000 (23:14 +0200)] 
auth ldap: Call ldap_init*() already at db_ldap_init().
ldap_init*() doesn't start connecting yet, but this way we can verify that
all the settings are correct.

11 years agoauth ldap: More concentration of i_fatal() calls to db_ldap_init()
Timo Sirainen [Mon, 16 Mar 2015 21:03:10 +0000 (23:03 +0200)] 
auth ldap: More concentration of i_fatal() calls to db_ldap_init()

11 years agoauth ldap: Moved more LDAP fatal checks to db_ldap_init()
Timo Sirainen [Mon, 16 Mar 2015 20:55:47 +0000 (22:55 +0200)] 
auth ldap: Moved more LDAP fatal checks to db_ldap_init()

11 years agoauth ldap: Improved ldap_initialize() failure's error logging.
Timo Sirainen [Mon, 16 Mar 2015 20:48:39 +0000 (22:48 +0200)] 
auth ldap: Improved ldap_initialize() failure's error logging.

11 years agoauth ldap: Include LDAP config path in all fatal errors.
Timo Sirainen [Mon, 16 Mar 2015 20:46:16 +0000 (22:46 +0200)] 
auth ldap: Include LDAP config path in all fatal errors.
Also moved all such error checks to db_ldap_init().

11 years agostats: Don't allow stats_refresh setting to be set too large.
Timo Sirainen [Mon, 16 Mar 2015 11:54:50 +0000 (13:54 +0200)] 
stats: Don't allow stats_refresh setting to be set too large.

11 years agostats: Initial stats refresh timeout callback wasn't set.
Timo Sirainen [Mon, 16 Mar 2015 11:53:54 +0000 (13:53 +0200)] 
stats: Initial stats refresh timeout callback wasn't set.
This broke after the ioloop change that caused stats_io_deactivate() not to
be called immediately anymore.

11 years agodsync: Added an extra "finish" state to allow slave-dsync to report error to master...
Timo Sirainen [Fri, 13 Mar 2015 18:08:34 +0000 (20:08 +0200)] 
dsync: Added an extra "finish" state to allow slave-dsync to report error to master-dsync.
I'm not sure if that's actually necessary, but just trying to follow the
different possibilities on how dsync run can finish made me unsure about it.
This should make it at least clear that if a slave-dsync has a failure flag
set at deinit master-dsync will know about it before it returns success.

11 years agodsync: Added an extra assert.
Timo Sirainen [Fri, 13 Mar 2015 18:05:03 +0000 (20:05 +0200)] 
dsync: Added an extra assert.

11 years agoimapc: If reconnect fails during syncing, don't treat all mails as expunged in error...
Timo Sirainen [Fri, 13 Mar 2015 18:03:27 +0000 (20:03 +0200)] 
imapc: If reconnect fails during syncing, don't treat all mails as expunged in error handling code.

11 years agolib-imap-client: If we get disconnected and reconnect, log it as warning instead...
Timo Sirainen [Fri, 13 Mar 2015 14:28:31 +0000 (16:28 +0200)] 
lib-imap-client: If we get disconnected and reconnect, log it as warning instead of as error.

11 years agofts: fts-parser doesn't need to be asked about all the known-plaintext content-types.
Timo Sirainen [Fri, 13 Mar 2015 14:12:37 +0000 (16:12 +0200)] 
fts: fts-parser doesn't need to be asked about all the known-plaintext content-types.

11 years agofts-tika, fts-solr: Added timeouts to requests so they aren't attempted infinitely.
Timo Sirainen [Fri, 13 Mar 2015 14:04:10 +0000 (16:04 +0200)] 
fts-tika, fts-solr: Added timeouts to requests so they aren't attempted infinitely.

11 years agofts: If fts-parser fails, stop indexing instead of ignoring the error and continuing.
Timo Sirainen [Fri, 13 Mar 2015 14:04:01 +0000 (16:04 +0200)] 
fts: If fts-parser fails, stop indexing instead of ignoring the error and continuing.
This is especially important in case there's just some temporary error.

11 years agoMakefile: Avoid make race conditions when generating files that are used as dependencies.
Timo Sirainen [Fri, 13 Mar 2015 13:06:10 +0000 (15:06 +0200)] 
Makefile: Avoid make race conditions when generating files that are used as dependencies.
The file creation needs to be atomic, otherwise another process can start
trying to use an unfinished file. So we first create .tmp file and then mv
it into the final one.

11 years agolib-mail: Added HEADER_FILTER_CRLF_PRESERVE flag to istream-header-filter.
Timo Sirainen [Thu, 12 Mar 2015 17:39:03 +0000 (19:39 +0200)] 
lib-mail: Added HEADER_FILTER_CRLF_PRESERVE flag to istream-header-filter.

11 years agoAdded signature for changeset 0f8f0d8ee607
Timo Sirainen [Thu, 12 Mar 2015 15:41:09 +0000 (17:41 +0200)] 
Added signature for changeset 0f8f0d8ee607

11 years agoAdded tag 2.2.16 for changeset 0f8f0d8ee607
Timo Sirainen [Thu, 12 Mar 2015 15:41:05 +0000 (17:41 +0200)] 
Added tag 2.2.16 for changeset 0f8f0d8ee607

11 years agoReleased v2.2.16. 2.2.16
Timo Sirainen [Thu, 12 Mar 2015 15:41:05 +0000 (17:41 +0200)] 
Released v2.2.16.

11 years agorawlog: Updated -i -> -I also in usage string.
Timo Sirainen [Thu, 12 Mar 2015 13:50:59 +0000 (15:50 +0200)] 
rawlog: Updated -i -> -I also in usage string.

11 years agorawlog: Changed -i to -I parameter
Timo Sirainen [Thu, 12 Mar 2015 13:50:07 +0000 (15:50 +0200)] 
rawlog: Changed -i to -I parameter
We can't use -i, because it's handled by lib-master for instance selection.

11 years agodict: cdb support should be available only to dict process.
Timo Sirainen [Thu, 12 Mar 2015 13:42:31 +0000 (15:42 +0200)] 
dict: cdb support should be available only to dict process.
Because otherwise we need to link libcdb into pretty much all Dovecot
binaries, which is part of what having the dict proxy tries to avoid.

We could implement the direct linking optionally as well, but that would
need to be done in a bit more generic way rather than just hardcoding it only
to cdb support.

11 years agodoveadm: Fixed table formatter for UTF-8 output.
Timo Sirainen [Thu, 12 Mar 2015 13:33:13 +0000 (15:33 +0200)] 
doveadm: Fixed table formatter for UTF-8 output.
Based on patch by Hardy Flor

11 years agofts: Added missing error logging/setting.
Timo Sirainen [Thu, 12 Mar 2015 10:32:54 +0000 (12:32 +0200)] 
fts: Added missing error logging/setting.

11 years agodoveadm: Added several missing error logging calls.
Timo Sirainen [Thu, 12 Mar 2015 10:32:30 +0000 (12:32 +0200)] 
doveadm: Added several missing error logging calls.

11 years agoimapc: Prefetching wasn't done for headers if there weren't also other fields.
Timo Sirainen [Wed, 11 Mar 2015 21:05:34 +0000 (23:05 +0200)] 
imapc: Prefetching wasn't done for headers if there weren't also other fields.

11 years agolib-master: Crashfix to earlier anvil query timeout change.
Timo Sirainen [Wed, 11 Mar 2015 18:38:52 +0000 (20:38 +0200)] 
lib-master: Crashfix to earlier anvil query timeout change.

11 years agoimapc: Added throttling settings to imapc_features=throttle:a:b:c
Timo Sirainen [Wed, 11 Mar 2015 18:02:20 +0000 (20:02 +0200)] 
imapc: Added throttling settings to imapc_features=throttle:a:b:c
This change could be reverted once good settings are found.

11 years agolib-imap-client: Implemented a bit more complicated [THROTTLING] behavior.
Timo Sirainen [Wed, 11 Mar 2015 17:44:48 +0000 (19:44 +0200)] 
lib-imap-client: Implemented a bit more complicated [THROTTLING] behavior.
The throttling is now more continuous and decreases more slowly.

11 years agoimapc: If imapc_features has gmail-migration, fetch X-GM-MSGID at startup and cache it.
Timo Sirainen [Wed, 11 Mar 2015 16:30:19 +0000 (18:30 +0200)] 
imapc: If imapc_features has gmail-migration, fetch X-GM-MSGID at startup and cache it.
This works only if index files haven't been disabled.

11 years agoimapc: Use GUIDs from cache.
Timo Sirainen [Wed, 11 Mar 2015 15:54:27 +0000 (17:54 +0200)] 
imapc: Use GUIDs from cache.

11 years agoimapc: Add prefetched GUIDs to cache.
Timo Sirainen [Wed, 11 Mar 2015 15:54:21 +0000 (17:54 +0200)] 
imapc: Add prefetched GUIDs to cache.

11 years agoimapc: Removed Exchange-workaround for ignoring missing BODY[] replies.
Timo Sirainen [Wed, 11 Mar 2015 15:29:12 +0000 (17:29 +0200)] 
imapc: Removed Exchange-workaround for ignoring missing BODY[] replies.
This causes data loss if server was actually returning a NO temporary error
that would have succeeded later on.

11 years agolib-master: Timeout anvil queries after 5 seconds.
Timo Sirainen [Wed, 11 Mar 2015 14:40:05 +0000 (16:40 +0200)] 
lib-master: Timeout anvil queries after 5 seconds.

11 years agolib-master: If write() to anvil fails, reconnect to it.
Timo Sirainen [Wed, 11 Mar 2015 14:39:24 +0000 (16:39 +0200)] 
lib-master: If write() to anvil fails, reconnect to it.

11 years agoimapc: Don't flush prefetch FETCH command before it has mail_prefetch_count number...
Timo Sirainen [Wed, 11 Mar 2015 12:39:52 +0000 (14:39 +0200)] 
imapc: Don't flush prefetch FETCH command before it has mail_prefetch_count number of mails.

11 years agoimapc: Make sure we don't flush prefetch FETCH command unneededly.
Timo Sirainen [Wed, 11 Mar 2015 12:39:26 +0000 (14:39 +0200)] 
imapc: Make sure we don't flush prefetch FETCH command unneededly.

11 years agodoveadm: Initialize logging.
Timo Sirainen [Wed, 11 Mar 2015 11:28:24 +0000 (13:28 +0200)] 
doveadm: Initialize logging.
Most importantly so that LOG_STDERR_TIMESTAMP can be used to prefix each
line with a timestamp.

11 years agolib-master: Get log timestamp prefix from LOG_STDERR_TIMESTAMP environment.
Timo Sirainen [Wed, 11 Mar 2015 11:27:49 +0000 (13:27 +0200)] 
lib-master: Get log timestamp prefix from LOG_STDERR_TIMESTAMP environment.

11 years agolib-fs: Optimized fs_stat() for fs-metawrap after writing a file.
Timo Sirainen [Mon, 9 Mar 2015 19:27:51 +0000 (21:27 +0200)] 
lib-fs: Optimized fs_stat() for fs-metawrap after writing a file.

11 years agofs-posix: Don't close fd after successful write.
Timo Sirainen [Mon, 9 Mar 2015 18:33:13 +0000 (20:33 +0200)] 
fs-posix: Don't close fd after successful write.
5bd6e2eee650 should have been done only on failures.

11 years agofs-posix: Implement fs_stat() with fstat() if fd is already open.
Timo Sirainen [Mon, 9 Mar 2015 18:26:50 +0000 (20:26 +0200)] 
fs-posix: Implement fs_stat() with fstat() if fd is already open.

11 years agofs-posix: Don't try to unlink() the temp file twice after failure.
Timo Sirainen [Mon, 9 Mar 2015 17:29:04 +0000 (19:29 +0200)] 
fs-posix: Don't try to unlink() the temp file twice after failure.

11 years agolib: And another module_dir_load() bugfix..
Timo Sirainen [Mon, 9 Mar 2015 15:36:11 +0000 (17:36 +0200)] 
lib: And another module_dir_load() bugfix..

11 years agolib: Small error logging improvements for module_dir_load()
Timo Sirainen [Mon, 9 Mar 2015 15:15:03 +0000 (17:15 +0200)] 
lib: Small error logging improvements for module_dir_load()

11 years agolib: Recent module_dir_load() changes broke error logging.
Timo Sirainen [Mon, 9 Mar 2015 15:14:35 +0000 (17:14 +0200)] 
lib: Recent module_dir_load() changes broke error logging.
If there was a required list of modules, the error was properly returned.
But when loading all plugins, the errors weren't logged.

11 years agoindexer-worker: Added missing error logging.
Timo Sirainen [Mon, 9 Mar 2015 14:17:08 +0000 (16:17 +0200)] 
indexer-worker: Added missing error logging.

11 years agolib-imap-client: Fixed GMail [THROTTLED] detection.
Timo Sirainen [Mon, 9 Mar 2015 13:32:23 +0000 (15:32 +0200)] 
lib-imap-client: Fixed GMail [THROTTLED] detection.
It's not a resp-text-code, but appended at the end of line.

11 years agofs-posix: Don't close file fd after its writing is finished.
Timo Sirainen [Mon, 9 Mar 2015 13:26:45 +0000 (15:26 +0200)] 
fs-posix: Don't close file fd after its writing is finished.
This allows reading the file after writing without having to re-open the
file (which in turn might fail in some situations).

11 years agofs-posix: Make sure the file isn't attempted to be opened for reading while it's...
Timo Sirainen [Mon, 9 Mar 2015 13:26:01 +0000 (15:26 +0200)] 
fs-posix: Make sure the file isn't attempted to be opened for reading while it's being written.
Also if the write failed, the read should fail.