]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
10 years agologin proxy: Always keep proxy->state_rec available.
Timo Sirainen [Thu, 3 Sep 2015 22:21:28 +0000 (01:21 +0300)] 
login proxy: Always keep proxy->state_rec available.

10 years agologin proxy: Added asserts to track that num_waiting_connections are correct.
Timo Sirainen [Thu, 3 Sep 2015 22:18:04 +0000 (01:18 +0300)] 
login proxy: Added asserts to track that num_waiting_connections are correct.

10 years agologin proxy: Small code cleanup
Timo Sirainen [Thu, 3 Sep 2015 22:10:29 +0000 (01:10 +0300)] 
login proxy: Small code cleanup

10 years agodsync: Assert-crashfix
Timo Sirainen [Thu, 3 Sep 2015 19:12:14 +0000 (22:12 +0300)] 
dsync: Assert-crashfix
Fixes:

Panic: file mail-storage.c: line 1897 (mailbox_save_alloc): assertion
failed: (!ctx->unfinished)

10 years agocassandra: Handle async queries internally - don't use sql pooling code.
Timo Sirainen [Thu, 3 Sep 2015 18:37:09 +0000 (21:37 +0300)] 
cassandra: Handle async queries internally - don't use sql pooling code.
There's no need to create multiple Cassandra instances, since the single
instance is capable of doing multiple asynchronous requests in parallel.

10 years agolib-storage: Another fix to using index_storage_mailbox_close() without an opened...
Timo Sirainen [Thu, 3 Sep 2015 17:55:18 +0000 (20:55 +0300)] 
lib-storage: Another fix to using index_storage_mailbox_close() without an opened view.
Calling mail_index_close() without mail_index_open() caused it to
assert-crash.

10 years agodict: Various reference counting and other fixes related to using freed memory.
Timo Sirainen [Thu, 3 Sep 2015 17:54:27 +0000 (20:54 +0300)] 
dict: Various reference counting and other fixes related to using freed memory.

10 years agodsync: Crashfix in certain situation.
Timo Sirainen [Thu, 3 Sep 2015 16:59:16 +0000 (19:59 +0300)] 
dsync: Crashfix in certain situation.

10 years agolib-storage: Allow index_storage_mailbox_close() to be called without an opened view.
Timo Sirainen [Thu, 3 Sep 2015 16:58:39 +0000 (19:58 +0300)] 
lib-storage: Allow index_storage_mailbox_close() to be called without an opened view.
Some failing mailbox_open() call may leave it in such a state.

10 years agodoveadm director update command added.
Timo Sirainen [Thu, 3 Sep 2015 13:04:26 +0000 (16:04 +0300)] 
doveadm director update command added.
The difference to "doveadm director add" is that if the IP doesn't already
exist, it's not added.

10 years agoRemoved SET_IN_PORT_ZERO - SET_IN_PORT now always allows zeros as well.
Timo Sirainen [Thu, 3 Sep 2015 11:10:36 +0000 (14:10 +0300)] 
Removed SET_IN_PORT_ZERO - SET_IN_PORT now always allows zeros as well.
A zero in all the port settings means that the port is disabled, which is
also the default. So it shouldn't be an error to explicitly set it to zero
in the config file.

10 years agolib: strnum - simplify hex and oct overflow code
Phil Carmody [Thu, 3 Sep 2015 11:01:57 +0000 (14:01 +0300)] 
lib: strnum - simplify hex and oct overflow code
uintmax_t is defined to have modulo-2^n semantics, and therefore the bottom
bits of (uintmax_t) are guaranteed to be all set. Therefore the checking of
the next character read is unnecessary, as it's already done in the loop
control statement itself. (This is not true about the bottom digit base 10,
which is why the check remains in the decimal case)

Signed-off-by: Phil Carmody <phil@dovecot.fi>
10 years agoman: doveadm-sync.1: Added description for option `-T secs'.
Pascal Volk [Mon, 31 Aug 2015 22:31:19 +0000 (22:31 +0000)] 
man: doveadm-sync.1: Added description for option `-T secs'.

10 years agodict-sql: Fixed iteration with blob fields.
Timo Sirainen [Wed, 2 Sep 2015 17:30:07 +0000 (20:30 +0300)] 
dict-sql: Fixed iteration with blob fields.

10 years agodict-sql: Implemented support for binary fields.
Timo Sirainen [Wed, 2 Sep 2015 16:46:36 +0000 (19:46 +0300)] 
dict-sql: Implemented support for binary fields.
Example:

map {
  pattern = shared/blobtest/$key
  table = blobtest
  value_field = value
  value_hexblob = yes

  fields {
    key = ${hexblob:key}
  }
}

Now you can access both field and value as hex data. For example:

doveadm dict set proxy::sqldict shared/blobtest/746573746b6579 7465737476616c7565

This adds "testkey" and "testvalue" to key and value fields blobs.

10 years agolib-sql: Implemented sql_escape_blob()
Timo Sirainen [Wed, 2 Sep 2015 16:43:26 +0000 (19:43 +0300)] 
lib-sql: Implemented sql_escape_blob()

10 years agocassandra: Implemented support for binary values.
Timo Sirainen [Wed, 2 Sep 2015 16:42:45 +0000 (19:42 +0300)] 
cassandra: Implemented support for binary values.

10 years agodoveadm dict iter: Added -V parameter to return only keys.
Timo Sirainen [Wed, 2 Sep 2015 16:41:23 +0000 (19:41 +0300)] 
doveadm dict iter: Added -V parameter to return only keys.

10 years agodict-sql: Fixed iteration with DICT_ITERATE_FLAG_NO_VALUE
Timo Sirainen [Wed, 2 Sep 2015 16:38:35 +0000 (19:38 +0300)] 
dict-sql: Fixed iteration with DICT_ITERATE_FLAG_NO_VALUE

10 years agodict-client: Prefix relative socket paths with base_dir.
Timo Sirainen [Wed, 2 Sep 2015 15:42:01 +0000 (18:42 +0300)] 
dict-client: Prefix relative socket paths with base_dir.

10 years agodict: Added dict-async service.
Timo Sirainen [Wed, 2 Sep 2015 14:51:23 +0000 (17:51 +0300)] 
dict: Added dict-async service.
This allows running separate dict processes with separate settings for async
and non-async backends.

10 years agodict-sql: Added support for async operations.
Timo Sirainen [Wed, 2 Sep 2015 14:37:16 +0000 (17:37 +0300)] 
dict-sql: Added support for async operations.

10 years agodict: Use the new async APIs for everything.
Timo Sirainen [Wed, 2 Sep 2015 14:36:47 +0000 (17:36 +0300)] 
dict: Use the new async APIs for everything.
If the dict backend supports async operations, this means that dict service
can now be configured with client_count>1.

10 years agolib-dict: Added async API for lookup and iteration.
Timo Sirainen [Wed, 2 Sep 2015 14:34:43 +0000 (17:34 +0300)] 
lib-dict: Added async API for lookup and iteration.

10 years agodict-sql: Code cleanup - added sql_dict_transaction_has_nonexistent()
Timo Sirainen [Wed, 2 Sep 2015 14:28:41 +0000 (17:28 +0300)] 
dict-sql: Code cleanup - added sql_dict_transaction_has_nonexistent()

10 years agodict-sql: Code cleanup - use a common sql_dict_transaction_free()
Timo Sirainen [Wed, 2 Sep 2015 14:27:09 +0000 (17:27 +0300)] 
dict-sql: Code cleanup - use a common sql_dict_transaction_free()

10 years agodict-sql: Fixed memory leak when committing/rollbacking unchanged transaction.
Timo Sirainen [Wed, 2 Sep 2015 14:26:08 +0000 (17:26 +0300)] 
dict-sql: Fixed memory leak when committing/rollbacking unchanged transaction.

10 years agodict-sql: Code cleanup - separated SQL query building function from sending it.
Timo Sirainen [Wed, 2 Sep 2015 14:23:45 +0000 (17:23 +0300)] 
dict-sql: Code cleanup - separated SQL query building function from sending it.

10 years agolib-dict: Code cleanup - give name for enum dict_protocol_cmd/reply
Timo Sirainen [Wed, 2 Sep 2015 14:21:06 +0000 (17:21 +0300)] 
lib-dict: Code cleanup - give name for enum dict_protocol_cmd/reply

10 years agolib-sql: Mark Cassandra driver as pooled.
Timo Sirainen [Wed, 2 Sep 2015 14:20:02 +0000 (17:20 +0300)] 
lib-sql: Mark Cassandra driver as pooled.
Otherwise all the asynchronous operations will assert-crash, since all the
auto-connecting code is in the sqlpool code.

10 years agolib-sql: Debugging help - Added assert before clearing sql_result.callback.
Timo Sirainen [Wed, 2 Sep 2015 14:19:08 +0000 (17:19 +0300)] 
lib-sql: Debugging help - Added assert before clearing sql_result.callback.
If result is unrefed too many times, this still allows accessing the
callback from a debugger.

10 years agolib-sql: sql_result.free() should never be reached from the query callback.
Timo Sirainen [Wed, 2 Sep 2015 14:16:41 +0000 (17:16 +0300)] 
lib-sql: sql_result.free() should never be reached from the query callback.
This code was probably added before sql_result refcounting.

10 years agolib-imap-client: If connect() fails immediately, log an error and retry the next IP.
Timo Sirainen [Tue, 1 Sep 2015 13:25:11 +0000 (16:25 +0300)] 
lib-imap-client: If connect() fails immediately, log an error and retry the next IP.
Only if all IPs fail return a full failure. This is mainly intended to skip
IPv6 addresses when IPv6 connectivity doesn't work.

10 years agoauth: Added ":protected" suffix to passdb and userdb field names.
Timo Sirainen [Mon, 31 Aug 2015 21:11:37 +0000 (00:11 +0300)] 
auth: Added ":protected" suffix to passdb and userdb field names.
This means that if the field is set only if it hasn't already been set.
Usually an earlier passdb/userdb would have set the field and this is
setting a default (e.g. per-user settings override per-domain settings).

10 years agolib-fs: Added "dict" backend, which is a wrapper to using lib-dict.
Timo Sirainen [Mon, 31 Aug 2015 20:54:24 +0000 (23:54 +0300)] 
lib-fs: Added "dict" backend, which is a wrapper to using lib-dict.

10 years agoimap-hibernate: Use sockets' st_dev and st_ino to verify that the passed fd is correct.
Timo Sirainen [Mon, 31 Aug 2015 20:46:05 +0000 (23:46 +0300)] 
imap-hibernate: Use sockets' st_dev and st_ino to verify that the passed fd is correct.

10 years agolib: Added str_to_ino()
Timo Sirainen [Mon, 31 Aug 2015 20:25:12 +0000 (23:25 +0300)] 
lib: Added str_to_ino()

10 years agoimap: NOTIFY SET STATUS didn't send HIGHESTMODSEQ in STATUS reponses when needed.
Timo Sirainen [Mon, 31 Aug 2015 20:11:17 +0000 (23:11 +0300)] 
imap: NOTIFY SET STATUS didn't send HIGHESTMODSEQ in STATUS reponses when needed.

10 years ago*-login: mail_max_userip_connections=0 was broken by f8ab4f979e92
Timo Sirainen [Mon, 31 Aug 2015 19:45:17 +0000 (22:45 +0300)] 
*-login: mail_max_userip_connections=0 was broken by f8ab4f979e92

10 years agocassandra: Changed default consistency levels to local-quorum.
Timo Sirainen [Mon, 31 Aug 2015 19:25:57 +0000 (22:25 +0300)] 
cassandra: Changed default consistency levels to local-quorum.
It is a much safer default than "one".

10 years agocassandra: Split consistency setting to read_consistency and write_consistency.
Timo Sirainen [Mon, 31 Aug 2015 18:31:46 +0000 (21:31 +0300)] 
cassandra: Split consistency setting to read_consistency and write_consistency.

10 years agolib-fts: Add missing "j'" to French contractions.
Teemu Huovila [Mon, 31 Aug 2015 17:23:32 +0000 (20:23 +0300)] 
lib-fts: Add missing "j'" to French contractions.

10 years agoEarlier in_port_t fix was ineffective due to one small detail.
Stephan Bosch [Mon, 31 Aug 2015 11:24:54 +0000 (14:24 +0300)] 
Earlier in_port_t fix was ineffective due to one small detail.
The new SET_IN_PORT_ZERO did not actually use the new net_str2port_zero() function.

10 years agolib-fts: Add UTF-8 unit test for lowercase filter.
Teemu Huovila [Mon, 31 Aug 2015 10:33:26 +0000 (13:33 +0300)] 
lib-fts: Add UTF-8 unit test for lowercase filter.

10 years agolib-fts: Add prefixing contraction filter.
Teemu Huovila [Mon, 31 Aug 2015 10:33:26 +0000 (13:33 +0300)] 
lib-fts: Add prefixing contraction filter.
Filters away prefixing contracted words, e.g. "l'homme" -> "homme".
Tokens to be filtered must be lower case. Only supports French in
this initial version.

10 years agoaggregator: Allow replicator_port=0 setting (fix to previous in_port_t changes)
Timo Sirainen [Sat, 29 Aug 2015 22:00:30 +0000 (01:00 +0300)] 
aggregator: Allow replicator_port=0 setting (fix to previous in_port_t changes)

10 years agoEarlier in_port_t fix created problems with service listener configuration.
Stephan Bosch [Sat, 29 Aug 2015 21:46:32 +0000 (00:46 +0300)] 
Earlier in_port_t fix created problems with service listener configuration.
Listeners are disabled with port=0, which was not allowed anymore.

10 years agolib-master: Compiler warning fix
Timo Sirainen [Sat, 29 Aug 2015 21:42:16 +0000 (00:42 +0300)] 
lib-master: Compiler warning fix

10 years agohttp-client: Added support for using an HTTP proxy running on a unix socket.
Stephan Bosch [Sat, 25 Apr 2015 09:42:06 +0000 (11:42 +0200)] 
http-client: Added support for using an HTTP proxy running on a unix socket.

10 years agoRemoved all invocations of strtoll() and friends.
Stephan Bosch [Sat, 29 Aug 2015 11:42:49 +0000 (14:42 +0300)] 
Removed all invocations of strtoll() and friends.

10 years agostrnum: Implemented many more numeric string parsing functions.
Stephan Bosch [Sat, 29 Aug 2015 11:31:51 +0000 (14:31 +0300)] 
strnum: Implemented many more numeric string parsing functions.
Created macros for most of the implementation to avoid further code
duplication.

10 years agoRemoved all invocations of atoi().
Stephan Bosch [Sat, 29 Aug 2015 11:30:37 +0000 (14:30 +0300)] 
Removed all invocations of atoi().

10 years agoChanged type of internet port values to in_port_t everywhere.
Stephan Bosch [Sat, 29 Aug 2015 11:26:30 +0000 (14:26 +0300)] 
Changed type of internet port values to in_port_t everywhere.
Created special SET_IN_PORT setting type for internet port values.
Created net_str2port() for parsing internet port values.
Removed several atoi() invocations in the process.

10 years agoioloop-epoll: Fix fatal epoll_wait() error occurring when there are only ios with...
Stephan Bosch [Sat, 29 Aug 2015 11:21:27 +0000 (14:21 +0300)] 
ioloop-epoll: Fix fatal epoll_wait() error occurring when there are only ios with no fd.

10 years agolib-http: client: Added proper handling of 408 response status.
Stephan Bosch [Sat, 29 Aug 2015 11:20:57 +0000 (14:20 +0300)] 
lib-http: client: Added proper handling of 408 response status.
This is treated as a special server connection close event, rather than a
response to the last issued request.

10 years agolib-storage: Added %{userdb:*} expansion to mail settings.
Timo Sirainen [Fri, 28 Aug 2015 13:44:34 +0000 (15:44 +0200)] 
lib-storage: Added %{userdb:*} expansion to mail settings.

10 years agolib-settings: Added settings_var_expand_with_funcs()
Timo Sirainen [Fri, 28 Aug 2015 13:43:45 +0000 (15:43 +0200)] 
lib-settings: Added settings_var_expand_with_funcs()

10 years agolib: If var_expand_with_funcs() function returns NULL, it should be treated the same...
Timo Sirainen [Fri, 28 Aug 2015 13:07:35 +0000 (15:07 +0200)] 
lib: If var_expand_with_funcs() function returns NULL, it should be treated the same as ""
The previous behavior was to return "%{foo:bar}" as "foo:bar}".

10 years ago*-login: Added %{passdb:*} fields to login_log_format_elements
Timo Sirainen [Fri, 28 Aug 2015 12:43:35 +0000 (14:43 +0200)] 
*-login: Added %{passdb:*} fields to login_log_format_elements

10 years agodoveadm fs delete: Support giving multiple filename parameters.
Timo Sirainen [Thu, 27 Aug 2015 16:39:58 +0000 (18:39 +0200)] 
doveadm fs delete: Support giving multiple filename parameters.

10 years agodsync: Include mailboxes' full path in debug messages.
Timo Sirainen [Thu, 27 Aug 2015 15:38:12 +0000 (17:38 +0200)] 
dsync: Include mailboxes' full path in debug messages.

10 years agoimapc: Don't crash with mailbox_list_index=yes
Timo Sirainen [Thu, 27 Aug 2015 15:35:17 +0000 (17:35 +0200)] 
imapc: Don't crash with mailbox_list_index=yes

10 years agolib: Try fixing ec6e672a6e32 (ioloop timeout fixing)
Timo Sirainen [Thu, 27 Aug 2015 15:34:52 +0000 (17:34 +0200)] 
lib: Try fixing ec6e672a6e32 (ioloop timeout fixing)
Previous code was broken at least when moving a timeout between ioloops.
This is now tested and works.

10 years agodsync: Fixed running with tcp/tcps destination.
Timo Sirainen [Thu, 27 Aug 2015 13:46:23 +0000 (15:46 +0200)] 
dsync: Fixed running with tcp/tcps destination.

10 years agodsync: Fixed another crash with recent end-of-list changes.
Timo Sirainen [Thu, 27 Aug 2015 13:28:21 +0000 (15:28 +0200)] 
dsync: Fixed another crash with recent end-of-list changes.

10 years agoReverted ec6e672a6e32 for now due to some bugs.
Timo Sirainen [Thu, 27 Aug 2015 13:07:35 +0000 (15:07 +0200)] 
Reverted ec6e672a6e32 for now due to some bugs.

10 years agodsync: Added -D parameter to disable mailbox renaming.
Timo Sirainen [Thu, 27 Aug 2015 11:38:44 +0000 (13:38 +0200)] 
dsync: Added -D parameter to disable mailbox renaming.
The renaming logic is annoyingly complex and there are some bugs left in it.
With this parameter renames are never even attempted, but instead a rename
would be done (slowly) with mailbox delete + create + fill.

Although with imapc protocol mailbox renames are rarely detected anyway.

10 years agodsync: Fixed again waiting for remote process wait to die.
Timo Sirainen [Thu, 27 Aug 2015 10:33:47 +0000 (12:33 +0200)] 
dsync: Fixed again waiting for remote process wait to die.
We can't rely on stderr getting closed. It doesn't happen if the remote
process crashes. Now waiting for SIGCHLD in ioloop should solve this and
still log all the error messages at exit.

10 years agoioloop: Delay actual start of a new normal timeout until the next io_loop_run() cycle.
Stephan Bosch [Thu, 27 Aug 2015 08:39:26 +0000 (10:39 +0200)] 
ioloop: Delay actual start of a new normal timeout until the next io_loop_run() cycle.
This makes sure that timeouts will not expire before they get a chance to
run.

10 years agoimapc: Fixed handling escape-char
Timo Sirainen [Wed, 26 Aug 2015 15:00:55 +0000 (17:00 +0200)] 
imapc: Fixed handling escape-char
The current code should now handle all kinds of mailbox names correctly, including:

~/foo
%7e/bar

10 years agolib-storage: mailbox_list_[un]escape_name() can now be called globally
Timo Sirainen [Wed, 26 Aug 2015 14:59:47 +0000 (16:59 +0200)] 
lib-storage: mailbox_list_[un]escape_name() can now be called globally

10 years agodsync: Earlier end-of-list change broke single-process dsync.
Timo Sirainen [Wed, 26 Aug 2015 14:59:07 +0000 (16:59 +0200)] 
dsync: Earlier end-of-list change broke single-process dsync.

10 years agodsync: Make sure we print all the stderr output from remote processes at deinit.
Timo Sirainen [Wed, 26 Aug 2015 13:44:45 +0000 (15:44 +0200)] 
dsync: Make sure we print all the stderr output from remote processes at deinit.
Earlier the final messages may have been lost, especially if debug logging
was enabled.

10 years agodsync: Added -T parameter to specify the I/O stall timeout.
Timo Sirainen [Wed, 26 Aug 2015 13:19:27 +0000 (15:19 +0200)] 
dsync: Added -T parameter to specify the I/O stall timeout.

10 years agodsync: If mailbox export deinit failed, the failure state may not have reached mailbo...
Timo Sirainen [Wed, 26 Aug 2015 13:05:06 +0000 (15:05 +0200)] 
dsync: If mailbox export deinit failed, the failure state may not have reached mailbox importer.
The "end of list" was sent to the importer side dsync before export noticed
the failure. This could have caused import to complain about missing mails.

10 years agodsync: Added assert to make sure end-of-list isn't sent when brain has already failed.
Timo Sirainen [Wed, 26 Aug 2015 11:38:52 +0000 (13:38 +0200)] 
dsync: Added assert to make sure end-of-list isn't sent when brain has already failed.

10 years agoimap: If mailbox state couldn't be exported for hibernation, log also the mailbox...
Timo Sirainen [Tue, 25 Aug 2015 20:20:49 +0000 (23:20 +0300)] 
imap: If mailbox state couldn't be exported for hibernation, log also the mailbox name.

10 years agologin_log_format_elements: Added %{listener} variable to expand to the listener socke...
Timo Sirainen [Tue, 25 Aug 2015 20:12:51 +0000 (23:12 +0300)] 
login_log_format_elements: Added %{listener} variable to expand to the listener socket name.

10 years agoexample-config: Updated mail_attribute_dict comment
Timo Sirainen [Tue, 25 Aug 2015 19:39:16 +0000 (22:39 +0300)] 
example-config: Updated mail_attribute_dict comment

10 years agoimap: Fail silently if selected mailbox format doesn't support GUIDs.
Timo Sirainen [Tue, 25 Aug 2015 15:32:23 +0000 (18:32 +0300)] 
imap: Fail silently if selected mailbox format doesn't support GUIDs.

10 years agoimap: Fixed hibernation to work with non-TCP connections.
Timo Sirainen [Tue, 25 Aug 2015 15:27:44 +0000 (18:27 +0300)] 
imap: Fixed hibernation to work with non-TCP connections.
Mainly meaning UNIX socket connections from login processes, which are
proxying TLS connections.

10 years agolib-http: Added more debug logging.
Timo Sirainen [Tue, 25 Aug 2015 14:03:19 +0000 (17:03 +0300)] 
lib-http: Added more debug logging.
Patch by Stephan Bosch.

10 years agolib-imap-client: Allow reconnecting to IMAP server even if there had been no idle...
Timo Sirainen [Tue, 25 Aug 2015 13:57:57 +0000 (16:57 +0300)] 
lib-imap-client: Allow reconnecting to IMAP server even if there had been no idle moments.

10 years agolib-imap-client: Removed unused pending_box_command_count
Timo Sirainen [Tue, 25 Aug 2015 13:55:00 +0000 (16:55 +0300)] 
lib-imap-client: Removed unused pending_box_command_count

10 years agoimapc: If FETCH commands fail, have imapc_mail_fetch() always return failure.
Timo Sirainen [Tue, 25 Aug 2015 13:50:17 +0000 (16:50 +0300)] 
imapc: If FETCH commands fail, have imapc_mail_fetch() always return failure.
Earlier it may have returned success and imapc would later complain about a
missing FETCH field.

10 years agolib: Fixed io_loop_extract_notify_fd() to compile with kqueue.
Timo Sirainen [Mon, 24 Aug 2015 22:07:04 +0000 (01:07 +0300)] 
lib: Fixed io_loop_extract_notify_fd() to compile with kqueue.

10 years agolib-master: struct master_service_connection.name must never be NULL, use "" instead.
Timo Sirainen [Mon, 24 Aug 2015 15:06:42 +0000 (18:06 +0300)] 
lib-master: struct master_service_connection.name must never be NULL, use "" instead.
Fixes crash at least in auth process when there are inet_listeners without
names.

10 years agodsync: Compiler warning fix to previous change.
Timo Sirainen [Mon, 24 Aug 2015 12:33:36 +0000 (15:33 +0300)] 
dsync: Compiler warning fix to previous change.

10 years agodsync: Fixed memory leaks when importing attributes whose values were in istreams.
Timo Sirainen [Mon, 24 Aug 2015 11:59:52 +0000 (14:59 +0300)] 
dsync: Fixed memory leaks when importing attributes whose values were in istreams.

10 years agodoveadm backup: Fixed assert-crash due to duplicate 'R' in getopt args.
Timo Sirainen [Mon, 24 Aug 2015 11:40:11 +0000 (14:40 +0300)] 
doveadm backup: Fixed assert-crash due to duplicate 'R' in getopt args.

10 years agoimap: Compiler warning fix to imap-hibernate commit
Timo Sirainen [Mon, 24 Aug 2015 11:32:52 +0000 (14:32 +0300)] 
imap: Compiler warning fix to imap-hibernate commit

10 years agoAdded imap-hibernate process for gathering IDLEing imap processes.
Timo Sirainen [Mon, 24 Aug 2015 11:13:02 +0000 (14:13 +0300)] 
Added imap-hibernate process for gathering IDLEing imap processes.
imap_hibernate_timeout setting controls how quickly the connection is moved
from imap process to imap-hibernate process.

Some IMAP extensions like NOTIFY, SEARCH=CONTEXT and COMPRESS aren't
supported yet.

There's also a new X-STATE command, which can be used to export the current
IMAP connection state to a string and later on imported to get back to the
original state (a quick resync feature for IMAP clients). However, this
command is disabled for now due to the current code being unoptimized for
untrusted input.

10 years agolib-storage: Added mailbox_watch_extract_notify_fd()
Timo Sirainen [Mon, 24 Aug 2015 11:14:59 +0000 (14:14 +0300)] 
lib-storage: Added mailbox_watch_extract_notify_fd()

10 years agolib: Added io_loop_extract_notify_fd()
Timo Sirainen [Mon, 24 Aug 2015 11:02:52 +0000 (14:02 +0300)] 
lib: Added io_loop_extract_notify_fd()

10 years agolib-storage: Added mailbox_recent_flags_set_uid_forced()
Timo Sirainen [Mon, 24 Aug 2015 11:01:04 +0000 (14:01 +0300)] 
lib-storage: Added mailbox_recent_flags_set_uid_forced()
This allows adding recent flags to mails whose UID is lower than the
existing recent mails.

10 years agolib-storage: mail_storage_service_user_free() needs to update log prefix if current...
Timo Sirainen [Mon, 24 Aug 2015 10:57:03 +0000 (13:57 +0300)] 
lib-storage: mail_storage_service_user_free() needs to update log prefix if current user is freed.

10 years agolib-storage: mail_user_var_expand_table() may not have returned %{auth_username}...
Timo Sirainen [Mon, 24 Aug 2015 09:56:07 +0000 (12:56 +0300)] 
lib-storage: mail_user_var_expand_table() may not have returned %{auth_username} correctly

10 years agoUse io_stream_get_disconnect_reason() instead of duplicating its code all over the...
Timo Sirainen [Mon, 24 Aug 2015 09:14:40 +0000 (12:14 +0300)] 
Use io_stream_get_disconnect_reason() instead of duplicating its code all over the place.

10 years agolib: Added io_stream_get_disconnect_reason() to iostream.h
Timo Sirainen [Mon, 24 Aug 2015 09:10:08 +0000 (12:10 +0300)] 
lib: Added io_stream_get_disconnect_reason() to iostream.h

10 years agolib: connection_disconnect_reason() now returns the full iostream error string.
Timo Sirainen [Mon, 24 Aug 2015 09:04:55 +0000 (12:04 +0300)] 
lib: connection_disconnect_reason() now returns the full iostream error string.